Home
Home
  1. 💸 Transaction API
  • 🚀 Getting Started
  • 🔎 Screening API
    • Overview
    • Blacklist Matching Logic
    • Blockchain Analysis
      POST
    • Individuals Analysis
      POST
    • Organizations Analysis
      POST
    • Screening Entities Summary Analysis
      POST
    • Create BlackList
      POST
    • Get All BlackList Records
      GET
    • Get Blacklist Record by ID
      GET
    • Delete Blacklist Record by ID
      DELETE
    • Update Blacklist Record by ID
      PATCH
    • Update Blacklist Settings Account
      PATCH
  • 🌊 Flow API
    • Overview
    • Flow Step: Identity Verification
    • Flow Step: Onboarding Individual
    • Flow Step: Onboarding Organization
    • 📡 Endpoints
      • Authentication token
      • Get Flow Instance
      • Get File from Flow Instance
      • Identity: Get Details
      • Identity: Get Files
      • Identity: Update Status
      • Onboarding: Get Details
      • Onboarding: Get File
      • Onboarding: Get Multiple Files
      • Onboarding: Update Status
    • 📤 Webhooks
      • Webhooks Overview
      • Flow
      • Identity Verification
      • Onboarding Individual
      • Onboarding Organizations
      • Identity Verification by Onboarding
  • 💸 Transaction API
    • 🔑 Authentication
    • Overview
    • Transaction Analysis
    • Transaction Status
    • Document Types
    • Cryptocurrencies
    • Diagram
    • 📤 Webhooks
  • 📡 Endpoints
    • Create operation
    • Get operation
    • Get valid document types
    • Get valid coins
  • 📂 Resources
    • Concept Details
    • Enum Validation
Home
Home
  1. 💸 Transaction API

Transaction Analysis

This endpoint allows you to register a transaction and initiate the analysis process to ensure regulatory compliance.
URL: https://app.rillis.io/api/v1/verification/send
Method: POST

Request#

Authentication Properties#

ParameterTypeRequiredDescription
client_idStringYesYour unique client identifier.
client_secretStringYesYour secret key for API authentication.

Transaction Properties#

ParameterTypeRequiredDescription
client_transaction_idStringYesA unique identifier for the transaction, assigned by your system.
transaction_typeEnumYesTransaction type: "fiat" or "crypto".
sending_dollar_amountNumberYesAmount in US dollars.
sending_amountNumberYesAmount to be sent by the sender.
sending_currencyStringYesCurrency to be sent by the sender (e.g., "USD", "EUR", "BTC").
receiving_amountNumberYesAmount to be received by the beneficiary.
receiving_currencyStringYesCurrency to be received by the beneficiary (e.g., "USD", "EUR", "BTC").
crypto_networkStringFor cryptoType of cryptocurrency network (e.g., "Bitcoin", "Ethereum"). Required for crypto transactions.
crypto_assetStringFor cryptoType of asset (e.g., "BTC", "ETH"). Required for crypto transactions.
sending_walletStringFor cryptoSender's wallet address. Required for crypto transactions.
receiving_walletStringFor cryptoBeneficiary's wallet address. Required for crypto transactions.

Example Request (Fiat Transaction)#

{
  "client_id": "your_client_id",
  "client_secret": "your_client_secret",
  "client_transaction_id": "transaction_12345",
  "transaction_type": "fiat",
  "sending_dollar_amount": 100,
  "sending_amount": 100,
  "sending_currency": "USD",
  "receiving_amount": 92,
  "receiving_currency": "EUR"
}

Example Request (Crypto Transaction)#

{
  "client_id": "your_client_id",
  "client_secret": "your_client_secret",
  "client_transaction_id": "transaction_67890",
  "transaction_type": "crypto",
  "sending_dollar_amount": 1000,
  "sending_amount": 0.05,
  "sending_currency": "BTC",
  "receiving_amount": 1000,
  "receiving_currency": "USD",
  "crypto_network": "Bitcoin",
  "crypto_asset": "BTC",
  "sending_wallet": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
  "receiving_wallet": "3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy"
}

Response#

A successful request will return a JSON response with the following properties:
ParameterTypeDescription
successBooleanIndicates whether the request was successful.
messageStringA message describing the result of the operation.
transaction_idStringThe unique identifier for the transaction in the Rillis system.
client_transaction_idStringThe unique identifier for the transaction provided in the request.
statusEnumCurrent status of the transaction: "PENDING", "IN_PROGRESS", "COMPLETED", "REJECTED", or "MANUAL_REVIEW".

Example Response#

{
  "success": true,
  "message": "Transaction registered successfully",
  "transaction_id": "rillis_tx_12345",
  "client_transaction_id": "transaction_12345",
  "status": "PENDING"
}

Error Responses#

In case of an error, the API will return an appropriate HTTP status code along with a JSON response containing error details:
Status CodeDescription
400Bad Request - The request was invalid or cannot be processed.
401Unauthorized - Authentication credentials are missing or invalid.
403Forbidden - The client does not have permission to access the requested resource.
429Too Many Requests - The client has sent too many requests in a given amount of time.
500Internal Server Error - An error occurred on the server.

Example Error Response#

{
  "success": false,
  "error": "Invalid transaction type",
  "error_code": "INVALID_PARAMETER",
  "details": "Transaction type must be either 'fiat' or 'crypto'"
}

Notes#

The analysis process typically takes approximately 30 seconds to complete.
You can check the status of a transaction using the Transaction Status endpoint.
If you have configured a webhook, you will receive a notification when the transaction status changes.
Each client_transaction_id must be unique across all your transactions.

Rate Limits#

Maximum of 100 requests per minute.
Maximum of 1,000 requests per hour.
Maximum of 10,000 requests per day.
Exceeding these limits will result in a 429 Too Many Requests response.
Modified at 2025-04-04 01:52:45
Previous
Overview
Next
Transaction Status
Built with