Skip to main content
POST
/
accounts
/
{accountId}
/
submit
Submit Application
curl --request POST \
  --url https://api.rolla.xyz/api/v1/external/accounts/{accountId}/submit \
  --header 'X-API-Key: <api-key>'
{
  "success": true,
  "message": "Application submitted successfully",
  "data": {
    "application": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "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": [],
          "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>",
        "currency": "<string>"
      },
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z"
    },
    "documents": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "applicationId": "<string>",
        "fileName": "<string>",
        "fileUrl": "<string>",
        "relatedPersonKey": "<string>",
        "created_at": "2023-11-07T05:31:56Z"
      }
    ]
  }
}
Validates that the account’s application is complete and submits it for compliance review. If anything is missing, the response lists exactly what’s outstanding.

Example Request

curl -X POST "https://api.rolla.xyz/api/v1/external/accounts/b6075be0-f1d0-451f-a468-3e94563101d2/submit" \
  -H "X-API-Key: your_api_key_here"

Example Response

{
  "success": true,
  "message": "Application submitted successfully",
  "data": {
    "application": {
      "id": "f436daf8-146b-4949-bf28-9b36440085a4",
      "status": "submitted",
      "is_complete": true,
      "entity_type": "individual"
    },
    "documents": [
      {
        "document_type": "proof_of_address",
        "file_name": "bank_statement.pdf"
      }
    ]
  }
}

Error Responses

Application incomplete (400)

{
  "status": 400,
  "message": "Application is incomplete",
  "code": "APPLICATION_INCOMPLETE",
  "missingFields": [],
  "missingDocuments": ["proof_of_address"]
}
{
  "status": 409,
  "message": "All beneficial owners must complete KYC before submission",
  "code": "KYC_INCOMPLETE",
  "unverified": [
    {
      "personId": "a3d4f21e-f499-488f-8508-43228dfea485",
      "name": "Jane Doe"
    }
  ]
}

Key Behaviours

Business accounts: every related person must have completed identity verification before submission. Generate KYC links for any unverified person and retry once they finish.
Submitted applications are locked for editing. If the review team requests changes, the application reopens with a changes_requested status and a note explaining what to fix.

Authorizations

X-API-Key
string
header
required

Your Rolla API key

Path Parameters

accountId
string<uuid>
required

Identifier of an account owned by the same user as your API key's business

Response

Application submitted successfully

success
boolean
Example:

true

message
string
Example:

"Application submitted successfully"

data
object