Skip to content

Transfer Position External API (1.0.0)

Use API credentials to view and manage instruments.

Languages
Servers
https://optimalapi-ext.apx.com/transfer/v1/
https://optimalapi-uat-ext.apx.com/transfer/v1/

transferbatch-v1

Initiate a transfer request (between subaccounts or another account holder), view or act upon pending transfers, as well as view historical transfer details.

Operations

retirementbatch-v1

View or submit a retirement request, or redemption claim, on instrument(s).

Operations

ledger-v1

View an Account's current and historical instrument details

Operations

subaccount-v1

View or create subaccounts. Use subaccounts to organize your account’s instruments. All accounts have a "Default" subaccount, where all new issuances and incoming transfers will be deposited. Subaccounts may also be used to delegate instrument management to an authorized third party.

Operations

Retrieve sub-accounts

Request

Retrieve available subaccounts by account.

Security
JWT
Path
ledgerIdentifierstring(uuid)required

Ledger identifier, can be found using /api/ledger endpoint

Example: 4b7375e9-79b0-4b8b-a89e-a21607f0239f
Query
onBehalfOfSrcAcctIdstring

If permitted, allows the caller to create subaccounts on behalf of another account holder, identifying that account holder by their system-assigned srcAcctId.

curl -i -X GET \
  'https://optimalapi-ext.apx.com/transfer/v1/api/ledger/4b7375e9-79b0-4b8b-a89e-a21607f0239f/subaccount?onBehalfOfSrcAcctId=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/json
subaccountsArray of objects(Subaccount)

Subaccounts

Response
application/json
{ "subaccounts": [ {} ] }

Create sub-account

Request

Create a new subaccount to organize your account’s instruments or to delegate transaction authority to an authorized third party. All accounts have a "Default" subaccount.

Security
JWT
Path
ledgerIdentifierstring(uuid)required

Ledger identifier, can be found using /api/ledger endpoint

Example: 4b7375e9-79b0-4b8b-a89e-a21607f0239f
Bodyapplication/jsonrequired

Subaccount payload

accountobject(Account)

Account record

namestringrequired

Sub-account name

Example: "Allocated"
descriptionstring

Sub-account description

Example: "Holdings to retired & retired"
_defaultbooleanwrite-only
statusobject(ReferenceDatum)

A reference datum data object

Example: "GOC"
managingExternalPlatformobject(ExternalPlatform)

If this is a managed sub-account, information on the external platform managing this sub-account.

managingExternalPlatformAccountIdstring

If this is a managed sub-account, the relevant account ID in the external platform for the account associated with this sub-account.

managingExternalPlatformSubaccountMetadatastring

Optional JSON payload of managing external platform subaccount metadata.

curl -i -X POST \
  https://optimalapi-ext.apx.com/transfer/v1/api/ledger/4b7375e9-79b0-4b8b-a89e-a21607f0239f/subaccount \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "account": {
      "srcAcctId": "4edse581-b97a-11ef-ea69-b61606fd520c",
      "identifier": "15184192",
      "name": "APXOPCAR Project Manager"
    },
    "name": "Allocated",
    "description": "Holdings to retired & retired",
    "_default": true,
    "status": "GOC",
    "managingExternalPlatform": {
      "externalPlatformIdentifier": "a5f8c9fa-001b-4444-b966-17b1a7871bbf",
      "code": "string",
      "name": "Xpansiv Connect",
      "account": {
        "srcAcctId": "4edse581-b97a-11ef-ea69-b61606fd520c",
        "identifier": "15184192",
        "name": "APXOPCAR Project Manager"
      },
      "metadataConfig": "string"
    },
    "managingExternalPlatformAccountId": "string",
    "managingExternalPlatformSubaccountMetadata": "string"
  }'

Responses

OK