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 Kulpay API uses two authentication models depending on the service:

  • Core Services — License-based system authorization. No Authorization header required. See Authentication.
  • Collection Services — API Key + OIDC per-request authentication via Bearer tokens. See Collection API Authentication.

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

Kulpay Collection API

The following services are part of the Kulpay Collection API and require Bearer token authentication.

Payment Service

MethodEndpointDescription
POST/v1/paymentsCreate payment
GET/v1/paymentsList payments
POST/v1/payments/ingestIngest external payment
GET/v1/payments/{id}Get payment by ID
PUT/v1/payments/{id}Update payment
DELETE/v1/payments/{id}Delete payment

Collection Request Service

MethodEndpointDescription
POST/v1/collection-requestsCreate collection request (invoice)
GET/v1/collection-requests/{id}Get collection request
GET/v1/collection-requestsList collection requests
GET/v1/kulpay/collection-requests/list-by-phone-number/{phone_number}List by phone number
GET/v1/kulpay/collection-requests/get-request/{id}Get request (unsecured)
PUT/v1/collection-requests/{id}Update collection request
DELETE/v1/collection-requests/{id}Delete collection request

Collection Method Service

MethodEndpointDescription
POST/v1/collection-methodsCreate collection method
GET/v1/collection-methods/{id}Get collection method
GET/v1/collection-methodsList collection methods
PUT/v1/collection-methodsUpdate collection method
DELETE/v1/collection-methodsDelete collection method

Onboarding Service

MethodEndpointDescription
GET/v1/accountGet account information
POST/v1/accounts/{account_id}/approveApprove account
POST/v1/accounts/{account_id}/rejectReject account
POST/v1/accounts/{account_id}/suspendSuspend account
GET/v1/account/onboardingGet onboarding status
GET/v1/account/onboarding/detailsGet onboarding details
PUT/v1/account/onboarding/detailsUpdate onboarding details
POST/v1/account/onboarding/initializeInitialize onboarding
POST/v1/account/onboarding/finishFinish onboarding
POST/v1/filesUpload file

Identity Provider Service

MethodEndpointDescription
POST/v1/identity_providersCreate identity provider
GET/v1/identity_providers/{id}Get identity provider
GET/v1/identity_providersList identity providers
PUT/v1/identity_providersUpdate identity provider
DELETE/v1/identity_providersDelete identity provider

Webhooks & Events

MethodEndpointDescription
POST/v1/collection-requests/web-hook/bill-createdBill created notification
POST/v1/collection-requests/{id}/web-hook/bill-paidBill paid notification
POST/v1/collection-requests/{id}/web-hook/bill-openedBill opened notification
POST/v1/collection-requests/{id}/web-hook/bill-deliveredBill delivered notification
POST/v1/collection-requests/{id}/web-hook/customer-paidCustomer paid notification
POST/v1/collection-requests/{id}/web-hook/kulpayKulpay app notification