Rio API

API for the Rio platform

Was this section helpful?

What made this section unhelpful for you?

Base URL

Production:

https://www.riotransfer.co

Sandbox:

https://sandbox.riotransfer.co

Language Box

Addresses

APIs for managing wallet addresses

Users

APIs for managing users

Was this section helpful?

What made this section unhelpful for you?

Create a new user

Creates a new user

Header Parameters

x-api-keystring

Body Parameters

brokerIdstring (objectid)

Your user ID (only pass if trying to create a broker customer)

Nullable:
True
typestring
Enum values:
individualbusiness
individualDataobject

Individual data of the user. Only required if user type is individual.

Nullable:
True

Show child attributes

businessDataobject

Business data of the user. Only required if user type is business.

Nullable:
True

Show child attributes

phoneNumberstring

The user's phone number.

Pattern
^\+(?:[0-9]●?){6,14}[0-9]$
emailstring (email)

The user's email address.

invoicingobject
Nullable:
True

Show child attributes

onboardingobject
Nullable:
True

Show child attributes

Responses

201
Object
User created successfully

Response Attributes

idstring (objectid)

Unique identifier for the user

brokerIdstring (objectid)

ID of the broker that created the user

Nullable:
True
typestring

Type of user

Enum values:
individualbusiness
individualDataobject

Basic data for individual users

Nullable:
True

Show child attributes

businessDataobject

Basic data for business users

Nullable:
True

Show child attributes

phoneNumberstring

The user's phone number. Must be in international format (e.g., +1234567890).

Pattern
^\+\d{1,14}$
Nullable:
True
emailstring (email)

Email address of the user.

onboardingobject
Nullable:
True

Show child attributes

invoicingobject
Nullable:
True

Show child attributes

400
Object
Invalid request data
401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

POST

/api/users

Select
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 curl --location 'https://www.riotransfer.co/api/users' \ --data '{ "brokerId": "", "type": "individual", "individualData": { "firstName": "", "middleName": "", "lastName": "", "secondLastName": "", "birthday": "" }, "businessData": { "businessName": "", "UBO": { "email": "" } }, "phoneNumber": "", "email": "", "invoicing": { "MX": { "shouldInvoice": false, "fiscalName": "", "fiscalRegimenCode": 601 } }, "onboarding": { "MX": { "immigrationStatus": "", "hasAcceptedTerms": false, "personalId": "", "taxId": "", "address": { "street1": "", "street2": "", "city": "", "state": "", "country": "DZ", "postalCode": "" }, "legalRepresentative": { "firstName": "", "middleName": "", "lastName": "", "secondLastName": "", "email": "" } }, "PE": { "immigrationStatus": "", "hasAcceptedTerms": false, "personalId": "", "taxId": "", "address": { "street1": "", "street2": "", "city": "", "state": "", "country": "DZ", "postalCode": "" }, "legalRepresentative": { "firstName": "", "middleName": "", "lastName": "", "secondLastName": "", "email": "" } } } }'

Response

{
  "id": "",
  "brokerId": "",
  "type": "individual",
  "individualData": {
    "firstName": "",
    "middleName": "",
    "lastName": "",
    "secondLastName": "",
    "birthday": ""
  },
  "businessData": {
    "businessName": "",
    "UBO": {
      "id": "",
      "email": ""
    }
  },
  "phoneNumber": "",
  "email": "",
  "onboarding": {
    "MX": {
      "immigrationStatus": "",
      "hasAcceptedTerms": false,
      "personalId": "",
      "taxId": "",
      "address": {
        "street1": "",
        "street2": "",
        "city": "",
        "state": "",
        "country": "DZ",
        "postalCode": ""
      },
      "legalRepresentative": {
        "firstName": "",
        "middleName": "",
        "lastName": "",
        "secondLastName": "",
        "email": ""
      }
    },
    "PE": {
      "immigrationStatus": "",
      "hasAcceptedTerms": false,
      "personalId": "",
      "taxId": "",
      "address": {
        "street1": "",
        "street2": "",
        "city": "",
        "state": "",
        "country": "DZ",
        "postalCode": ""
      },
      "legalRepresentative": {
        "firstName": "",
        "middleName": "",
        "lastName": "",
        "secondLastName": "",
        "email": ""
      }
    }
  },
  "invoicing": {
    "MX": {
      "shouldInvoice": false,
      "fiscalName": "",
      "fiscalRegimenCode": 601
    }
  }
}

Update user

Updates the user associated with the API key.

Header Parameters

x-api-keystring

Body Parameters

onboardingobject
Nullable:
True

Show child attributes

invoicingobject
Nullable:
True

Show child attributes

Responses

200
Object
User updated successfully

Response Attributes

idstring (objectid)

Unique identifier for the user

brokerIdstring (objectid)

ID of the broker that created the user

Nullable:
True
typestring

Type of user

Enum values:
individualbusiness
individualDataobject

Basic data for individual users

Nullable:
True

Show child attributes

businessDataobject

Basic data for business users

Nullable:
True

Show child attributes

phoneNumberstring

The user's phone number. Must be in international format (e.g., +1234567890).

Pattern
^\+\d{1,14}$
Nullable:
True
emailstring (email)

Email address of the user.

onboardingobject
Nullable:
True

Show child attributes

invoicingobject
Nullable:
True

Show child attributes

400
Object
Invalid request data
401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

PATCH

/api/users

Select
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 curl --location --request PATCH 'https://www.riotransfer.co/api/users' \ --data '{ "onboarding": { "MX": { "hasAcceptedTerms": false }, "PE": { "hasAcceptedTerms": false } }, "invoicing": { "MX": { "shouldInvoice": false } } }'

Response

{
  "id": "",
  "brokerId": "",
  "type": "individual",
  "individualData": {
    "firstName": "",
    "middleName": "",
    "lastName": "",
    "secondLastName": "",
    "birthday": ""
  },
  "businessData": {
    "businessName": "",
    "UBO": {
      "id": "",
      "email": ""
    }
  },
  "phoneNumber": "",
  "email": "",
  "onboarding": {
    "MX": {
      "immigrationStatus": "",
      "hasAcceptedTerms": false,
      "personalId": "",
      "taxId": "",
      "address": {
        "street1": "",
        "street2": "",
        "city": "",
        "state": "",
        "country": "DZ",
        "postalCode": ""
      },
      "legalRepresentative": {
        "firstName": "",
        "middleName": "",
        "lastName": "",
        "secondLastName": "",
        "email": ""
      }
    },
    "PE": {
      "immigrationStatus": "",
      "hasAcceptedTerms": false,
      "personalId": "",
      "taxId": "",
      "address": {
        "street1": "",
        "street2": "",
        "city": "",
        "state": "",
        "country": "DZ",
        "postalCode": ""
      },
      "legalRepresentative": {
        "firstName": "",
        "middleName": "",
        "lastName": "",
        "secondLastName": "",
        "email": ""
      }
    }
  },
  "invoicing": {
    "MX": {
      "shouldInvoice": false,
      "fiscalName": "",
      "fiscalRegimenCode": 601
    }
  }
}

Get all users

Gets a list of users that match the query. If no query is passed, it will return all users.

Header Parameters

x-api-keystring

Query Parameters

typestring

User type

Enum values:
individualbusiness
brokerIdstring (objectid)

Broker ID

firstNamestring

First name

lastNamestring

Last name

businessNamestring

Business name of the user

pageinteger

Page number

limitinteger

Number of results per page

Minimum
1
Maximum
50

Responses

200
Object
Returns a list of users that match the query.
400
Object
Invalid request data
401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

GET

/api/users?type=individual&brokerId=&firstName=&lastName=&businessName=&page=&limit=

Select
1 curl --location 'https://www.riotransfer.co/api/users?type=individual'

Response

Returns a list of users that match the query.

Get a user by id

Gets the user associated with the ID.

Header Parameters

x-api-keystring

Path Parameters

idstring (objectid)Required

ID of the user

Responses

200
Object
Returns the user associated with ID

Response Attributes

idstring (objectid)

Unique identifier for the user

brokerIdstring (objectid)

ID of the broker that created the user

Nullable:
True
typestring

Type of user

Enum values:
individualbusiness
individualDataobject

Basic data for individual users

Nullable:
True

Show child attributes

businessDataobject

Basic data for business users

Nullable:
True

Show child attributes

phoneNumberstring

The user's phone number. Must be in international format (e.g., +1234567890).

Pattern
^\+\d{1,14}$
Nullable:
True
emailstring (email)

Email address of the user.

onboardingobject
Nullable:
True

Show child attributes

invoicingobject
Nullable:
True

Show child attributes

401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

GET

/api/users/{id}

Select
1 curl --location --globoff 'https://www.riotransfer.co/api/users/{id}'

Response

{
  "id": "",
  "brokerId": "",
  "type": "individual",
  "individualData": {
    "firstName": "",
    "middleName": "",
    "lastName": "",
    "secondLastName": "",
    "birthday": ""
  },
  "businessData": {
    "businessName": "",
    "UBO": {
      "id": "",
      "email": ""
    }
  },
  "phoneNumber": "",
  "email": "",
  "onboarding": {
    "MX": {
      "immigrationStatus": "",
      "hasAcceptedTerms": false,
      "personalId": "",
      "taxId": "",
      "address": {
        "street1": "",
        "street2": "",
        "city": "",
        "state": "",
        "country": "DZ",
        "postalCode": ""
      },
      "legalRepresentative": {
        "firstName": "",
        "middleName": "",
        "lastName": "",
        "secondLastName": "",
        "email": ""
      }
    },
    "PE": {
      "immigrationStatus": "",
      "hasAcceptedTerms": false,
      "personalId": "",
      "taxId": "",
      "address": {
        "street1": "",
        "street2": "",
        "city": "",
        "state": "",
        "country": "DZ",
        "postalCode": ""
      },
      "legalRepresentative": {
        "firstName": "",
        "middleName": "",
        "lastName": "",
        "secondLastName": "",
        "email": ""
      }
    }
  },
  "invoicing": {
    "MX": {
      "shouldInvoice": false,
      "fiscalName": "",
      "fiscalRegimenCode": 601
    }
  }
}

Update user by id

Updates the user associated with the ID.

Header Parameters

x-api-keystring

Path Parameters

idstring (objectid)Required

ID of the user to update

Body Parameters

onboardingobject
Nullable:
True

Show child attributes

invoicingobject
Nullable:
True

Show child attributes

Responses

200
Object
User updated successfully

Response Attributes

idstring (objectid)

Unique identifier for the user

brokerIdstring (objectid)

ID of the broker that created the user

Nullable:
True
typestring

Type of user

Enum values:
individualbusiness
individualDataobject

Basic data for individual users

Nullable:
True

Show child attributes

businessDataobject

Basic data for business users

Nullable:
True

Show child attributes

phoneNumberstring

The user's phone number. Must be in international format (e.g., +1234567890).

Pattern
^\+\d{1,14}$
Nullable:
True
emailstring (email)

Email address of the user.

onboardingobject
Nullable:
True

Show child attributes

invoicingobject
Nullable:
True

Show child attributes

400
Object
Invalid request data
401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

PATCH

/api/users/{id}

Select
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 curl --location --globoff --request PATCH 'https://www.riotransfer.co/api/users/{id}' \ --data '{ "onboarding": { "MX": { "hasAcceptedTerms": false }, "PE": { "hasAcceptedTerms": false } }, "invoicing": { "MX": { "shouldInvoice": false } } }'

Response

{
  "id": "",
  "brokerId": "",
  "type": "individual",
  "individualData": {
    "firstName": "",
    "middleName": "",
    "lastName": "",
    "secondLastName": "",
    "birthday": ""
  },
  "businessData": {
    "businessName": "",
    "UBO": {
      "id": "",
      "email": ""
    }
  },
  "phoneNumber": "",
  "email": "",
  "onboarding": {
    "MX": {
      "immigrationStatus": "",
      "hasAcceptedTerms": false,
      "personalId": "",
      "taxId": "",
      "address": {
        "street1": "",
        "street2": "",
        "city": "",
        "state": "",
        "country": "DZ",
        "postalCode": ""
      },
      "legalRepresentative": {
        "firstName": "",
        "middleName": "",
        "lastName": "",
        "secondLastName": "",
        "email": ""
      }
    },
    "PE": {
      "immigrationStatus": "",
      "hasAcceptedTerms": false,
      "personalId": "",
      "taxId": "",
      "address": {
        "street1": "",
        "street2": "",
        "city": "",
        "state": "",
        "country": "DZ",
        "postalCode": ""
      },
      "legalRepresentative": {
        "firstName": "",
        "middleName": "",
        "lastName": "",
        "secondLastName": "",
        "email": ""
      }
    }
  },
  "invoicing": {
    "MX": {
      "shouldInvoice": false,
      "fiscalName": "",
      "fiscalRegimenCode": 601
    }
  }
}

Upload a file

Uploads a file to the user's record

Header Parameters

x-api-keystring

Path Parameters

idstring (objectid)Required

ID of the user

countrystring Required

Country where the user is onboarding to

Enum values:
MXPEUS
fileTypestring Required

Type of file being uploaded

Enum values:
certificateOfIncorporationKYCReporttaxTranscriptproofOfAddressbusinessRegistrationtaxIdentificationCertificatelegalRepresentativeIdPowerOfAttorneypersonalIdentificationCertificateextraFile

Body Parameters

filestring (binary)

File to be uploaded. Maximum size: 10MB.

Responses

200
Object
File uploaded successfully
400
Object
Invalid request data
401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

POST

/api/users/{id}/files/{country}/{fileType}

Select
1 curl --location --globoff --request POST 'https://www.riotransfer.co/api/users/{id}/files/MX/certificateOfIncorporation'

Response

File uploaded successfully

Get user's file

The "Get user's file" section allows users to retrieve the file associated with a specific user. This includes the ability to download a ZIP file containing any extra files associated with the user. By accessing this section, users can easily obtain necessary files for further processing or analysis.

Gets the file associated with the user (returns a ZIP file when getting a user's extra files)

Header Parameters

x-api-keystring

The API key used for authentication and authorization purposes. This parameter should be included in the header of the API request to ensure secure access to the user's files.

Path Parameters

idstring (objectid)Required

The unique identifier of the user. This parameter specifies the ID assigned to the user and is used to fetch their specific files.

countrystring Required

The country associated with the file. This parameter specifies the geographic location or origin of the file, allowing for country-specific files to be retrieved.

Enum values:
MXPEUS
fileTypestring Required

The type of file the user wants to download. This parameter specifies the format or category of the file, such as 'pdf', 'image', or 'audio'.

Enum values:
certificateOfIncorporationKYCReporttaxTranscriptproofOfAddressbusinessRegistrationtaxIdentificationCertificatelegalRepresentativeIdPowerOfAttorneypersonalIdentificationCertificateextraFile

Responses

200
Object
Returns the file associated with the user
401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

GET

/api/users/{id}/files/{country}/{fileType}

Select
1 curl --location --globoff 'https://www.riotransfer.co/api/users/{id}/files/MX/certificateOfIncorporation' \

Response

Returns the file associated with the user

Get user onboarding requirements

Gets the requirements for a user to onboard in the given country

Header Parameters

x-api-keystring

Query Parameters

countrystring

Country where the user is onboarding to

Enum values:
MXPEUS
typestring

User type

Enum values:
individualbusiness
CountryOfOriginstring

Country of origin of the user

Enum values:
DZARAUATBEBOBRCACLCO
... 45 other enums

Responses

200
Object
Returns the requirements for the user to onboard in the given country

Response Attributes

textRequirementsarray

Text requirements for the user to onboard

Enum values:
personalIdtaxId

Show child attributes

fileRequirementsarray

File requirements for the user to onboard

Enum values:
certificateOfIncorporationKYCReporttaxTranscriptproofOfAddressbusinessRegistrationtaxIdentificationCertificatelegalRepresentativeIdPowerOfAttorneypersonalIdentificationCertificate

Show child attributes

needsUBOOnboardingboolean

Whether or not the user's UBO needs to be onboarded

400
Object
Invalid request data
401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

GET

/api/users/requirements?country=MX&type=individual&CountryOfOrigin=DZ

Select
1 curl --location 'https://www.riotransfer.co/api/users/requirements?country=MX&type=individual&CountryOfOrigin=DZ'

Response

{
  "textRequirements": [
    ""
  ],
  "fileRequirements": [
    ""
  ],
  "needsUBOOnboarding": false
}

Get a user by id

Gets the user associated with the ID

Header Parameters

x-api-keystring

Path Parameters

idstring (objectid)Required

ID of the user (optional). If none passed, will get the limit of the user associated with the API key.

Responses

200
Object
Returns the limit of the user as well as how much has been used during the current period

Response Attributes

limitnumber

The user's limit in USD

usednumber

The amount of the user's limit that has been used during the current period in USD

401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

GET

/api/users/{id}/limits

Select
1 curl --location --globoff 'https://www.riotransfer.co/api/users/{id}/limits'

Response

{
  "limit": null,
  "used": null
}

Send partner onboarding email

Sends an email to the user with a link to the partner onboarding page. Only required when onboarding in the US.

Header Parameters

x-api-keystring

Path Parameters

idstring (objectid)Required

ID of the user.

Responses

200
Object
Onboarding email sent successfully
400
Object
Invalid request data
401
Object
Unauthorized
Was this section helpful?

What made this section unhelpful for you?

POST

/api/users/{id}/us/onboarding-email

Select
1 curl --location --globoff --request POST 'https://www.riotransfer.co/api/users/{id}/us/onboarding-email'

Response

Onboarding email sent successfully

Ubos

APIs for managing UBOs

Kyc

APIs for managing KYC verifications

Orders

APIs for managing orders

Bank Payments

APIs for managing bank payments

Bank Payouts

APIs for managing bank payouts

Quotes

APIs for managing quotes

Bank Accounts

APIs for managing bank accounts

Us Bank Accounts

APIs for managing US bank accounts

Invoices

APIs for managing invoices

Webhooks

APIs for managing webhooks