Skip to main content

API Overview

The Kulpay API REST API is served via gRPC-Gateway and provides JSON-based endpoints for all system operations.

Base URL

https://<host>:8080/v1/

All endpoints are prefixed with /v1/.

Content Type

DirectionContent-Type
Requestapplication/json (or multipart/form-data for file uploads)
Responseapplication/json

Authentication

The system uses license-based authorization. The license is validated at the middleware level on every request — no Authorization header is required from API consumers.

See Authentication for details.

Pagination

List endpoints support cursor-based or token-based pagination:

ParameterTypeDescription
page_sizeintegerNumber of items per page (default: 50, max: 100)
page_tokenstringToken from previous response to fetch next page

Paginated responses include:

FieldTypeDescription
dataarrayArray of result objects
has_morebooleantrue if more results exist
next_page_tokenstringToken for next page (if has_more is true)

Endpoint Summary

Customer Service

MethodEndpointDescription
POST/v1/customers/initiateInitiate customer creation
POST/v1/customersVerify customer phone
GET/v1/customers/{id}Get customer details
PUT/v1/customers/{id}Update customer
DELETE/v1/customers/{id}Delete customer
GET/v1/customersList customers
POST/v1/customers/{id}/upload-documentUpload ID document
POST/v1/customers/{id}/upload-selfieUpload selfie for face verification
POST/v1/customers/{id}/profile/pictureChange profile picture
GET/v1/customers/get-receiver/{phone_number}Get receiver data by phone

KYC Service

MethodEndpointDescription
GET/v1/customers/{id}/kycList KYC verifications

KYC Log Service

MethodEndpointDescription
GET/v1/kyc/{id}/logsGet KYC logs
POST/v1/kyc/{id}/logsAdd message to KYC log
POST/v1/kyc/{id}/logs/saveUpload additional document
POST/v1/kyc/{id}/logs/save-dateAdd document validity
PUT/v1/customers/{id}/kyc/{kyc_id}/reviewsReview KYC verification
POST/v1/customers/{id}/kyc/{kyc_id}/reviews/readySubmit documents for review
GET/v1/customers/{id}/kyc/{kyc_id}Get specific KYC verification
GET/v1/customers/{id}/kyc/logsGet customer KYC logs

Bills Service

MethodEndpointDescription
GET/v1/customers/{id}/billsList customer bills

Partner & Payment Methods Service

MethodEndpointDescription
GET/v1/partnersList partners
GET/v1/partners/{id}Get partner details
POST/v1/customers/{id}/payment_methodsCreate payment method
GET/v1/customers/{id}/payment_methodsList payment methods
GET/v1/customers/{id}/payment_methods/{payment_method_id}Get payment method
POST/v1/customers/{id}/payment_methods/{payment_method_id}/statusSet payment method status
POST/v1/customers/{id}/payment_methods/{payment_method_id}/transactionsProcess transaction
GET/v1/customers/{id}/transactionsGet transaction history
GET/v1/customers/{id}/transactions/{instruction_id}Get transaction details
POST/v1/partners/get-logoGet card logo

Instruction Service

MethodEndpointDescription
POST/v1/partners/{agent_id}/depositRegister deposit instruction

License Service

MethodEndpointDescription
POST/v1/license/activateActivate license
GET/v1/licenseGet license information
POST/v1/license/deactivateDeactivate license
POST/v1/license/validateValidate license

Device Service

MethodEndpointDescription
POST/v1/devices/trustRegister device information
GET/v1/devices/{device_id}Get device information

System Service

MethodEndpointDescription
GET/v1/system/config/supported-docsGet supported documents
GET/v1/system/accountopening/checklistGet KYC checklist
GET/v1/versionGet version information

Provider Service

MethodEndpointDescription
GET/v1/providers/{id}Get provider details
GET/v1/providersList providers