Posteering
Reference

Publish a draft invoice (partner perimeter).

Transitions invoice from 'draft' to 'published'. Allocates the underlying virtual account by composing payment-intent creation. Idempotency: if invoice is already published, returns 409 with the current state in the error details — partner can re-fetch via GET to recover the published response. If invoice is in any other non-draft state ('paid', 'cancelled', etc.), returns 409.

POST
/api/v1/bankrail/invoice/{reference}/publish

Authorization

X-Bankrail-Key-Id<token>

Partner-visible credential identifier issued by bank-rail at credential provisioning time. Names which credential signed the request; the corresponding signing secret never appears in any request.

In: header

Path Parameters

reference*string

Partner-supplied invoice reference.

Response Body

application/json

curl -X POST "https://example.com/api/v1/bankrail/invoice/invoice-2026-001/publish"
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "reference": "string",  "partnerId": "bf408d53-df49-40a6-8455-a34bd4360901",  "status": "published",  "title": "string",  "description": "string",  "amountKobo": 0,  "amountPaidKobo": 0,  "currency": "string",  "customer": {},  "dueAt": "2019-08-24T14:15:22Z",  "publishedAt": "2019-08-24T14:15:22Z",  "paidAt": "2019-08-24T14:15:22Z",  "cancelledAt": "2019-08-24T14:15:22Z",  "persistentVirtualAccountId": "dc3e3963-3c41-4bb3-a139-f4a98adf9807",  "virtualAccount": "string",  "virtualAccountName": "string",  "virtualAccountBank": "string",  "trackingId": "string",  "checkoutToken": "string",  "createdAt": "2019-08-24T14:15:22Z",  "creatorMetadata": {}}
Empty
Empty
Empty
Empty