👥Company Profile API Integration

A suite of API endpoints that allow clients to create and manage company profile data and perform actions to Company Profiles (create profiles, make whitelist requests, manage wallets and emails).

The Company Profile API endpoints can be used to create and manage end user Company Profiles without the end user needing to interact with the Open Trade Platform and UI.

Documentation

Full documentation for all endpoints can be found in swagger.

Authentication

Please contact a member of the Open Trade Sales team for further details on Authentication.

Endpoints

There are 2 core Company Profile endpoints GET/companyProfiles, POST/companyProfileAction.

GET /companyProfiles

Use this endpoint to retrieve information about a Company Profile.

Use Cases

  • Check whether the email and wallet(s) are associated with a Company Profile.

  • Check the vault(s) that a Company Profile has been whitelisted for.

Input Parameters

Query (all optional):

Name

Type

Pattern

Description

uuid

string

UUID v4

UUID of the company profile, this will return all company profiles owned by this companies uuid.

walletAddr

string

0x[a-fA-F0-9]{40}$

Wallet address belonging to the profile

Response

Field

Type

Format

Description

uuid

string

ID

Company Profile Id

isOriginator

boolean

STRING

Whether the company is an originator (provider of a lead to a Referrer)

originatorUuid

string

ID

Id of the originator

issuerVaultAddr

string

STRING

Address of the issuer vault

companyName

string

STRING

Name of the company

wallets

array

STRING

Wallet address(es) of the Company Profile

emails

array

STRING

Email address(es) associated with the Company Profile

status

mixed

STRING

HTTP response status

referralCreationAccessCode

string

Comma Separated String

Referral Code used to create the account - links the Company Profile to a specific Referrer. This is a comma separated list of potential access codes, the code used will be set in the originatorAccessCodeUsed field to track origination sources

instructions

string

STRING

Client specific instructions

poolAccessControls

array

STRING

Vaults that the Company Profile has access to

originatorAccessCodeUsed

string

STRING

the accessCode. used to create this profile

POST /companyProfileAction

Use this endpoint to perform an action on a company profile. The action field enables the client to instruct Open Trade to perform a variety of actions to the Company Profile (see Supported Actions section).

Use Cases

  • Amend information about a Company Profile (add/remove emails and wallets)

  • Manage access to vaults for a Company Profile (request/revoke whitelisting)

  • Delete a Company Profile

Request body

Field

Type

Format

Description

uuid

string

ID

Company Profile Id / Action Id

action

mixed

STRING

Action of the company profile (see Supported Actions section)

originatorUuid

string

ID

Id of the originator

companyName

string

STRING

Name of the company

wallets

array

STRING

Wallet address(es) of the Company Profile

emails

array

STRING

Email address(es) associated with the Company Profile

instructions

string

STRING

Client specific instructions

requestedPoolsAccess

array

STRING

Requested Pools Access

Supported Actions

The Action field within the API Request body is used to prompt an action to be performed on the Company Profile, a list of the available actions is available below:

Action
Description
Example

SELF_REGISTRATION

Self register a new company profile

{ "uuid": "12345678-1234-4234-a234-123456789012", "action": "'SELF_REGISTRATION", "originatorUuid": "ReferralCode or your UUID", "companyName": "NewCo", "emails": ["[email protected]"], "wallets: ["0x123...."],

"requestedPoolsAccess": ["0x123...."], }

ADD_EMAIL

Add an email address to the company profile

{ "uuid": "12345678-1234-4234-a234-123456789012", "action": "ADD_EMAIL", "emails": ["[email protected]"], }

REMOVE_EMAIL

Remove an email address from the company profile

{ "uuid": "12345678-1234-4234-a234-123456789012",

"action": "REMOVE_EMAIL", "emails": ["[email protected]"], }

DELETE_PROFILE

Delete the entire company profile

{ "uuid": "12345678-1234-4234-a234-123456789012",

"action": "DELETE_PROFILE'", }

REQUEST_ACCESS

Request access to a pool

{ "uuid": "12345678-1234-4234-a234-123456789012",

"action": "REQUEST_ACCESS",

"requestedPoolsAccess": ["0x123...."], }

REMOVE_ACCESS

Remove access to a pool

{ "uuid": "12345678-1234-4234-a234-123456789012",

"action": "REMOVE_ACCESS",

"requestedPoolsAccess": ["0x123...."], }

ADD_REFERRAL_CODE

Add a referral code to the company profile

{ "uuid": "12345678-1234-4234-a234-123456789012",

"action": "ADD_REFERRAL_CODE", "referralCreationAccessCode": "ABCD1234",

}

REMOVE_REFERRAL_CODE

Remove a referral code from the company profile

{ "uuid": "12345678-1234-4234-a234-123456789012",

"action": "REMOVE_REFERRAL_CODE", "referralCreationAccessCode": "ABCD1234",

}

ADD_WALLET

Add a wallet address to the company profile

{ "uuid": "12345678-1234-4234-a234-123456789012",

"action": "ADD_WALLET", "wallets: ["0x123...."], }

REMOVE_WALLET

Remove a wallet address from the company profile

{ "uuid": "12345678-1234-4234-a234-123456789012",

"action": "REMOVE_WALLET", "wallets: ["0x123...."], }

Error Handling

The API returns a status 500 on any error, Check the message field of the reposnse for more information

Last updated