REST API

Payments API

Payment integration API for connecting payment processing, checking payment availability, and reading connection status.

Generated from the Celerp 2.8.0 OpenAPI schema, 2 November 2026.

POST /payments/connect

Connect Payment Processing

Start the payment-provider connection flow.

Responses

StatusDescriptionBody
200Returns the URL to open to finish connecting.object

Example

curl -X POST http://localhost:8000/payments/connect \
  -H "Authorization: Bearer $TOKEN"

POST /payments/disconnect

Disconnect Payment Processing

Disconnect the company's payment integration.

Responses

StatusDescriptionBody
200Returns `disconnected: true`.object

Example

curl -X POST http://localhost:8000/payments/disconnect \
  -H "Authorization: Bearer $TOKEN"

GET /payments/enabled

Check Payment Processing Availability

Return whether integrated payment processing is currently available for this Celerp installation.

Responses

StatusDescriptionBody
200Returns `enabled: true` or `enabled: false`.object

Example

curl -X GET http://localhost:8000/payments/enabled \
  -H "Authorization: Bearer $TOKEN"

GET /payments/status

Get Payment Integration Status

Return the current payment integration status for the company.

Responses

StatusDescriptionBody
200Returns the requested payment integration status result.object

Example

curl -X GET http://localhost:8000/payments/status \
  -H "Authorization: Bearer $TOKEN"

GET /payments/unmatched

List Unmatched Online Payments

List online payments received for a company or invoice that no longer exists, or that the invoice refused, and the refunds of online payments kept until their payment is on its invoice. Both lists are newest first. It is limited to the installation owner.

Responses

StatusDescriptionBody
200Returns `items`, the unmatched payments, and `refunds`, the unmatched refunds.object

Example

curl -X GET http://localhost:8000/payments/unmatched \
  -H "Authorization: Bearer $TOKEN"

GET /payments/unmatched/invoices

Payments Unmatched Invoices

The invoices of the current company the unmatched payment *reference* can be recorded on: open, in its currency, owing at least the whole payment (``unmatched_refusal``), by reference.

Parameters

NameInRequiredTypeDescription
referencequeryyesstringReference of the unmatched payment to find open invoices for.

Responses

StatusDescriptionBody
200Successful Responseobject
422Validation ErrorHTTPValidationError

Example

curl -X GET http://localhost:8000/payments/unmatched/invoices \
  -H "Authorization: Bearer $TOKEN"

POST /payments/unmatched/record

Record Unmatched Payment on Invoice

Record an unmatched online payment on an invoice of the current company. If it cannot be recorded the response is 409 with the reason and nothing is recorded. Recording it on the same invoice again changes nothing. It is limited to the installation owner and needs the permission to record payments.

Request body

FieldTypeRequiredDescription
referencestringyesReference of the unmatched payment.
entity_idstringyesIdentifier of the invoice to record the payment on.

Responses

StatusDescriptionBody
200Returns the payment `reference` and the invoice `entity_id` it was recorded on.object
422The request failed validation. The response lists each invalid field and why.HTTPValidationError

Example

curl -X POST http://localhost:8000/payments/unmatched/record \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'