Skip to content

Lumo B2B Platform API (1.0.0)

API reference for company-facing endpoints of Lumo B2B platform.

Scope of this reference:

  • Company auth/profile
  • Orders (prepare/accept/list/get)
  • Company disputes
  • Company wallet + deposits
  • User wallets (per externalId) + user deposits

Not included:

  • Admin endpoints
Download OpenAPI description
Languages
Servers
Mock server
https://b2b-app.lumowallet.io/_mock/apis
Production
https://b2b.lumowallet.io
Staging
https://b2b-staging.lumowallet.io

Company Auth

Company registration, login, and profile management.

Operations

Orders

Quote preparation and order lifecycle operations.

Operations

Prepare order (create quote)

Request

Creates quote from NSPK QR code. Quote TTL is short-lived (30 seconds in current implementation).

Security
apiKeyAuth
Bodyapplication/jsonrequired
qrCodestring<= 4000 charactersrequired

NSPK QR payload or URL

externalOrderIdstring<= 255 characters
curl -i -X POST \
  https://b2b-app.lumowallet.io/_mock/apis/orders/prepare \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "qrCode": "string",
    "externalOrderId": "string"
  }'

Responses

Quote prepared

Bodyapplication/json
idstring(uuid)required
amountRubnumberrequired
amountUsdtnumberrequired
ratenumberrequired

RUB/USDT rate used for conversion

expiresAtstring(date-time)required
isBalanceSufficientbooleanrequired
merchantNamestring or null
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "amountRub": 0, "amountUsdt": 0, "rate": 0, "expiresAt": "2019-08-24T14:15:22Z", "isBalanceSufficient": true, "merchantName": "string" }

Accept quote and create order

Request

Converts quote into order and reserves funds (frozenBalance).

Idempotency:

  • Optional header Idempotency-Key.
  • Repeated request with same key for same company returns stored response.
Security
apiKeyAuth
Path
idstring(uuid)required

Quote ID

Headers
Idempotency-Keystring<= 255 characters
curl -i -X POST \
  'https://b2b-app.lumowallet.io/_mock/apis/orders/accept/{id}' \
  -H 'Idempotency-Key: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Order accepted

Bodyapplication/json
idstring(uuid)required
amountUsdtnumberrequired
amountRubnumberrequired
statusstring(OrderStatus)required
Enum"created""in_progress""success""failed""expired_no_taker""expired_by_system""disputed"
paymentUntilstring(date-time)required
merchantNamestring or null
externalOrderIdstring or null
completedAtstring or null(date-time)
failureReasonstring or null
createdAtstring(date-time)required
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "amountUsdt": 0, "amountRub": 0, "status": "created", "paymentUntil": "2019-08-24T14:15:22Z", "merchantName": "string", "externalOrderId": "string", "completedAt": "2019-08-24T14:15:22Z", "failureReason": "string", "createdAt": "2019-08-24T14:15:22Z" }

List company orders

Request

Security
apiKeyAuth
Query
statusstring(OrderStatus)
Enum"created""in_progress""success""failed""expired_no_taker""expired_by_system""disputed"
limitinteger[ 1 .. 200 ]
Default 20
offsetinteger>= 0
Default 0
curl -i -X GET \
  'https://b2b-app.lumowallet.io/_mock/apis/orders?status=created&limit=20&offset=0' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Orders list

Bodyapplication/json
ordersArray of objects(Order)required
orders[].​idstring(uuid)required
orders[].​amountUsdtnumberrequired
orders[].​amountRubnumberrequired
orders[].​statusstring(OrderStatus)required
Enum"created""in_progress""success""failed""expired_no_taker""expired_by_system""disputed"
orders[].​paymentUntilstring(date-time)required
orders[].​merchantNamestring or null
orders[].​externalOrderIdstring or null
orders[].​completedAtstring or null(date-time)
orders[].​failureReasonstring or null
orders[].​createdAtstring(date-time)required
totalintegerrequired
Response
application/json
{ "orders": [ {} ], "total": 0 }

Get order by id

Request

Security
apiKeyAuth
Path
idstring(uuid)required
curl -i -X GET \
  'https://b2b-app.lumowallet.io/_mock/apis/orders/{id}' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Order details

Bodyapplication/json
idstring(uuid)required
amountUsdtnumberrequired
amountRubnumberrequired
statusstring(OrderStatus)required
Enum"created""in_progress""success""failed""expired_no_taker""expired_by_system""disputed"
paymentUntilstring(date-time)required
merchantNamestring or null
externalOrderIdstring or null
completedAtstring or null(date-time)
failureReasonstring or null
createdAtstring(date-time)required
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "amountUsdt": 0, "amountRub": 0, "status": "created", "paymentUntil": "2019-08-24T14:15:22Z", "merchantName": "string", "externalOrderId": "string", "completedAt": "2019-08-24T14:15:22Z", "failureReason": "string", "createdAt": "2019-08-24T14:15:22Z" }

Disputes

Company dispute creation and listing.

Operations

Company Wallet

Company deposit wallet, balances, and deposit history.

Operations

User Wallets

Per-user wallet management and user deposit history.

Operations