B2B API allows a third party to access different use cases and services inside of Ripio ecosystem. It is organized around RESTful constraints, with requests and responses in JSON format, using HTTP in the standard format and the answer codes. The API is designed to be compliant with OpenAPI Specification v3.0, which is a trusted open source standard for HTTP-Based APIs.

The API offers the ability to test it with a simple, yet powerful sandbox that will enhance developer experience and replicate production capabilities in a well isolated and safe environment, giving developers full freedom to try the integration without compromises.

Error Handling

If a request to B2B REST API fails, the response will contain an five-digit error code with a corresponding error message to indicate the details of the error.

The following code snippet is a sample error response that contains an error code and message pair:

{
    "code": 40001,
    "type": "NotAuthenticated",
    "detail": {
        "message": "Authentication credentials were not provided.",
        "code": "not_authenticated"
    },
    "status": 403
}

Error Codes

CodeError CategoryDescriptionResolution
20000Validation ErrorRaised when there is a semantic error in the payload of the request.Check the docs for precise information on how to provide correct values for each resource atribute.
20001Parse ErrorRaised when the API receives a malformed JSON document.Check for syntax errors in the payload of your request. Also look for sample requests in the docs related to the desired operation.
20010Expired QuoteRaised when the received quote to execute has expired.Generate a new quote and execute it within the 30 seconds time window.
20011Already Executed QuoteRaised when the received quote to execute has been executed before.Try Generating a new quote with the former pair/amounts to replicate a similar trade.
20012Not Enough BalanceRaised when the amount to operate (sale/purchase) is larger than the balance amount of the debited currency.Check end user’s balances in order to inform the discrepancy before quote execution. Please contact our support team for further assistance.
20013Buy Limit Frequency ExceededRaised when the “BUY” frequency limit for a given end user has been reached.Check end user’s limits using Limits API in order to inform the discrepancy before performing a quote execution.
20014Sell Limit Frequency ExceededRaised when the “SELL” frequency limit for a given end user has been reached.Check end user’s limits using Limits API in order to inform the discrepancy before performing a quote execution.
20015Buy Limit Amount ExceededRaised when the “BUY” amount limit for a given end user has been reached.Check end user’s limits using Limits API in order to inform the discrepancy before performing a quote execution.
20016Sell Limit Amount ExceededRaised when the “SELL” amount limit for a given end user has been reached.Check end user’s limits using Limits API in order to inform the discrepancy before performing a quote execution.
20017Buy Transaction Min Limit ExceededRaised when the “BUY” amount min limit on a single transaction is exceeded.Check Ripio’s min and max transaction limits.
20018Buy Transaction Max Limit ExceededRaised when the “BUY” amount max limit on a single transaction is exceeded.Check Ripio’s min and max transaction limits.
20019Sell Transaction Min Limit ExceededRaised when the “SELL” amount min limit on a single transaction is exceeded.Check Ripio’s min and max transaction limits.
20020Sell Transaction Max Limit ExceededRaised when the “SELL” amount max limit on a single transaction is exceeded.Check Ripio’s min and max transaction limits.
20021Banned EndUserRaised when a quote execution request comes from a banned user.Please reach out our support team in order to get full detail on why the end user has been banned.
20022Swap Transaction Min Limit ExceededRaised when the “SWAP” amount min limit on a single transaction is exceeded.Check Ripio’s min and max transaction limits.
20023Swap Transaction Max Limit ExceededRaised when the “SWAP” amount max limit on a single transaction is exceeded.Check Ripio’s min and max transaction limits.
20024Swap Limit Frequency ExceededRaised when the “SWAP” frequency limit for a given end user has been reached.Check end user’s limits using Limits API in order to inform the discrepancy before performing a quote execution.
20025Swap Limit Amount ExceededRaised when the “SWAP” amount limit for a given end user has been reached.Check end user’s limits using Limits API in order to inform the discrepancy before performing a quote execution.
20026Quote With No PriceRaised when the received reusable quote to execute has no price.Try Generating a new reusable quote with the former pair to replicate a similar trade.
20027Expired Withdrawal FeeRaised when trying to execute a withdrawal fee that has already expired.Request another withdrawal Fee.
20029Invalid addressRaised when the address provided is not valid on given network.Try with a valid addres for that network.
20030Kyc not approved for end userRaised when the end user doesn’t have a kyc process approved.Check the status of end user’s verification submission
20031Kyc already approved for end userRaised when the end user already has an approved kyc process.-
20032Invalid or disabled payment method typeRaised when the payment_method_type does not exist or is disabled for the acccount.Please reach out our support team.
20033Frequency limit exceeded for fiat withdrawalsRaised when the QTY limit for a given currency in a FIAT_WITHDRAWAL operation is exceeded.-
20034Amount limit exceeded for fiat withdrawalsRaised when the amount limit for a given currency in a FIAT_WITHDRAWAL operation is exceeded.-
20035Fiat account is requiredRaised when a fiat account is required.Create a Fiat account first.
40000Authentication FailedRaised when an incoming request includes incorrect authentication.Check for invalid credentials in your request when trying to authenticate.
40001Not AuthenticatedRaised when an unauthenticated request fails the permission checks.Check if your request contains a valid and non-expired access_token.
40003Permission DeniedRaised when an authenticated request fails the permission checks.Check if you have OAuth scopes to access requested resource. Please contact our support team if you think this is an error.
40004Not FoundRaised when a resource does not exists at the given URL.Check if the resource you’re looking for does exist.
40005Method Not AllowedRaised when an incoming request has been performed with certain HTTP verb that is not valid for the requested resource.Check the resource’s docs section to learn the accepted HTTP methods.
40006Bad RequestRaised when historical market price API endpoint has not been used properly.Check for syntax errors in the payload of your request. Also look for sample requests in the docs related to the desired operation.
40007Bad RequestRaised when a currency network is not allowed to operate the selected currency.Check if your request contains a valid network for the selected currency.
40008Not FoundRaised when a currency doesn’t have its limits configured.Please reach out our support team with the error details and detailed execution flow.
40009Bad RequestRaised when an existing Quote with defined external_ref has not been executed, thus it can not be excuted idempotently.Use another external_ref for the Quote.
40010Service UnavailableRaised when there are no addresses available for networks compatible with a specific network name.Please reach out our support team with the error details and detailed execution flow.
40015Unsupported Media TypeRaised when the content type of the request data is not JSON compliant.Check if your request data is compliant with JSON format.
40029ThrottledRaised when an incoming request fails the throttling checks.Check if you are exceding the daily/hourly request quota for your account. Please contact our support team if you think you’ll need an extended quota for your use-case.
50003Service UnavailableRaised when the service (or requested resource) is not available.Please reach out our support team with the error details and detailed execution flow.