API Specification Sheet#

Download PDF

This document is a summary of the API endpoints based on the OpenAPI specification.

Full Documentation: https://docs.api.tol-solo.com


Quick Reference#

Base URLs#

Environment

URL

Production

https://solo.transferonline.com

Sandbox

https://sandbox.solo.transferonline.com

Authentication#

All API requests require Bearer token authentication using OAuth 2.0 Client Credentials flow. See Authentication for full details.

Required Headers:

Header

Value

Authorization

Bearer YOUR_ACCESS_TOKEN

Content-Type

application/json

Response Codes#

Code

Status

Description

200

OK

Request succeeded

400

Bad Request

Invalid parameters or malformed request

401

Unauthorized

Invalid or expired access token

403

Forbidden

Insufficient permissions for this resource

404

Not Found

Resource does not exist

409

Conflict

Duplicate request (idempotencyId already used)

500

Internal Server Error

Server-side error


What’s New (2025-12-12)#

New Response Fields#

The following endpoints now return additional fields:

Endpoint

New Fields

GET /api/v1/Issuer/shareholder/details

shareholderTypeEnum, customerCertificateId, controlCertificateId

GET /api/v1/Issuer/shareholder/cap/table

shareholderTypeEnum

GET /api/v1/Shareholder/Details

typeEnum

New Request Parameters#

Endpoint

New Parameter

Description

POST /api/v1/Shareholder/CreateOrUpdate

idempotencyId

Unique identifier to prevent duplicate request submissions

POST /api/v1/Transaction/CreateNewIssuance

idempotencyId

Unique identifier to prevent duplicate request submissions

New JSON Response: Transaction List#

POST /api/v1/Report/Generate/Transaction/List now supports a new ReturnJSON parameter. When set to true, the endpoint returns full transaction data as JSON instead of a PDF download URL.

New Request Parameter: ReturnJSON (boolean) - When true, overrides IsPDF and returns transaction data as JSON.

JSON Response Structure:

{
  "totalTransactionRecords": 0,
  "transactions": [
    {
      "controlTransactionId": 1242412,
      "TransactionNumber": 1242,
      "InvoiceNumber": 232,
      "Agent": "Name of person submitted transaction",
      "processDate": "2025-02-02",
      "effectiveDate": "2025-01-02",
      "issuerName": "Demo Company",
      "customerIssuerId": 2322,
      "controlIssuerId": 23421,
      "type": "New Issuance",
      "typeCode": "N",
      "canceledCertificates": [
        {
          "shareholderName": "John Doe",
          "shareholderType": "Individual Retirement Account",
          "shareholderTypeEnum": "IRA",
          "shareholderCustomerId": "435345E",
          "shareholderControlId": 14254124,
          "primaryAddress": {
            "address1": "23 Demo Street",
            "address2": "",
            "city": "Portland",
            "state": "OR",
            "postalCode": "97214",
            "country2Code": "US",
            "email": "johndoe@email.com",
            "phone": "(333)333-3333",
            "secondaryPhone": "",
            "country": "United States"
          },
          "securityTypeId": 1,
          "securityType": "Common",
          "issuedDate": "2025-01-02",
          "controlCertificateId": 1234687,
          "customerCertificateId": null,
          "certificateNumber": "Book-2342",
          "restriction": "No Restriction",
          "shares": 100,
          "value": 200
        }
      ],
      "issuedCertificates": [
        {
          "shareholderName": "Jane Doe & Lisa Doe",
          "shareholderType": "Joint Tenant",
          "shareholderTypeEnum": "JointTenant",
          "shareholderCustomerId": "326522E",
          "shareholderControlId": 235262,
          "primaryAddress": {
            "address1": "467 Start Demo Street",
            "address2": "",
            "city": "Portland",
            "state": "OR",
            "postalCode": "97214",
            "country2Code": "US",
            "email": "janedoe@email.com",
            "phone": "(333)444-3333",
            "secondaryPhone": "",
            "country": "United States"
          },
          "securityTypeId": 1,
          "securityType": "Common",
          "issuedDate": "2025-01-02",
          "controlCertificateId": 465644,
          "customerCertificateId": null,
          "certificateNumber": "Book-2346",
          "restriction": "No Restriction",
          "shares": 100,
          "value": 200
        }
      ]
    }
  ]
}

Certificate#

Method

Path

Description

Auth

GET

/api/v1/Certificate/GetHoldingCertificates

Retrieve holding certificates for a specified shareholder.

Yes

Dividend#

Method

Path

Description

Auth

GET

/api/v1/Dividend/GetList

Retrieve a list of dividends for an issuer.

Yes

POST

/api/v1/Dividend/GenerateDividendDetails

Generate a detailed report for a specified dividend.

Yes

Issuer#

Method

Path

Description

Auth

GET

/api/v1/Issuer/GetIssuerSecurityTypes

Retrieve security types associated with an issuer.

Yes

GET

/api/v1/Issuer/GetIssuerActiveCertificateDefinitions

Retrieve active certificate definitions for an issuer.

Yes

GET

/api/v1/Issuer/GetTransferAgentIssuers

Retrieve a list of issuers using transfer agents.

Yes

GET

/api/v1/Issuer/GetIssuerBalance

Retrieve balance information for a specified issuer.

Yes

GET

/api/v1/Issuer/shareholder/cap/table

Retrieve shareholder cap table for a specified issuer.

Yes

GET

/api/v1/Issuer/shareholder/details

Retrieve shareholder details for a specified issuer.

Yes

Proxy#

Method

Path

Description

Auth

GET

/api/v1/Proxy/GetList

Retrieve a list of proxies for an issuer.

Yes

POST

/api/v1/Proxy/GenerateProxyDetails

Generate details for a specific proxy.

Yes

Report#

Method

Path

Description

Auth

GET

/api/v1/Report/GetTA2Report

Retrieve TA2 report data.

Yes

GET

/api/v1/Report/GetOwnershipPercentage

Retrieve ownership percentage details.

Yes

GET

/api/v1/Report/GetDilutedPercentage

Retrieve diluted ownership percentage for an issuer.

Yes

POST

/api/v1/Report/GenerateDilutedPercentage

Generate a diluted percentage report.

Yes

POST

/api/v1/Report/GenerateShareholderList

Generate a detailed shareholder list report.

Yes

POST

/api/v1/Report/GenerateHoldingsStatement

Generate a holdings statement for shareholders.

Yes

POST

/api/v1/Report/GenerateDRSStatement

Generate a DRS (Direct Registration System) statement.

Yes

POST

/api/v1/Report/GenerateRejectionList

Generate a rejection list report.

Yes

POST

/api/v1/Report/GenerateIssuerContacts

Generate a report of issuer contacts.

Yes

POST

/api/v1/Report/GenerateMailingLabels

Generate mailing labels for an issuer.

Yes

POST

/api/v1/Report/Generate/Issuer/Balance

Generate an issuer balance report by security type.

Yes

POST

/api/v1/Report/Generate/Ownership/Percentage

Generate an ownership percentage report.

Yes

POST

/api/v1/Report/Generate/Transaction/List

Generate a transaction list for a specified date range.

Yes

POST

/api/v1/Report/Generate/Control/Book

Generate a control book report.

Yes

GET

/api/v1/Report/DownloadReport/{fileCode}/{fileName}/{accessCode}

Download a previously generated report.

Yes

Shareholder#

Method

Path

Description

Auth

POST

/api/v1/Shareholder/CreateOrUpdate

Create a new shareholder or update an existing record.

Yes

GET

/api/v1/Shareholder/Details

Retrieve detailed information for a single shareholder.

Yes

GET

/api/v1/Shareholder/GetHoldingSummary

Retrieve a summary of holdings for a shareholder.

Yes

GET

/api/v1/Shareholder/Details/List

Retrieve a list of shareholder details.

Yes

Transaction#

Method

Path

Description

Auth

POST

/api/v1/Transaction/GenerateTransactionDetails

Generate transaction details for completed transactions.

Yes

POST

/api/v1/Transaction/CreateNewIssuance

Create a new share issuance transaction.

Yes

GET

/api/v1/Transaction/GetTAStatusTransactions

Retrieve TA status transaction information.

Yes

POST

/api/v1/Transaction/GenerateTransactions

Generate transaction records.

Yes