FurniOpsDocs
API referenceBilling

Retrieve a credit purchase

One purchase. After the browser confirms the payment, poll it until status is succeeded (the credit is in) or failed (pay again with the same purchase).

  • Scopesbilling:read
  • Rate classread
GET/v1/billing/credits/purchases/{purchase}

One purchase. After the browser confirms the payment, poll it until status is succeeded (the credit is in) or failed (pay again with the same purchase).

Authorization

apiKey
AuthorizationBearer <token>

An API key (fo_live_… / fo_test_…) as a bearer token

In: header

Path Parameters

purchase*string

Credit purchase (an organisation buying FurniOps AI credit, paid by a one-off invoice) ID

Match^crp_[0-9A-Za-z]{22}$

Header Parameters

FurniOps-Version?string

Dated API version; pinned per organisation on first use and overridable per request

Value in

  • "2026-10-01"
  • "2026-10-04"
FurniOps-Mode?string

The data the request acts on: test is the organisation's sandbox. An OAuth token picks it (live by default); an API key's mode is fixed, and naming the other one is refused

Value in

  • "live"
  • "test"
If-None-Match?string

ETag of a cached representation; a match returns 304

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://example.com/v1/billing/credits/purchases/string"
{  "object": "credit_purchase",  "id": "string",  "kind": "manual",  "status": "requires_payment",  "amount": {    "amount": -9007199254740991,    "currency": "usd"  },  "tax": {    "amount": -9007199254740991,    "currency": "usd"  },  "total": {    "amount": -9007199254740991,    "currency": "usd"  },  "credit_micros": 1,  "confirmation": {    "object": "billing_confirmation",    "kind": "payment",    "client_secret": "string",    "subscription": {      "status": "incomplete",      "plan": "string",      "current_period_end": "2019-08-24T14:15:22Z",      "cancel_at_period_end": true,      "interval": "month",      "cancel_at": "2019-08-24T14:15:22Z",      "discount": {        "name": "string",        "percent_off": 1,        "amount_off": 0,        "ends_at": "2019-08-24T14:15:22Z"      },      "scheduled_change": {        "plan": "string",        "interval": "month",        "effective_at": "2019-08-24T14:15:22Z"      }    }  },  "invoice": {    "id": "string",    "number": "string",    "hosted_invoice_url": "http://example.com",    "invoice_pdf": "http://example.com"  },  "refunded": {    "amount": -9007199254740991,    "currency": "usd"  },  "created_at": "2019-08-24T14:15:22Z",  "paid_at": "2019-08-24T14:15:22Z",  "expires_at": "2019-08-24T14:15:22Z"}