Skip to main content
POST
/
kyb
Create KYB Application
curl --request POST \
  --url https://api.rolla.xyz/api/v1/external/kyb \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "business_info": {
    "legalName": "Acme Corp Ltd",
    "tradingName": "<string>",
    "businessType": "Limited Company",
    "incorporationDate": "2020-01-15",
    "incorporationCountry": "NG",
    "registrationNumber": "RC-1234567",
    "taxId": "12345678-0001",
    "website": "<string>",
    "description": "<string>",
    "monthlyVolume": "<string>",
    "annualRevenue": "<string>",
    "primaryFundingSource": "<string>"
  },
  "business_address": {
    "street": "123 Main Street",
    "city": "Lagos",
    "state": "Lagos",
    "postalCode": "100001",
    "country": "NG"
  },
  "contact_info": {
    "email": "contact@acmecorp.com",
    "phone": "+2341234567890"
  },
  "related_persons": [
    {
      "id": "<string>",
      "firstName": "John",
      "lastName": "Doe",
      "roles": [
        "Beneficial Owner"
      ],
      "email": "jsmith@example.com",
      "phone": "<string>",
      "dateOfBirth": "1990-01-15",
      "ownershipPercentage": 50,
      "currentAddress": {
        "street": "123 Main Street",
        "city": "Lagos",
        "state": "Lagos",
        "postalCode": "100001",
        "country": "NG"
      },
      "sourceOfWealthExplanation": "<string>",
      "bvn": "<string>",
      "nin": "<string>"
    }
  ],
  "banking_info": {
    "bankName": "<string>",
    "accountNumber": "<string>",
    "routingNumber": "<string>",
    "accountType": "checking",
    "currency": "<string>"
  },
  "current_step": 2,
  "is_complete": true,
  "status": "draft"
}
'
{
  "success": true,
  "message": "Application created successfully",
  "data": {
    "application": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "status": "draft",
      "current_step": 123,
      "is_complete": true,
      "business_info": {
        "legalName": "Acme Corp Ltd",
        "tradingName": "<string>",
        "businessType": "Limited Company",
        "incorporationDate": "2020-01-15",
        "incorporationCountry": "NG",
        "registrationNumber": "RC-1234567",
        "taxId": "12345678-0001",
        "website": "<string>",
        "description": "<string>",
        "monthlyVolume": "<string>",
        "annualRevenue": "<string>",
        "primaryFundingSource": "<string>"
      },
      "business_address": {
        "street": "123 Main Street",
        "city": "Lagos",
        "state": "Lagos",
        "postalCode": "100001",
        "country": "NG"
      },
      "contact_info": {
        "email": "contact@acmecorp.com",
        "phone": "+2341234567890"
      },
      "related_persons": [
        {
          "id": "<string>",
          "firstName": "John",
          "lastName": "Doe",
          "roles": [
            "Beneficial Owner"
          ],
          "email": "jsmith@example.com",
          "phone": "<string>",
          "dateOfBirth": "1990-01-15",
          "ownershipPercentage": 50,
          "currentAddress": {
            "street": "123 Main Street",
            "city": "Lagos",
            "state": "Lagos",
            "postalCode": "100001",
            "country": "NG"
          },
          "sourceOfWealthExplanation": "<string>",
          "bvn": "<string>",
          "nin": "<string>"
        }
      ],
      "banking_info": {
        "bankName": "<string>",
        "accountNumber": "<string>",
        "routingNumber": "<string>",
        "accountType": "checking",
        "currency": "<string>"
      },
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z"
    }
  }
}
Create a new KYB application for your business. All fields are optional, allowing you to save a draft and complete it later using the update endpoint.

Example Request

curl -X POST "https://api.rolla.xyz/api/v1/external/kyb" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "business_info": {
      "legalName": "Acme Corp Ltd",
      "tradingName": "Acme",
      "businessType": "Limited Company",
      "incorporationDate": "2020-01-15",
      "incorporationCountry": "NG",
      "registrationNumber": "RC-1234567",
      "taxId": "12345678-0001"
    },
    "business_address": {
      "street": "123 Main Street",
      "city": "Lagos",
      "state": "Lagos",
      "postalCode": "100001",
      "country": "NG"
    },
    "contact_info": {
      "email": "contact@acmecorp.com",
      "phone": "+2341234567890"
    }
  }'

Example Response

{
  "success": true,
  "message": "Application created successfully",
  "data": {
    "application": {
      "id": "f6a7b8c9-d0e1-2345-fghi-678901234567",
      "status": "draft",
      "current_step": 1,
      "is_complete": false,
      "business_info": {
        "legalName": "Acme Corp Ltd",
        "tradingName": "Acme",
        "businessType": "Limited Company",
        "incorporationDate": "2020-01-15",
        "incorporationCountry": "NG",
        "registrationNumber": "RC-1234567",
        "taxId": "12345678-0001"
      },
      "created_at": "2024-01-15T10:30:00.000Z",
      "updated_at": "2024-01-15T10:30:00.000Z"
    }
  }
}
Only one KYB application can exist per business. This endpoint returns a 409 Conflict if an application already exists. Use PUT /kyb to update an existing application.

Authorizations

X-API-Key
string
header
required

Your Rolla API key

Body

application/json
business_info
object
business_address
object
contact_info
object
banking_info
object
current_step
integer
Required range: x >= 1
is_complete
boolean
status
enum<string>
Available options:
draft,
submitted,
approved,
rejected,
changes_requested

Response

Application created successfully

success
boolean
Example:

true

message
string
Example:

"Application created successfully"

data
object