KulPayAPI Live

API reference

Files

GET /files

List uploaded files

Files held for this account — proof-of-payment slips, statements for reconciliation.

Responses

  • 200 The file list.

Request

curl -X GET "$KULPAY_URL/files" \
  -H "Authorization: Bearer $KULPAY_KEY"
200 Response application/json
{
  "data": []
}

POST /files

Upload a file

multipart/form-data. Used for manual-payment evidence and reconciliation statement imports. Bytes are persisted, so an upload survives a restart.

Request body multipart/form-data required

FieldTypeDescription
filestring (binary)
purposestring

Responses

  • 201 The stored file's metadata.

Request

curl -X POST "$KULPAY_URL/files" \
  -H "Authorization: Bearer $KULPAY_KEY" \
  -F "file=@./document.pdf"
201 Response application/json
{
  "content_type": "application/pdf",
  "created_at": "2026-10-11T09:14:37Z",
  "filename": "comprovativo-transferencia.pdf",
  "id": "3KFmKhlYELQZGQLw3WZICSjn9u0",
  "mode": "test",
  "purpose": "manual_payment_proof",
  "size": 182344
}

GET /files/{id}

Get a file's metadata

Metadata only; the bytes are at /files/{id}/content.

Parameters

NameInTypeDescription
id requiredpathstring

Responses

  • 200 File metadata.

Request

curl -X GET "$KULPAY_URL/files/{id}" \
  -H "Authorization: Bearer $KULPAY_KEY"
200 Response application/json
{}

GET /files/{id}/content

Download a file's bytes

Returns the stored bytes with their original content type.

Parameters

NameInTypeDescription
id requiredpathstring

Responses

  • 200 The file.

Request

curl -X GET "$KULPAY_URL/files/{id}/content" \
  -H "Authorization: Bearer $KULPAY_KEY"
200 Response application/json
{}

GET /payments/{id}/files

List files attached to a payment

Proof-of-payment evidence attached to a manual/cash payment.

Parameters

NameInTypeDescription
id requiredpathstring

Responses

  • 200 Attached files.

Request

curl -X GET "$KULPAY_URL/payments/{id}/files" \
  -H "Authorization: Bearer $KULPAY_KEY"
200 Response application/json
{}