API Specification Sheet#
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 |
|
Sandbox |
|
Authentication#
All API requests require Bearer token authentication using OAuth 2.0 Client Credentials flow. See Authentication for full details.
Required Headers:
Header |
Value |
|---|---|
|
|
|
|
Response Codes#
Code |
Status |
Description |
|---|---|---|
|
OK |
Request succeeded |
|
Bad Request |
Invalid parameters or malformed request |
|
Unauthorized |
Invalid or expired access token |
|
Forbidden |
Insufficient permissions for this resource |
|
Not Found |
Resource does not exist |
|
Conflict |
Duplicate request (idempotencyId already used) |
|
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 |
|---|---|
|
|
|
|
|
New Request Parameters#
Endpoint |
New Parameter |
Description |
|---|---|---|
|
Unique identifier to prevent duplicate request submissions |
|
|
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 |
Retrieve holding certificates for a specified shareholder. |
Yes |
Dividend#
Method |
Path |
Description |
Auth |
|---|---|---|---|
GET |
Retrieve a list of dividends for an issuer. |
Yes |
|
POST |
Generate a detailed report for a specified dividend. |
Yes |
Issuer#
Method |
Path |
Description |
Auth |
|---|---|---|---|
GET |
Retrieve security types associated with an issuer. |
Yes |
|
GET |
Retrieve active certificate definitions for an issuer. |
Yes |
|
GET |
Retrieve a list of issuers using transfer agents. |
Yes |
|
GET |
Retrieve balance information for a specified issuer. |
Yes |
|
GET |
Retrieve shareholder cap table for a specified issuer. |
Yes |
|
GET |
Retrieve shareholder details for a specified issuer. |
Yes |
Proxy#
Method |
Path |
Description |
Auth |
|---|---|---|---|
GET |
Retrieve a list of proxies for an issuer. |
Yes |
|
POST |
Generate details for a specific proxy. |
Yes |
Report#
Method |
Path |
Description |
Auth |
|---|---|---|---|
GET |
Retrieve TA2 report data. |
Yes |
|
GET |
Retrieve ownership percentage details. |
Yes |
|
GET |
Retrieve diluted ownership percentage for an issuer. |
Yes |
|
POST |
Generate a diluted percentage report. |
Yes |
|
POST |
Generate a detailed shareholder list report. |
Yes |
|
POST |
Generate a holdings statement for shareholders. |
Yes |
|
POST |
Generate a DRS (Direct Registration System) statement. |
Yes |
|
POST |
Generate a rejection list report. |
Yes |
|
POST |
Generate a report of issuer contacts. |
Yes |
|
POST |
Generate mailing labels for an issuer. |
Yes |
|
POST |
Generate an issuer balance report by security type. |
Yes |
|
POST |
Generate an ownership percentage report. |
Yes |
|
POST |
Generate a transaction list for a specified date range. |
Yes |
|
POST |
Generate a control book report. |
Yes |
|
GET |
/api/v1/Report/DownloadReport/{fileCode}/{fileName}/{accessCode} |
Download a previously generated report. |
Yes |
Transaction#
Method |
Path |
Description |
Auth |
|---|---|---|---|
POST |
Generate transaction details for completed transactions. |
Yes |
|
POST |
Create a new share issuance transaction. |
Yes |
|
GET |
Retrieve TA status transaction information. |
Yes |
|
POST |
Generate transaction records. |
Yes |