agency-invoicing
POST /v1/agency-invoicing/invoices/{invoiceId}/void
Void an invoice.
인증
Bearer 토큰으로 API 키를 전송하세요. 키는 반드시 agency.invoicing.manage 권한을 가지고 있어야 하며, 권한이 없는 키는 404가 아닌 403으로 거부됩니다.
조직 ID가 들어가는 위치
이 엔드포인트는 org_id을(를) 쿼리 매개변수로 사용합니다. 생략하면 테넌트 하위 트리 전체가 호출 대상이 되며, 값을 전달하면 특정 조직으로 호출 범위를 좁힐 수 있습니다.
조직 ID는 대시보드의 API 키 화면에서 키 바로 옆에 있습니다. 이는 실행하는 모든 호출에서 동일한 ID입니다.
무료 체험하기
대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.
curl -X POST https://api.zinndigital.com/v1/agency-invoicing/invoices/{invoiceId}/void \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ }'로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 API를 대상으로 요청을 실행하므로 실제 응답을 확인할 수 있습니다. API 콘솔에서 이 엔드포인트를 여세요
상세 정보
⛔ The number is KEPT — a voided invoice is a document that says VOID on it, not an absence, and deleting the number would leave the gap the sequence exists to prevent. ⛔ Refused when payments have been recorded: that is a refund, which is a different act. Requires `agency.invoicing.manage`.
매개변수
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
invoiceId (path) | Uuid | 예 | — |
org_id (query) | Uuid | 아니요 | Which of your organizations is invoicing. Required only when you belong to more than one — otherwise it is inferred from your DIRECT membership, never from the subtree-expanded… |
요청 본문
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
reason | string | 아니요 | — |
응답
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
id | Uuid | 예 | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
number | string | 아니요 | The agency's own number. ⛔ Empty until issue: a number allocated to something that may never be sent leaves a hole in a sequence. |
status | string<draft, sent, partially_paid, paid, void> | 예 | — |
is_overdue | boolean | 아니요 | ⭐ DERIVED from the due date and the status, never stored — so there is no sweep to maintain a flag and nothing to go stale. A draft is never overdue however old it is: nobody ha… |
client_id | Uuid | 아니요 | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
client_name | string | 아니요 | — |
currency | string | 예 | — |
issue_date | string | 예 | — |
due_date | string | 아니요 | — |
reference | string | 아니요 | — |
notes | string | 아니요 | — |
footer | string | 아니요 | — |
subtotal_minor | integer | 아니요 | — |
discount_minor | integer | 아니요 | — |
tax_minor | integer | 아니요 | — |
total_minor | integer | 예 | — |
amount_paid_minor | integer | 아니요 | — |
amount_due_minor | integer | 아니요 | — |
tax_breakdown | AgencyInvoiceTaxGroup[] | 아니요 | — |
source | string | 아니요 | Where the invoice came from — `time_tracking` when it was generated from tracked hours, empty when an agency typed it. |
sent_at | string | 아니요 | — |
last_sent_to | string | 아니요 | — |
paid_at | string | 아니요 | — |
void_reason | string | 아니요 | — |
created_at | string | 아니요 | — |
lines | AgencyInvoiceLine[] | 아니요 | — |
payments | AgencyInvoicePayment[] | 아니요 | — |
portal_url | string | 아니요 | The payment link to send to the client. ⛔ Returned on a SINGLE-invoice read only, never in a list: a list is the thing that gets logged, cached and pasted into a support ticket,… |
이 엔드포인트가 반환할 수 있는 오류
401 · 403 · 404 · 409 · 429