Correspondent API Overview

In financial services, a correspondent refers to an entity that provides services or represents customers in specified functions. For instance, a correspondent broker-dealer may process transactions, manage accounts, or perform other financial tasks on behalf of its customers.

As detailed here, the correspondent API allows you to retrieve details related to the correspondent you manage. Specifically, this API is designed to retrieve comprehensive information about your correspondent based on its unique identifier. Such information includes:

  • The correspondent's basic information.
  • Corporate contact details.
  • Support contact details.
  • Various permissions related to the services you're entitled to access.

POST/v1/correspondents

Create Correspondent

Create a new correspondent associated with a firm.

Request Body

ParameterDescriptionTypeInput
name
Name of the correspondentStringRequired
website
Website of the correspondentStringRequired
portfolioType
Portfolio type of the correspondent. Possible values are MARGIN and CASH
StringRequired
address
Address of the correspondentObjectRequired
address.line1
Address line 1StringRequired
address.line2
Address line 2StringOptional
address.city
CityStringRequired
address.state
StateStringRequired
address.postalCode
Postal codeStringRequired
supportContact
Support contact detailsObjectRequired
supportContact.firstName
First name of the support contactStringRequired
supportContact.lastName
Last name of the support contactStringRequired
supportContact.email
Email of the support contactStringRequired
supportContact.phoneNumber
Phone number of the support contactStringRequired
corporateContact
Corporate contact detailsObjectRequired
corporateContact.firstName
First name of the corporate contactStringRequired
corporateContact.lastName
Last name of the corporate contactStringRequired
corporateContact.email
Email of the corporate contactStringRequired
corporateContact.phoneNumber
Phone number of the corporate contactStringRequired
permissions
Permissions of the correspondentObjectRequired
permissions.canCreateKeys
Whether the correspondent can create keysBooleanRequired
permissions.sandboxAccess
Whether the correspondent has sandbox accessBooleanRequired
permissions.canRetrieveToken
Whether the correspondent can retrieve tokenBooleanRequired
permissions.productionAccess
Whether the correspondent has production accessBooleanRequired

Success Response

JSON
201 Created
{
    "status": "CREATED",
    "website": "https://www.uranusgroup.com",
    "portfolioType": "CASH",
    "permissions": {
    "canCreateKeys": true,
    "productionAccess": false,
    "canRetrieveToken": true,
    "sandboxAccess": true
},
    "address": {
    "line1": "66 Highland Rd",
    "city": "Fairview",
    "state": "MA",
    "postalCode": "40339",
    "line2": null
},
    "corporateContact": {
    "firstName": "John",
    "lastName": "Anderson",
    "phoneNumber": "+10027957886",
    "email": "r1FIWvxD@gmail.com",
    "middleName": null
},
    "supportContact": {
    "firstName": "Tom",
    "lastName": "Wilson",
    "phoneNumber": "+11991858279",
    "email": "cN118uhW@domain.com",
    "middleName": null
},
    "name": "Uranus Group LLC",
    "firmId": "7f7293e3-5a7c-44b2-a83d-188c7aea0ba7",
    "createdAt": "2024-04-14T03:31:30.867Z",
    "updatedAt": "2024-04-14T03:31:30.867Z",
    "correspondentId": "c1c741db-3188-4ef6-92aa-20ad928df739"
}

GET/v1/correspondents/all?page={page}&limit={limit}

Get All Correspondents

Fetch all correspondents associated with a firm.

Query Parameters

ParameterDescriptionTypeInput
page
Page number, either 1 or greater. Default is 1. If more pages are available, the response will include a boolean flag hasMore set to true. If the page number is greater than the total number of pages, the response will be empty.
IntegerRequired
limit
Number of items per page. Either 5, 10, 20, 50, or 100. Default is 50.IntegerRequired

Success Response

JSON
200 OK
{
  "correspondents": [
    {
      "createdAt": "2024-04-04T16:59:55.025Z",
      "updatedAt": "2024-04-04T16:59:55.025Z",
      "correspondentId": "24d8f65e-0850-48c8-a839-168780e2fcd1",
      "portfolioType": "MARGIN",
      "name": "Orion Finance LLC",
      "website": "https://www.orion.com",
      "status": "CREATED",
      "address": {
        "postalCode": "16244",
        "city": "Arlington",
        "line1": "434 Pine St",
        "line2": null,
        "state": "PA"
      },
      "supportContact": {
        "email": "53FWuRsY@hotmail.com",
        "phoneNumber": "+18917600351",
        "lastName": "Johnson",
        "firstName": "John",
        "middleName": null
      },
      "corporateContact": {
        "email": "qNwyXePr@yahoo.com",
        "phoneNumber": "+18298197798",
        "lastName": "Smith",
        "firstName": "Alex",
        "middleName": null
      },
      "permissions": {
        "canCreateKeys": false,
        "sandboxAccess": true,
        "canRetrieveToken": true,
        "productionAccess": true
      }
    }
  ],
    "meta": {
    "page": 1,
    "limit": 50,
    "total": 1,
    "hasMore": false
}
}

GET/v1/correspondents/{correspondentId}

Get Correspondent

Use this endpoint to retrieve details of a specific correspondent.

Path Parameters

ParameterDescriptionTypeInput
correspondentId
Unique ID for the correspondentUUIDRequired

Success Response

JSON
200 OK
{
  "createdAt": "2023-08-27T18:17:35.965Z",
  "updatedAt": "2023-08-27T18:17:35.965Z",
  "correspondentId": "4d811872-9304-48f9-9f4d-de589730c7af",
  "name": "Gravity Clearing LLC",
  "website": "https://gravity.markets",
  "portfolioType": "MARGIN",
  "status": "CREATED",
  "address": {
    "postalCode": "56278",
    "city": "Franklin",
    "line1": "848 Oak St",
    "line2": "123 Main street",
    "state": "NJ"
  },
  "supportContact": {
    "email": "NElXpoZ1@example.com",
    "phoneNumber": "+14724889409",
    "lastName": "Miller",
    "firstName": "Chris",
    "middleName": "James"
  },
  "corporateContact": {
    "email": "namemail@gmail.com",
    "phoneNumber": "+16872954664",
    "lastName": "Harris",
    "firstName": "Alex",
    "middleName": "Jack"
  },
  "permissions": {
    "canCreateKeys": true,
    "sandboxAccess": false,
    "canRetrieveToken": true,
    "productionAccess": false
  },
  "apiKeys": [
    {
      "createdAt": "2024-03-10T06:51:58.927Z",
      "updatedAt": "2024-03-10T06:51:58.927Z",
      "hashedKey": "fc78eadc5cbaa095f68bf60f46862c1cb94d1111c049e25f93366e191f5e1c5b",
      "label": "apiKeysName",
      "issuer": "CORRESPONDENT",
      "key": "4ec7...990e"
    }
  ]
}

PUT/v1/correspondents/{correspondentId}

Update Correspondent

Update an existing correspondent associated with a firm.

Path Parameters

ParameterDescriptionTypeInput
correspondentId
Unique ID for the correspondentUUIDRequired

Request Body

Each field is optional. Only the fields that need to be updated should be included in the request body.

ParameterDescriptionTypeInput
name
Name of the correspondentStringOptional
website
Website of the correspondentStringOptional
portfolioType
Portfolio type of the correspondent. Possible values are MARGIN and CASH
StringOptional
address
Address of the correspondentObjectOptional
address.line1
Address line 1StringOptional
address.line2
Address line 2StringOptional
address.city
CityStringOptional
address.state
StateStringOptional
address.postalCode
Postal codeStringOptional
supportContact
Support contact detailsObjectOptional
supportContact.firstName
First name of the support contactStringOptional
supportContact.lastName
Last name of the support contactStringOptional
supportContact.email
Email of the support contactStringOptional
supportContact.phoneNumber
Phone number of the support contactStringOptional
corporateContact
Corporate contact detailsObjectOptional
corporateContact.firstName
First name of the corporate contactStringOptional
corporateContact.lastName
Last name of the corporate contactStringOptional
corporateContact.email
Email of the corporate contactStringOptional
corporateContact.phoneNumber
Phone number of the corporate contactStringOptional
permissions
Permissions of the correspondentObjectOptional
permissions.canCreateKeys
Whether the correspondent can create keysBooleanOptional
permissions.sandboxAccess
Whether the correspondent has sandbox accessBooleanOptional
permissions.canRetrieveToken
Whether the correspondent can retrieve tokenBooleanOptional
permissions.productionAccess
Whether the correspondent has production accessBooleanOptional

Success Response

JSON
200 OK
{
    "createdAt": "2024-04-04T16:59:55.025Z",
    "updatedAt": "2024-04-14T03:51:56.574Z",
    "correspondentId": "24d8f65e-0850-48c8-a839-168780e2fcd1",
    "portfolioType": "MARGIN",
    "name": "Orion Finance LLC",
    "website": "https://www.orion.com",
    "status": "UPDATED",
    "address": {
        "line1": "434 Pine St",
        "line2": "#1300",
        "city": "Arlington",
        "state": "PA",
        "postalCode": "16244"
    },
    "supportContact": {
        "email": "53FWuRsY@hotmail.com",
        "phoneNumber": "+18917600351",
        "lastName": "Johnson",
        "firstName": "John",
        "middleName": null
    },
    "corporateContact": {
        "email": "qNwyXePr@yahoo.com",
        "phoneNumber": "+18298197798",
        "lastName": "Smith",
        "firstName": "Alex",
        "middleName": null
    },
    "permissions": {
        "canCreateKeys": false,
        "sandboxAccess": true,
        "canRetrieveToken": true,
        "productionAccess": true
    }
}