Bultra API Reference

Version 1.0.0

Complete API reference for integrating with the Bultra platform. Build payment solutions with our RESTful API.

Introduction

The Bultra API is organized around REST principles. Our API accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Base URL

All API requests should be made to the following base URLs:

Production
https://api.bultra.com/v1
App
https://app.bultra.com/v1

Authentication

The Bultra API uses OAuth 2.0 with the client credentials grant type. Include your access token in the Authorization header:

Authorization: Bearer YOUR_ACCESS_TOKEN

Obtaining an Access Token

POST /oauth2/token HTTP/1.1
Host: auth.bultra.com
Authorization: Basic {base64(client_id:client_secret)}
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&scope=accounts:read accounts:write

Request Format

All requests must include the following headers:

Header Required Description
Authorization Yes Bearer token for authentication
Content-Type Yes Must be application/json
x-bultra-idempotency-id No UUID for idempotent requests

Response Format

All responses are returned in JSON format. Successful responses include the requested data, while error responses include an error object with details.

Success Response

{
  "id": "acc_123456789",
  "type": "deposit",
  "currency": "USD",
  "balance": {
    "available": "10000.00",
    "total": "10500.00"
  },
  "status": "ACTIVE",
  "created_at": "2026-01-15T10:30:00Z"
}

Error Response

{
  "error": {
    "code": "INVALID_REQUEST",
    "message": "The request body is missing required fields",
    "details": [
      {
        "field": "amount",
        "message": "Amount is required"
      }
    ]
  }
}

HTTP Status Codes

Code Description
200 OK - Request succeeded
201 Created - Resource created successfully
400 Bad Request - Invalid request parameters
401 Unauthorized - Invalid or missing authentication
403 Forbidden - Insufficient permissions
404 Not Found - Resource does not exist
422 Unprocessable Entity - Validation error
429 Too Many Requests - Rate limit exceeded
500 Internal Server Error - Server error

Pagination

List endpoints support pagination using cursor-based pagination:

Parameter Type Description
limit integer Number of records to return (default: 20, max: 100)
cursor string Cursor for pagination

Rate Limiting

API requests are rate limited to ensure fair usage. Current limits:

Rate limit information is included in response headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1704067200

API Endpoints

Explore the available API endpoints: