👥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:
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