Trustap API (0.1.0)

The Trustap API is a REST-based API for managing user data and transactions for Trustap users.

Note that, like Stripe, all API price and charge fields expect amounts to be provided in a currency's smallest unit. See the Stripe documentation for more details.

API Keys


Some endpoints such as /charge endpoints can be accessed directly using an API key. API keys are provided as the "username" portion of a basic auth authentication. For example, the Trustap fee for a new online transaction can be determined using the following cURL request with an API key:

curl -u '<api_key>': 'https://dev.stage.trustap.com/api/v1/charge?currency=eur&price=1234'

Deprecation


Deprecated endpoints are tagged with the word DEPRECATED at the start of their description. The deprecation message will describe what endpoints/approach should be used instead.

Note that deprecated endpoints will not be removed from the current version of the API, but their use is discouraged. Furthermore, migrating to later major versions of the API will be made easier by avoiding deprecated endpoints.

Production


This documentation references the staging environment of the Trustap API, which is available at https://dev.stage.trustap.com and uses the trustap-stage realm during authentication. This environment can be used for implementing and testing features using test credit cards, bank accounts, etc.

When all features using Trustap have been implemented and tested sufficiently, the production environment of the Trustap API can be used to process actual currency. This environment is available at https://dev.trustap.com and uses the trustap realm during authentication.

Note that only your client ID will be the same in the staging and production Trustap API environments; your client secret and API key will be different in the two environments.

Download OpenAPI description
Overview
Languages
Servers
https://dev.stage.trustap.com/api/v1/

Online Transactions

Operations

Clients

Operations

Users

Operations

Personal

Operations

Create an account session and retrieves client secret for it.

Request

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/account_session \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
client_secretstringrequired
Example: "accs_secret__***********************************************"
Response
application/json
{ "client_secret": "accs_secret__***********************************************" }

Get debit account details

Request

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/debit_account \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
bank_accountobject(personal.BankAccount)required
bank_account.​bank_namestringrequired
bank_account.​countrystringrequired
bank_account.​currency_alpha_2stringrequired
bank_account.​last4stringrequired
bank_account.​routingstring
cardobject(personal.Card)required
card.​last4stringrequired
card.​monthinteger(int64)required
card.​yearinteger(int64)required
Response
application/json
{ "bank_account": { "bank_name": "string", "country": "string", "currency_alpha_2": "string", "last4": "string", "routing": "string" }, "card": { "last4": "string", "month": 0, "year": 0 } }

Set debit account details

Request

Bodyapplication/jsonrequired
bank_detailsobject(personal.BankDetails)
bank_tokenstring
card_detailsstring
typestringrequired
Enum"bank""bank_token""card"
curl -i -X POST \
  https://dev.stage.trustap.com/api/v1/me/debit_account \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "bank_details": {
      "account_number": "string",
      "country_code": "string",
      "currency": "string",
      "routing_number": "string"
    },
    "bank_token": "string",
    "card_details": "string",
    "type": "bank"
  }'

Responses

OK

Bodyapplication/json
bank_accountobject(personal.BankAccount)required
bank_account.​bank_namestringrequired
bank_account.​countrystringrequired
bank_account.​currency_alpha_2stringrequired
bank_account.​last4stringrequired
bank_account.​routingstring
cardobject(personal.Card)required
card.​last4stringrequired
card.​monthinteger(int64)required
card.​yearinteger(int64)required
Response
application/json
{ "bank_account": { "bank_name": "string", "country": "string", "currency_alpha_2": "string", "last4": "string", "routing": "string" }, "card": { "last4": "string", "month": 0, "year": 0 } }

Get instant payout balance

Request

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/instant_payout_balance \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
amountinteger(int64)required
currencystringrequired
Response
application/json
{ "amount": 0, "currency": "string" }

Get the payout attempts that have occurred for this account

Request

Payout attempts are returned in reverse chronological order - the first attempt in the returned array will be the most recent payout attempt.

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/payout_attempts \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/jsonArray [
amountinteger(int64)required
arrival_dateinteger(int64)required
created_dateinteger(int64)required
failure_codestring
Enum"account_closed""account_frozen""bank_account_restricted""bank_ownership_changed""could_not_process""debit_not_authorized""declined""insufficient_funds""invalid_account_number""incorrect_account_holder_name"
statusstringrequired
Enum"paid""pending""in_transit""canceled""failed"
]
Response
application/json
[ { "amount": 0, "arrival_date": 0, "created_date": 0, "failure_code": "account_closed", "status": "paid" } ]

Get verification status for the front side of the secondary identity document

Request

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/personal/additional_identity_document/verification_status \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
previously_submittedbooleanrequired
Example: true
statusstringrequired

Verification status of the document could be one of the following: due, not_due, verifying, verified

Example: "verifying"
Response
application/json
{ "previously_submitted": true, "status": "verifying" }

Get verification status for the back side of the secondary identity document

Request

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/personal/additional_identity_document_back/verification_status \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
previously_submittedbooleanrequired
Example: true
statusstringrequired

Verification status of the document could be one of the following: due, not_due, verifying, verified

Example: "verifying"
Response
application/json
{ "previously_submitted": true, "status": "verifying" }

Get personal details for the local user

Request

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/personal/details \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
address_cityobject(personal.VerifiableString)required
address_city.​invalid_reasonobject(personal.InvalidReason)
address_city.​required_nowbooleanrequired
address_city.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_city.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_city.​validationobject(personal.Validation)required
address_city.​validation.​cannot_unsetboolean
address_city.​validation.​cannot_updateboolean
address_city.​validation.​max_lengthinteger
address_city.​validation.​min_lengthinteger
address_city.​valuestringrequired
address_countryobject(personal.VerifiableString)required
address_country.​invalid_reasonobject(personal.InvalidReason)
address_country.​required_nowbooleanrequired
address_country.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_country.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_country.​validationobject(personal.Validation)required
address_country.​validation.​cannot_unsetboolean
address_country.​validation.​cannot_updateboolean
address_country.​validation.​max_lengthinteger
address_country.​validation.​min_lengthinteger
address_country.​valuestringrequired
address_line1object(personal.VerifiableString)required
address_line1.​invalid_reasonobject(personal.InvalidReason)
address_line1.​required_nowbooleanrequired
address_line1.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_line1.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_line1.​validationobject(personal.Validation)required
address_line1.​validation.​cannot_unsetboolean
address_line1.​validation.​cannot_updateboolean
address_line1.​validation.​max_lengthinteger
address_line1.​validation.​min_lengthinteger
address_line1.​valuestringrequired
address_line2object(personal.VerifiableString)required
address_line2.​invalid_reasonobject(personal.InvalidReason)
address_line2.​required_nowbooleanrequired
address_line2.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_line2.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_line2.​validationobject(personal.Validation)required
address_line2.​validation.​cannot_unsetboolean
address_line2.​validation.​cannot_updateboolean
address_line2.​validation.​max_lengthinteger
address_line2.​validation.​min_lengthinteger
address_line2.​valuestringrequired
address_postal_codeobject(personal.VerifiableString)required
address_postal_code.​invalid_reasonobject(personal.InvalidReason)
address_postal_code.​required_nowbooleanrequired
address_postal_code.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_postal_code.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_postal_code.​validationobject(personal.Validation)required
address_postal_code.​validation.​cannot_unsetboolean
address_postal_code.​validation.​cannot_updateboolean
address_postal_code.​validation.​max_lengthinteger
address_postal_code.​validation.​min_lengthinteger
address_postal_code.​valuestringrequired
address_stateobject(personal.VerifiableString)required
address_state.​invalid_reasonobject(personal.InvalidReason)
address_state.​required_nowbooleanrequired
address_state.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_state.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_state.​validationobject(personal.Validation)required
address_state.​validation.​cannot_unsetboolean
address_state.​validation.​cannot_updateboolean
address_state.​validation.​max_lengthinteger
address_state.​validation.​min_lengthinteger
address_state.​valuestringrequired
dobobject(personal.VerifiableDate)required
dob.​invalid_reasonobject(personal.InvalidReason)
dob.​required_nowbooleanrequired
dob.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
dob.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
dob.​validationobject(personal.DateValidation)required
dob.​validation.​max_dateinteger
dob.​validation.​max_dayinteger
dob.​validation.​max_monthinteger
dob.​validation.​max_yearinteger
dob.​validation.​min_dayinteger
dob.​validation.​min_monthinteger
dob.​validation.​min_yearinteger
dob.​valueobjectrequired
dob.​value.​dayintegerrequired
dob.​value.​monthintegerrequired
dob.​value.​yearintegerrequired
id_numberobject(personal.VerifiableIdNumber)required
id_number.​invalid_reasonobject(personal.InvalidReason)
id_number.​required_nowbooleanrequired
id_number.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
id_number.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
id_number.​validationobjectrequired
id_number.​validation.​max_lengthinteger
id_number.​validation.​min_lengthinteger
id_number.​valueobjectrequired
id_number.​value.​providedbooleanrequired
name_firstobject(personal.VerifiableString)required
name_first.​invalid_reasonobject(personal.InvalidReason)
name_first.​required_nowbooleanrequired
name_first.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
name_first.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
name_first.​validationobject(personal.Validation)required
name_first.​validation.​cannot_unsetboolean
name_first.​validation.​cannot_updateboolean
name_first.​validation.​max_lengthinteger
name_first.​validation.​min_lengthinteger
name_first.​valuestringrequired
name_lastobject(personal.VerifiableString)required
name_last.​invalid_reasonobject(personal.InvalidReason)
name_last.​required_nowbooleanrequired
name_last.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
name_last.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
name_last.​validationobject(personal.Validation)required
name_last.​validation.​cannot_unsetboolean
name_last.​validation.​cannot_updateboolean
name_last.​validation.​max_lengthinteger
name_last.​validation.​min_lengthinteger
name_last.​valuestringrequired
phoneobject(personal.VerifiablePhone)required
phone.​invalid_reasonobject(personal.InvalidReason)
phone.​required_nowbooleanrequired
phone.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
phone.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
phone.​validationobjectrequired
phone.​validation.​number_min_lengthinteger
phone.​valueobjectrequired
phone.​value.​dial_codestringrequired
phone.​value.​dial_code_countrystringrequired

This field is mostly non-functional, but is instead used to render the phone number for the user. This field is necessary because different countries may use the same dial code (for example, the US and Canada).

phone.​value.​numberstringrequired
Response
application/json
{ "address_city": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_country": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_line1": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_line2": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_postal_code": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_state": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "dob": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": {} }, "id_number": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": {} }, "name_first": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "name_last": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "phone": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": {} } }

Set personal details for the local user

Request

Bodyapplication/jsonrequired
address_citystring
address_line1string
address_line2string
address_postal_codestring
address_statestring
dobobject
id_numberstring or null

The full ID number for this user.

name_firststring
name_laststring
phoneobject or null
curl -i -X PATCH \
  https://dev.stage.trustap.com/api/v1/me/personal/details \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "address_city": "string",
    "address_line1": "string",
    "address_line2": "string",
    "address_postal_code": "string",
    "address_state": "string",
    "dob": {
      "day": 0,
      "month": 0,
      "year": 0
    },
    "id_number": "string",
    "name_first": "string",
    "name_last": "string",
    "phone": {
      "dial_code": "string",
      "dial_code_country": "string",
      "number": "string"
    }
  }'

Responses

OK

Bodyapplication/json
address_cityobject(personal.VerifiableString)required
address_city.​invalid_reasonobject(personal.InvalidReason)
address_city.​required_nowbooleanrequired
address_city.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_city.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_city.​validationobject(personal.Validation)required
address_city.​validation.​cannot_unsetboolean
address_city.​validation.​cannot_updateboolean
address_city.​validation.​max_lengthinteger
address_city.​validation.​min_lengthinteger
address_city.​valuestringrequired
address_countryobject(personal.VerifiableString)required
address_country.​invalid_reasonobject(personal.InvalidReason)
address_country.​required_nowbooleanrequired
address_country.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_country.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_country.​validationobject(personal.Validation)required
address_country.​validation.​cannot_unsetboolean
address_country.​validation.​cannot_updateboolean
address_country.​validation.​max_lengthinteger
address_country.​validation.​min_lengthinteger
address_country.​valuestringrequired
address_line1object(personal.VerifiableString)required
address_line1.​invalid_reasonobject(personal.InvalidReason)
address_line1.​required_nowbooleanrequired
address_line1.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_line1.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_line1.​validationobject(personal.Validation)required
address_line1.​validation.​cannot_unsetboolean
address_line1.​validation.​cannot_updateboolean
address_line1.​validation.​max_lengthinteger
address_line1.​validation.​min_lengthinteger
address_line1.​valuestringrequired
address_line2object(personal.VerifiableString)required
address_line2.​invalid_reasonobject(personal.InvalidReason)
address_line2.​required_nowbooleanrequired
address_line2.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_line2.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_line2.​validationobject(personal.Validation)required
address_line2.​validation.​cannot_unsetboolean
address_line2.​validation.​cannot_updateboolean
address_line2.​validation.​max_lengthinteger
address_line2.​validation.​min_lengthinteger
address_line2.​valuestringrequired
address_postal_codeobject(personal.VerifiableString)required
address_postal_code.​invalid_reasonobject(personal.InvalidReason)
address_postal_code.​required_nowbooleanrequired
address_postal_code.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_postal_code.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_postal_code.​validationobject(personal.Validation)required
address_postal_code.​validation.​cannot_unsetboolean
address_postal_code.​validation.​cannot_updateboolean
address_postal_code.​validation.​max_lengthinteger
address_postal_code.​validation.​min_lengthinteger
address_postal_code.​valuestringrequired
address_stateobject(personal.VerifiableString)required
address_state.​invalid_reasonobject(personal.InvalidReason)
address_state.​required_nowbooleanrequired
address_state.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
address_state.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
address_state.​validationobject(personal.Validation)required
address_state.​validation.​cannot_unsetboolean
address_state.​validation.​cannot_updateboolean
address_state.​validation.​max_lengthinteger
address_state.​validation.​min_lengthinteger
address_state.​valuestringrequired
dobobject(personal.VerifiableDate)required
dob.​invalid_reasonobject(personal.InvalidReason)
dob.​required_nowbooleanrequired
dob.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
dob.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
dob.​validationobject(personal.DateValidation)required
dob.​validation.​max_dateinteger
dob.​validation.​max_dayinteger
dob.​validation.​max_monthinteger
dob.​validation.​max_yearinteger
dob.​validation.​min_dayinteger
dob.​validation.​min_monthinteger
dob.​validation.​min_yearinteger
dob.​valueobjectrequired
dob.​value.​dayintegerrequired
dob.​value.​monthintegerrequired
dob.​value.​yearintegerrequired
id_numberobject(personal.VerifiableIdNumber)required
id_number.​invalid_reasonobject(personal.InvalidReason)
id_number.​required_nowbooleanrequired
id_number.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
id_number.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
id_number.​validationobjectrequired
id_number.​validation.​max_lengthinteger
id_number.​validation.​min_lengthinteger
id_number.​valueobjectrequired
id_number.​value.​providedbooleanrequired
name_firstobject(personal.VerifiableString)required
name_first.​invalid_reasonobject(personal.InvalidReason)
name_first.​required_nowbooleanrequired
name_first.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
name_first.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
name_first.​validationobject(personal.Validation)required
name_first.​validation.​cannot_unsetboolean
name_first.​validation.​cannot_updateboolean
name_first.​validation.​max_lengthinteger
name_first.​validation.​min_lengthinteger
name_first.​valuestringrequired
name_lastobject(personal.VerifiableString)required
name_last.​invalid_reasonobject(personal.InvalidReason)
name_last.​required_nowbooleanrequired
name_last.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
name_last.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
name_last.​validationobject(personal.Validation)required
name_last.​validation.​cannot_unsetboolean
name_last.​validation.​cannot_updateboolean
name_last.​validation.​max_lengthinteger
name_last.​validation.​min_lengthinteger
name_last.​valuestringrequired
phoneobject(personal.VerifiablePhone)required
phone.​invalid_reasonobject(personal.InvalidReason)
phone.​required_nowbooleanrequired
phone.​statusstring(personal.VerificationStatus)required
Enum"unset""invalid""verifying""verified_and_verifying""verified""set"
phone.​typestring(personal.FieldType)required
Enum"date""id_number""phone""string"
phone.​validationobjectrequired
phone.​validation.​number_min_lengthinteger
phone.​valueobjectrequired
phone.​value.​dial_codestringrequired
phone.​value.​dial_code_countrystringrequired

This field is mostly non-functional, but is instead used to render the phone number for the user. This field is necessary because different countries may use the same dial code (for example, the US and Canada).

phone.​value.​numberstringrequired
Response
application/json
{ "address_city": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_country": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_line1": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_line2": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_postal_code": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "address_state": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "dob": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": {} }, "id_number": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": {} }, "name_first": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "name_last": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": "string" }, "phone": { "invalid_reason": {}, "required_now": true, "status": "unset", "type": "date", "validation": {}, "value": {} } }

Get verification status for the front side of the primary identity document

Request

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/personal/identity_document/verification_status \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
previously_submittedbooleanrequired
Example: true
statusstringrequired

Verification status of the document could be one of the following: due, not_due, verifying, verified

Example: "verifying"
Response
application/json
{ "previously_submitted": true, "status": "verifying" }

Get verification status for the back side of the primary identity document

Request

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/personal/identity_document_back/verification_status \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
previously_submittedbooleanrequired
Example: true
statusstringrequired

Verification status of the document could be one of the following: due, not_due, verifying, verified

Example: "verifying"
Response
application/json
{ "previously_submitted": true, "status": "verifying" }

Get the details for the Stripe publishable key the user is linked to.

Request

Returns the Publishable Key for the Stripe Platform which the user is linked to.

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/personal/stripe_publishable_key \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
publishable_keystring
Example: "pk_xXxXxXxXxXx"
Response
application/json
{ "publishable_key": "pk_xXxXxXxXxXx" }

Get the status of a user's ability to accept payouts. This endpoint requires the user identified by the `Trustap-User` header to have granted the `profile` scope to the client that is performing the request.

Request

Offline access is allowed for this endpoint when the user has granted the profile scope to the client that is performing the request.

Headers
Trustap-Userstring

Required in client flows, where you make API calls on behalf of another Trustap user.

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/profile/payout_status \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Trustap-User: string'

Responses

OK

Bodyapplication/json
statusstringrequired

Payout status will be one of the following:

  • complete: The user has completed their profile and payment information, and can accept payouts.
  • verifying: The user has submitted profile and payment information, which is currently being verified.
  • due: The user has not adequately filled out their payment information, or may need to update or ammend the provided information before they can accept payouts.
Enum"complete""verifying""due"
Example: "verifying"
Response
application/json
{ "status": "verifying" }

Add a new payout method to the current account using a payment method ID

Request

Bodyapplication/jsonrequired
payment_method_idstringrequired
curl -i -X POST \
  https://dev.stage.trustap.com/api/v1/me/stripe_financial_connections/add_account \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "payment_method_id": "string"
  }'

Responses

OK

Bodyapplication/json
bank_accountobject(personal.BankAccount)required
bank_account.​bank_namestringrequired
bank_account.​countrystringrequired
bank_account.​currency_alpha_2stringrequired
bank_account.​last4stringrequired
bank_account.​routingstring
cardobject(personal.Card)required
card.​last4stringrequired
card.​monthinteger(int64)required
card.​yearinteger(int64)required
Response
application/json
{ "bank_account": { "bank_name": "string", "country": "string", "currency_alpha_2": "string", "last4": "string", "routing": "string" }, "card": { "last4": "string", "month": 0, "year": 0 } }

Get ownership details from the given SetupIntent using Stripe Financial Connections

Request

Query
setup_intent_idstringrequired
curl -i -X GET \
  'https://dev.stage.trustap.com/api/v1/me/stripe_financial_connections/ownership?setup_intent_id=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
emailstringrequired
namestringrequired
raw_addressstringrequired
raw_phonestringrequired
Response
application/json
{ "email": "string", "name": "string", "raw_address": "string", "raw_phone": "string" }

Get a SetupIntent ID and secret for starting a Stripe Financial Connections session

Request

curl -i -X POST \
  https://dev.stage.trustap.com/api/v1/me/stripe_financial_connections/prepare_account \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
setup_intent_client_secretstringrequired
setup_intent_idstringrequired
Response
application/json
{ "setup_intent_client_secret": "string", "setup_intent_id": "string" }

Creates verification method and message if not available.

Request

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/verification_method \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
messagestringrequired
Example: "not_available"
verification_methodstringrequired
Example: "stripe_identity"
Response
application/json
{ "message": "not_available", "verification_method": "stripe_identity" }

Creates verification session and retrieves client secret for it.

Request

Offline access is allowed for this endpoint when the user has granted the profile scope to the client that is performing the request.

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/verification_session \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
verification_session_client_secretstringrequired
Example: "vs_1P**********************_******_****_********************************************************************************0PVs"
Response
application/json
{ "verification_session_client_secret": "vs_1P**********************_******_****_********************************************************************************0PVs" }

Creates verification session for native apps that use Stripe native SDK, and returns it's `Verification Session ID` with appropriate `Ephemeral Key`.

Request

Offline access is allowed for this endpoint when the user has granted the profile scope to the client that is performing the request.

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/verification_session_native \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
ephemeral_keystringrequired
verification_session_idstringrequired
Response
application/json
{ "ephemeral_key": "string", "verification_session_id": "string" }

Get verification status of the user.

Request

Offline access is allowed for this endpoint when the user has granted the profile scope to the client that is performing the request.

curl -i -X GET \
  https://dev.stage.trustap.com/api/v1/me/verification_status \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
verification_session_idstringrequired
Example: "vs_1PH0bmDnTEntFpTD2xDXZy9t"
verification_session_last_errorobject(personal.VerificationSessionLastError)

Optional error information if there was an error in the verification session.

verification_session_statusstringrequired
Example: "created"
Response
application/json
{ "verification_session_id": "vs_1PH0bmDnTEntFpTD2xDXZy9t", "verification_session_status": "created" }

Online Multi-use Listings

Operations

Notifications

Operations

Online Single-use Listings

Operations

F2F Transactions

Operations

F2F Multi-use Listings

Operations

F2F Single-use Listings

Operations

Subscriptions

Operations