BillOS v1
Console llms.txt OpenAPI
POST/businesses/{bid}/quotes/{id}/answer

Record the customer's answer

POST /businesses/{bid}/quotes/{id}/answer

Requires the documents scope.

For the answer that arrived by phone. Allowed on an EXPIRED quote on purpose: "he called and said yes" is exactly when a lapsed date should not be in the way. Emits quote.accepted / quote.declined like an answer on the link does.

Path parameters

NameTypeDescription
bidstringrequiredBusiness id, from POST /businesses.
idstringrequiredQuote id.

Body

FieldTypeDescription
statusstringrequiredOne of: accepted, declined.
namestringWho answered.
reasonstringWhy, on a decline.

Response

200: { "ok": true, … }

FieldTypeDescription
okbooleanrequired
quoteQuoterequiredהצעת מחיר: an OFFER, and deliberately not a document: it carries no statutory number, it is freely editable and deletable, and it appears in no export, no VAT return and no income report. What it becomes when the customer accepts is an ordinary draft document (POST .../convert).

Errors: 400, 401, 403, 404, 429. Every failure answers { "error", "reason", "hint", "param", "doc_url", "retryable", "request_id" }: branch on reason, and read hint for what to change (https://docs.billos.co.il/errors.md).

POST /businesses/{bid}/quotes/{id}/answer
curl -X POST "$BASE/businesses/$BID/quotes/$DOC_ID/answer" \
  -H "X-Api-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "issued"
  }'
const res = await fetch(`${BASE}/businesses/${BID}/quotes/${DOC_ID}/answer`, {
  method: 'POST',
  headers: {
    'X-Api-Key': KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "status": "issued"
  }),
})
const data = await res.json()
if (!data.ok) throw new Error(data.reason)
import requests
res = requests.post(
    f"{BASE}/businesses/{BID}/quotes/{DOC_ID}/answer",
    headers={"X-Api-Key": KEY},
    json={
      "status": "issued"
    },
)
data = res.json()
Set BASE to https://api.billos.co.il/v1 and KEY to your bk_live_… key, or a bk_test_… key to run it against the sandbox.
Manage your businesses, keys and webhooks in the BillOS Console.