postWebhookpayable.complete

Payload

webhook_event'payable.complete' required
idstring required
instance_idstring required
customer_idstring required
currency'BRL' | 'USD' | 'MXN' | 'COP' | 'ARS' | 'EUR' | 'GBP' required

ISO 4217 currency code of the payable.

notestring nullable
discountinteger nullable

Discount in cents of the payable currency.

taxesinteger nullable

Taxes in cents of the payable currency.

boleto_barcodestring nullable

Boleto or arrecadação code (linha digitável or barcode).

pix_qrcodestring nullable

PIX copia e cola (EMV) payload.

document_filestring uri nullable

The boleto or invoice document, as a file URL returned by POST /upload with bucket documents. Not accepted for PIX payables. Read it through POST /presign.

due_datestring nullable
scheduled_atstring nullable

When to pay this payable automatically. Not executed yet: stored for the upcoming scheduling feature.

status'draft' | 'processing' | 'completed' | 'canceled' required

draft until a payout executes this payable, processing while one is in flight, completed when paid, canceled when a draft is deleted. A failed or refunded attempt returns it to draft; follow the payout for the attempt detail.

created_atstring date-time nullable
updated_atstring date-time nullable
amountinteger nullable required

Derived total in cents: line item sum plus taxes minus discount. For boleto/PIX the rail amount is re-resolved from the code at quote time and can differ (fines, interest).

payout_idstring nullable

The payout executing this payable, once one exists. Null while the payable is a draft.

last_attempt_status'failed' | 'refunded' nullable

Why the payable returned to draft: the attempt in payout_id failed before funding or was refunded after it. Set only on that payable.update event; follow the payout for the detail.

first_namestring nullable
last_namestring nullable
legal_namestring nullable

Example payload

{
  "id": "pb_000000000000",
  "instance_id": "in_000000000000",
  "customer_id": "re_000000000000",
  "from": {
    "legal_name": "Empresa de Servicos LTDA",
    "country": "BR",
    "tax_id": "12.345.678/0001-90"
  },
  "to": {
    "legal_name": "Empresa de Servicos LTDA",
    "country": "BR",
    "tax_id": "12.345.678/0001-90"
  },
  "currency": "BRL",
  "line_items": [
    {
      "name": "Consulting services",
      "quantity": 2,
      "price": 150000
    }
  ],
  "note": "August retainer",
  "boleto_barcode": "34191.79001 01043.510047 91020.150008 1 84660000002000",
  "document_file": "https://files.blindpay.com/1712345678901-boleto.pdf",
  "due_date": "2026-08-10",
  "scheduled_at": "2026-08-10T12:00:00.000Z",
  "status": "draft",
  "created_at": "2021-01-01T00:00:00Z",
  "updated_at": "2021-01-01T00:00:00Z",
  "amount": 300000,
  "payout_id": "po_000000000000",
  "bank_account": {
    "type": "ach",
    "beneficiary_name": "Northwind Cloud Services Inc",
    "routing_number": "026009593",
    "account_number": "000123456789",
    "account_type": "checking"
  },
  "last_attempt_status": "failed"
}

Response

Payable paid

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.