Settlement Service API
API Endpoint
https://api.dictra.com.brSettlement Service provides core banking settlement operations for the DICTRA PIX platform, including payment processing, QR code generation, file import/export, and recurring payment schedules.
Version: 1.0.0
Base URL: /api/v1
Key Features
-
Payment Requests: Create, track, and manage PIX payment requests
-
QR Code Generation: Generate BR Code/EMV PIX QR codes with CRC16 validation
-
File Import/Export: Process CNAB240, CNAB400, CSV, and JSON payment files
-
Recurring Schedules: Manage scheduled and recurring payments (ONCE, DAILY, WEEKLY, MONTHLY)
-
Credit Confirmation: Two-step payment confirmation workflow
Authentication
All endpoints (except health checks) require JWT authentication via Authorization: Bearer <token> header.
Health ¶
Health Check ¶
Headers
Content-Type: application/jsonBody
{
"status": "ok"
}Liveness ProbeGET/health
Simple liveness check to verify the service is running.
Readiness Check ¶
Headers
Content-Type: application/jsonBody
{
"status": "ready",
"database": "connected"
}Headers
Content-Type: application/jsonBody
{
"status": "unavailable",
"database": "disconnected"
}Readiness ProbeGET/ready
Readiness check with database connectivity verification.
Payment Requests ¶
Payment request endpoints for creating and managing PIX payment transactions.
Payment Collection ¶
Headers
Content-Type: application/json
Authorization: Bearer <jwt_token>Body
{
"external_id": "MERCHANT-12345",
"amount": 15000,
"currency": "BRL",
"debtor_ispb": "12345678",
"debtor_document": "12345678901",
"debtor_name": "João da Silva",
"debtor_account_no": "123456",
"debtor_account_type": "CACC",
"debtor_branch": "0001",
"creditor_ispb": "87654321",
"creditor_document": "98765432100",
"creditor_name": "Maria Santos",
"creditor_account_no": "654321",
"creditor_account_type": "SVGS",
"creditor_branch": "0002",
"description": "Payment for invoice #12345",
"qr_code_data": "00020126...6304ABCD",
"tx_id": "ABC123XYZ",
"scheduled_date": "2026-02-15T10:00:00Z",
"discounts": [
{
"date": "2026-02-10T00:00:00Z",
"amount": 500
}
],
"additional_info": [
{
"key": "invoice_number",
"value": "INV-12345"
}
]
}Schema
{
"type": "object",
"required": [
"amount",
"debtor_ispb",
"debtor_document",
"debtor_account_no",
"debtor_account_type",
"creditor_ispb",
"creditor_document",
"creditor_account_no",
"creditor_account_type"
],
"properties": {
"external_id": {
"type": "string"
},
"amount": {
"type": "integer",
"minimum": 1
},
"currency": {
"type": "string",
"enum": [
"BRL"
]
},
"debtor_ispb": {
"type": "string",
"pattern": "^[0-9]{8}$"
},
"debtor_document": {
"type": "string"
},
"debtor_name": {
"type": "string"
},
"debtor_account_no": {
"type": "string"
},
"debtor_account_type": {
"type": "string",
"enum": [
"CACC",
"SVGS",
"SLRY",
"TRAN"
]
},
"debtor_branch": {
"type": "string"
},
"creditor_ispb": {
"type": "string",
"pattern": "^[0-9]{8}$"
},
"creditor_document": {
"type": "string"
},
"creditor_name": {
"type": "string"
},
"creditor_account_no": {
"type": "string"
},
"creditor_account_type": {
"type": "string",
"enum": [
"CACC",
"SVGS",
"SLRY",
"TRAN"
]
},
"creditor_branch": {
"type": "string"
},
"description": {
"type": "string",
"maxLength": 140
},
"qr_code_data": {
"type": "string"
},
"tx_id": {
"type": "string"
},
"scheduled_date": {
"type": "string",
"format": "date-time"
}
}
}Headers
Content-Type: application/jsonBody
{
"id": 12345,
"unique_id": "a3b5c7d9-e1f3-4567-8901-23456789abcd",
"external_id": "MERCHANT-12345",
"status": "PENDING",
"amount": 15000,
"currency": "BRL",
"debtor_ispb": "12345678",
"debtor_document": "12345678901",
"debtor_name": "João da Silva",
"debtor_account_no": "123456",
"debtor_account_type": "CACC",
"debtor_branch": "0001",
"creditor_ispb": "87654321",
"creditor_document": "98765432100",
"creditor_name": "Maria Santos",
"creditor_account_no": "654321",
"creditor_account_type": "SVGS",
"creditor_branch": "0002",
"description": "Payment for invoice #12345",
"qr_code_data": "00020126...6304ABCD",
"tx_id": "ABC123XYZ",
"scheduled_date": "2026-02-15T10:00:00Z",
"discounts": [
{
"date": "2026-02-10T00:00:00Z",
"amount": 500
}
],
"additional_info": [
{
"key": "invoice_number",
"value": "INV-12345"
}
],
"created_at": "2026-01-24T10:30:00Z",
"updated_at": "2026-01-24T10:30:00Z"
}Headers
Content-Type: application/jsonBody
{
"error": {
"code": "VALIDATION_ERROR",
"message": "amount must be greater than zero"
}
}Create Payment RequestPOST/payments
Create a new payment request. The request can be immediate or scheduled for future processing.
Status Lifecycle:
PENDING- Initial statePROCESSING- Payment is being processedCOMPLETED- Payment successfully completedFAILED- Payment failedCANCELLED- Payment cancelled by userSCHEDULED- Payment scheduled for future date
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"data": [
{
"id": 12345,
"unique_id": "a3b5c7d9-e1f3-4567-8901-23456789abcd",
"status": "COMPLETED",
"amount": 15000,
"currency": "BRL",
"debtor_ispb": "12345678",
"creditor_ispb": "87654321",
"end_to_end_id": "E1234567820260124103000000001",
"created_at": "2026-01-24T10:30:00Z",
"processed_at": "2026-01-24T10:31:00Z"
}
],
"pagination": {
"total": 150,
"page": 0,
"page_size": 20,
"total_pages": 8
}
}List Payment RequestsGET/payments{?status,debtor_ispb,creditor_ispb,min_amount,max_amount,limit,offset}
List payment requests with optional filters and pagination.
- status
string(optional) Example: PENDINGFilter by status (PENDING, PROCESSING, COMPLETED, FAILED, CANCELLED, SCHEDULED)
- debtor_ispb
string(optional) Example: 12345678Filter by debtor ISPB
- creditor_ispb
string(optional) Example: 87654321Filter by creditor ISPB
- min_amount
number(optional) Example: 1000Minimum amount in centavos
- max_amount
number(optional) Example: 100000Maximum amount in centavos
- limit
number(optional) Default: 20 Example: 20Number of results per page (max 100)
- offset
number(optional) Default: 0 Example: 0Offset for pagination
Payment Resource ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 12345,
"unique_id": "a3b5c7d9-e1f3-4567-8901-23456789abcd",
"external_id": "MERCHANT-12345",
"status": "COMPLETED",
"amount": 15000,
"currency": "BRL",
"debtor_ispb": "12345678",
"debtor_document": "12345678901",
"debtor_name": "João da Silva",
"debtor_account_no": "123456",
"debtor_account_type": "CACC",
"creditor_ispb": "87654321",
"creditor_document": "98765432100",
"creditor_name": "Maria Santos",
"creditor_account_no": "654321",
"creditor_account_type": "SVGS",
"end_to_end_id": "E1234567820260124103000000001",
"processed_at": "2026-01-24T10:31:00Z",
"created_at": "2026-01-24T10:30:00Z",
"updated_at": "2026-01-24T10:31:00Z"
}Headers
Content-Type: application/jsonBody
{
"error": {
"code": "NOT_FOUND",
"message": "payment request not found"
}
}Get Payment RequestGET/payments/{id}
Retrieve a specific payment request by ID.
- id
number(required) Example: 12345Payment request ID
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"error": {
"code": "INVALID_TRANSITION",
"message": "cannot cancel payment in COMPLETED status"
}
}Cancel Payment RequestDELETE/payments/{id}
Cancel a pending or scheduled payment request.
- id
number(required) Example: 12345Payment request ID
Payment Status ¶
Headers
Content-Type: application/json
Authorization: Bearer <jwt_token>Body
{
"status": "COMPLETED",
"end_to_end_id": "E1234567820260124103000000001"
}Headers
Content-Type: application/jsonBody
{
"id": 12345,
"status": "COMPLETED",
"end_to_end_id": "E1234567820260124103000000001",
"processed_at": "2026-01-24T10:31:00Z",
"updated_at": "2026-01-24T10:31:00Z"
}Update Payment StatusPUT/payments/{id}/status
Update the status of a payment request. Used by the system to track payment processing.
Valid Transitions:
-
PENDING→PROCESSING,SCHEDULED,CANCELLED -
SCHEDULED→PENDING,CANCELLED -
PROCESSING→COMPLETED,FAILED
- id
number(required) Example: 12345Payment request ID
Credit Confirmation ¶
Headers
Content-Type: application/json
Authorization: Bearer <jwt_token>Body
{
"amount": 15000,
"notes": "Credit confirmed via bank statement"
}Headers
Content-Type: application/jsonBody
{
"id": 1,
"unique_id": "b4c6d8e0-f2g4-5678-9012-34567890bcde",
"payment_request_id": 12345,
"status": "CONFIRMED",
"confirmed_at": "2026-01-24T10:35:00Z",
"confirmed_by": "operator@bank.com",
"confirmed_amount": 15000,
"notes": "Credit confirmed via bank statement",
"created_at": "2026-01-24T10:35:00Z",
"updated_at": "2026-01-24T10:35:00Z"
}Confirm CreditPOST/payments/{id}/confirm-credit
Confirm that credit was received for this payment. Part of a two-step confirmation workflow.
- id
number(required) Example: 12345Payment request ID
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 1,
"unique_id": "b4c6d8e0-f2g4-5678-9012-34567890bcde",
"payment_request_id": 12345,
"status": "CONFIRMED",
"confirmed_at": "2026-01-24T10:35:00Z",
"confirmed_by": "operator@bank.com",
"confirmed_amount": 15000,
"notes": "Credit confirmed via bank statement",
"created_at": "2026-01-24T10:35:00Z",
"updated_at": "2026-01-24T10:35:00Z"
}Headers
Content-Type: application/jsonBody
{
"error": {
"code": "NOT_FOUND",
"message": "credit confirmation not found"
}
}Get Credit ConfirmationGET/payments/{id}/confirm-credit
Retrieve credit confirmation details for a payment.
- id
number(required) Example: 12345Payment request ID
QR Codes ¶
QR code generation and validation for PIX payments using BR Code and EMV standards.
QR Code Collection ¶
Headers
Content-Type: application/json
Authorization: Bearer <jwt_token>Body
{
"type": "IMMEDIATE",
"merchant_name": "Loja ABC",
"merchant_city": "São Paulo",
"merchant_category_code": "5411",
"pix_key": "12345678901",
"tx_id": "ABC123",
"amount": 15000,
"currency": "BRL",
"expires_at": "2026-01-24T23:59:59Z",
"description": "Compra na Loja ABC"
}Headers
Content-Type: application/jsonBody
{
"id": 100,
"unique_id": "c5d7e9f1-g3h5-6789-0123-45678901cdef",
"type": "IMMEDIATE",
"payload": "00020126580014br.gov.bcb.pix0136123456789012...6304A1B2",
"emv_data": "00020126580014br.gov.bcb.pix...",
"merchant_name": "Loja ABC",
"merchant_city": "São Paulo",
"merchant_category_code": "5411",
"pix_key": "12345678901",
"tx_id": "ABC123",
"amount": 15000,
"currency": "BRL",
"expires_at": "2026-01-24T23:59:59Z",
"description": "Compra na Loja ABC",
"is_valid": true,
"validated_at": "2026-01-24T10:30:00Z",
"used_count": 0,
"created_at": "2026-01-24T10:30:00Z",
"updated_at": "2026-01-24T10:30:00Z"
}Headers
Content-Type: application/jsonBody
{
"error": {
"code": "VALIDATION_ERROR",
"message": "merchant_category_code must be 4 digits"
}
}Generate QR CodePOST/qr-codes
Generate a PIX QR code (BR Code) with automatic CRC16 validation.
QR Code Types:
-
STATIC: Reusable QR code, no expiration -
DYNAMIC: Single-use with expiration -
IMMEDIATE: Dynamic with TxID ≤25 chars (QRES) -
DUE_DATE: Dynamic with TxID 26-35 chars, supports due date/fines (QRDN)
QR Code Resource ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 100,
"unique_id": "c5d7e9f1-g3h5-6789-0123-45678901cdef",
"type": "IMMEDIATE",
"payload": "00020126580014br.gov.bcb.pix0136123456789012...6304A1B2",
"merchant_name": "Loja ABC",
"merchant_city": "São Paulo",
"pix_key": "12345678901",
"tx_id": "ABC123",
"amount": 15000,
"currency": "BRL",
"is_valid": true,
"created_at": "2026-01-24T10:30:00Z"
}Get QR CodeGET/qr-codes/{id}
Retrieve a specific QR code by ID.
- id
number(required) Example: 100QR code ID
QR Code by TxID ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 100,
"unique_id": "c5d7e9f1-g3h5-6789-0123-45678901cdef",
"type": "IMMEDIATE",
"tx_id": "ABC123",
"pix_key": "12345678901",
"amount": 15000,
"currency": "BRL"
}Get QR Code by TxIDGET/qr-codes/txid/{txId}
Retrieve a QR code by its transaction ID.
- txId
string(required) Example: ABC123Transaction ID
QR Code Deactivation ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 100,
"status": "used",
"used_at": "2026-01-24T10:40:00Z",
"used_count": 1
}Deactivate QR CodePUT/qr-codes/{id}/deactivate
Deactivate a dynamic QR code (mark as used).
- id
number(required) Example: 100QR code ID
QR Code Validation ¶
Headers
Content-Type: application/json
Authorization: Bearer <jwt_token>Body
{
"payload": "00020126580014br.gov.bcb.pix0136123456789012...6304A1B2"
}Headers
Content-Type: application/jsonBody
{
"valid": true,
"qr_code": {
"id": 100,
"type": "IMMEDIATE",
"pix_key": "12345678901",
"amount": 15000,
"is_valid": true,
"validation_errors": ""
}
}Headers
Content-Type: application/jsonBody
{
"valid": false,
"error": "CRC validation failed",
"qr_code": {
"id": 100,
"is_valid": false,
"validation_errors": "CRC mismatch"
}
}Validate QR Code PayloadPOST/qr-codes/validate
Validate a BR Code payload and check its integrity.
QR Code Decoding ¶
Headers
Content-Type: application/json
Authorization: Bearer <jwt_token>Body
{
"payload": "00020126580014br.gov.bcb.pix0136123456789012...6304A1B2"
}Headers
Content-Type: application/jsonBody
{
"valid": true,
"type": "DYNAMIC",
"pix_key": "12345678901",
"tx_id": "ABC123",
"merchant_name": "Loja ABC",
"merchant_city": "São Paulo",
"merchant_category_code": "5411",
"amount": 15000,
"amount_formatted": "R$ 150,00",
"currency": "BRL",
"country_code": "BR",
"crc": "A1B2",
"crc_valid": true,
"description": "Compra na Loja ABC",
"raw_fields": {
"26": "0014br.gov.bcb.pix...",
"52": "5411",
"53": "986",
"54": "150.00",
"58": "BR",
"59": "Loja ABC",
"60": "São Paulo",
"63": "A1B2",
"00": "01",
"01": "12"
},
"errors": []
}Decode BR CodePOST/qr-codes/decode
Decode a BR Code payload into its component fields.
File Operations ¶
File import/export for batch payment processing.
File Import ¶
Headers
Content-Type: multipart/form-data; boundary=---BOUNDARY
Authorization: Bearer <jwt_token>
X-User-ID: operator@bank.comBody
-----BOUNDARY
Content-Disposition: form-data; name="file"; filename="payments.csv"
Content-Type: text/csv
debtor_ispb,creditor_ispb,amount,description
12345678,87654321,15000,Payment 1
12345678,87654321,25000,Payment 2
-----BOUNDARY
Content-Disposition: form-data; name="file_type"
CSV
-----BOUNDARY--Headers
Content-Type: application/jsonBody
{
"id": 500,
"unique_id": "d6e8f0g2-h4i6-7890-1234-56789012defg",
"filename": "payments.csv",
"file_type": "CSV",
"file_size": 1024,
"file_hash": "a1b2c3d4e5f6...",
"status": "UPLOADED",
"total_records": 2,
"processed_records": 0,
"failed_records": 0,
"skipped_records": 0,
"success_rate": 0,
"created_by": "operator@bank.com",
"created_at": "2026-01-24T10:30:00Z",
"updated_at": "2026-01-24T10:30:00Z"
}Headers
Content-Type: application/jsonBody
{
"error": {
"code": "FILE_TOO_LARGE",
"message": "file exceeds maximum size of 100MB"
}
}Import Payment FilePOST/files/import
Import a payment file for batch processing. Supports CNAB240, CNAB400, CSV, and JSON formats.
Supported File Types:
-
CNAB240: CNAB 240 position bank file -
CNAB400: CNAB 400 position bank file -
CSV: Comma-separated values -
JSON: JSON array of payments
File Import List ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"data": [
{
"id": 500,
"filename": "payments.csv",
"file_type": "CSV",
"status": "COMPLETED",
"total_records": 2,
"processed_records": 2,
"failed_records": 0,
"success_rate": 100,
"created_at": "2026-01-24T10:30:00Z",
"completed_at": "2026-01-24T10:35:00Z"
}
],
"pagination": {
"total": 50,
"page": 0,
"page_size": 20
}
}List File ImportsGET/files/imports{?status,file_type,created_by,limit,offset}
List file import records with filters.
- status
string(optional) Example: COMPLETEDFilter by status (UPLOADED, PROCESSING, COMPLETED, FAILED)
- file_type
string(optional) Example: CSVFilter by file type
- created_by
string(optional) Example: operator@bank.comFilter by creator
- limit
number(optional) Example: 20Results per page (max 100)
- offset
number(optional) Example: 0Pagination offset
File Import Details ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 500,
"unique_id": "d6e8f0g2-h4i6-7890-1234-56789012defg",
"filename": "payments.csv",
"file_type": "CSV",
"file_size": 1024,
"status": "COMPLETED",
"total_records": 2,
"processed_records": 2,
"failed_records": 0,
"success_rate": 100,
"started_at": "2026-01-24T10:31:00Z",
"completed_at": "2026-01-24T10:35:00Z",
"created_at": "2026-01-24T10:30:00Z"
}Get File ImportGET/files/imports/{id}
Retrieve detailed information about a file import.
- id
number(required) Example: 500File import ID
File Import Records ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"records": [
{
"id": 1001,
"file_import_id": 500,
"line_number": 2,
"raw_data": "12345678,87654321,15000,Payment 1",
"status": "SUCCESS",
"payment_request_id": 12346,
"processed_at": "2026-01-24T10:32:00Z",
"created_at": "2026-01-24T10:31:00Z"
},
{
"id": 1002,
"file_import_id": 500,
"line_number": 3,
"raw_data": "12345678,87654321,25000,Payment 2",
"status": "SUCCESS",
"payment_request_id": 12347,
"processed_at": "2026-01-24T10:32:00Z",
"created_at": "2026-01-24T10:31:00Z"
}
],
"count": 2,
"limit": 100,
"offset": 0
}Get Import RecordsGET/files/imports/{id}/records{?status,limit,offset}
Retrieve individual records from a file import.
- id
number(required) Example: 500File import ID
- status
string(optional) Example: SUCCESSFilter by record status (PENDING, SUCCESS, FAILED, SKIPPED)
- limit
number(optional) Example: 100Results per page (max 1000)
- offset
number(optional) Example: 0Pagination offset
File Import Processing ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 500,
"status": "PROCESSING",
"started_at": "2026-01-24T10:31:00Z"
}Process File ImportPOST/files/imports/{id}/process
Start processing a file import to create payment requests.
- id
number(required) Example: 500File import ID
File Export ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: text/csv
Content-Disposition: attachment; filename="export_20260124_103000.csv"
Content-Length: 2048Body
debtor_ispb,creditor_ispb,amount,status,end_to_end_id
12345678,87654321,15000,COMPLETED,E1234567820260124103000000001
12345678,87654321,25000,COMPLETED,E1234567820260124103100000002Headers
Content-Type: application/json
Content-Disposition: attachment; filename="export_20260124_103000.json"Body
[
{
"debtor_ispb": "12345678",
"creditor_ispb": "87654321",
"amount": 15000,
"status": "COMPLETED",
"end_to_end_id": "E1234567820260124103000000001"
}
]Export PaymentsGET/files/export{?format,status,from,to,debtor_ispb,creditor_ispb,min_amount,max_amount,max_records}
Export payments to file in the specified format.
- format
string(optional) Default: csv Example: csvExport format (cnab240, cnab400, csv, json)
- status
string(optional) Example: COMPLETEDFilter by payment status
- from
string(optional) Example: 2026-01-01Start date (YYYY-MM-DD)
- to
string(optional) Example: 2026-01-31End date (YYYY-MM-DD)
- debtor_ispb
string(optional) Example: 12345678Filter by debtor ISPB
- creditor_ispb
string(optional) Example: 87654321Filter by creditor ISPB
- min_amount
number(optional) Example: 1000Minimum amount
- max_amount
number(optional) Example: 100000Maximum amount
- max_records
number(optional) Default: 1000 Example: 1000Maximum records to export
Schedules ¶
Recurring payment schedule management.
Schedule Collection ¶
Headers
Content-Type: application/json
Authorization: Bearer <jwt_token>Body
{
"payment_request_id": 12345,
"type": "MONTHLY",
"scheduled_date": "2026-02-01",
"scheduled_time": "10:00",
"recurrence_end_date": "2026-12-31",
"max_occurrences": 12,
"day_of_month": 1
}Headers
Content-Type: application/jsonBody
{
"id": 200,
"unique_id": "e7f9g1h3-i5j7-8901-2345-67890123efgh",
"payment_request_id": 12345,
"type": "MONTHLY",
"scheduled_date": "2026-02-01",
"scheduled_time": "10:00",
"recurrence_end_date": "2026-12-31",
"max_occurrences": 12,
"day_of_month": 1,
"status": "ACTIVE",
"next_run_at": "2026-02-01T10:00:00Z",
"run_count": 0,
"fail_count": 0,
"created_at": "2026-01-24T10:30:00Z",
"updated_at": "2026-01-24T10:30:00Z"
}Create SchedulePOST/schedules
Create a recurring payment schedule.
Schedule Types:
-
ONCE: Single scheduled payment -
DAILY: Repeat daily -
WEEKLY: Repeat weekly (requires day_of_week) -
MONTHLY: Repeat monthly (requires day_of_month)
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"data": [
{
"id": 200,
"type": "MONTHLY",
"status": "ACTIVE",
"next_run_at": "2026-02-01T10:00:00Z",
"run_count": 0,
"created_at": "2026-01-24T10:30:00Z"
}
],
"pagination": {
"total": 25,
"page": 0,
"page_size": 20
}
}List SchedulesGET/schedules{?status,type,is_due,limit,offset}
List schedules with optional filters.
- status
string(optional) Example: ACTIVEFilter by status (ACTIVE, PAUSED, COMPLETED, CANCELLED)
- type
string(optional) Example: MONTHLYFilter by type (ONCE, DAILY, WEEKLY, MONTHLY)
- is_due
boolean(optional) Example: trueFilter by due schedules
- limit
number(optional) Example: 20Results per page (max 100)
- offset
number(optional) Example: 0Pagination offset
Schedule Resource ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 200,
"unique_id": "e7f9g1h3-i5j7-8901-2345-67890123efgh",
"payment_request_id": 12345,
"type": "MONTHLY",
"scheduled_date": "2026-02-01",
"scheduled_time": "10:00",
"status": "ACTIVE",
"next_run_at": "2026-02-01T10:00:00Z",
"run_count": 0,
"fail_count": 0
}Get ScheduleGET/schedules/{id}
Retrieve a specific schedule.
- id
number(required) Example: 200Schedule ID
Headers
Content-Type: application/json
Authorization: Bearer <jwt_token>Body
{
"scheduled_date": "2026-02-15",
"scheduled_time": "14:00",
"recurrence_end_date": "2026-06-30",
"max_occurrences": 6
}Headers
Content-Type: application/jsonBody
{
"id": 200,
"scheduled_date": "2026-02-15",
"scheduled_time": "14:00",
"recurrence_end_date": "2026-06-30",
"max_occurrences": 6,
"updated_at": "2026-01-24T11:00:00Z"
}Update SchedulePUT/schedules/{id}
Update schedule parameters.
- id
number(required) Example: 200Schedule ID
Headers
Authorization: Bearer <jwt_token>Cancel ScheduleDELETE/schedules/{id}
Cancel a schedule. Cannot be undone.
- id
number(required) Example: 200Schedule ID
Schedule Pause ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 200,
"status": "PAUSED",
"updated_at": "2026-01-24T11:00:00Z"
}Pause SchedulePUT/schedules/{id}/pause
Temporarily pause a schedule.
- id
number(required) Example: 200Schedule ID
Schedule Resume ¶
Headers
Authorization: Bearer <jwt_token>Headers
Content-Type: application/jsonBody
{
"id": 200,
"status": "ACTIVE",
"next_run_at": "2026-02-15T14:00:00Z",
"updated_at": "2026-01-24T11:00:00Z"
}Resume SchedulePUT/schedules/{id}/resume
Resume a paused schedule.
- id
number(required) Example: 200Schedule ID
Generated by aglio on 24 Jan 2026