Complete API reference
This page is generated from the authoritative OpenAPI contract. Expand only the section you need; no query parameter or request-body field is left to inference.
Base URL: https://iiproxy.sekkun.co
Availability and authentication
GET /public/v1/ping
Public API liveness probe
Required permissions: Public endpoint
Responses
| Status | Description | Content type |
|---|---|---|
200 | Service is available | — |
POST /oauth2/token
Exchange client credentials for an opaque access token
Required permissions: HTTP Basic (client_id + client_secret)
Request body
application/x-www-form-urlencoded
| Field | Type | Rules | Meaning |
|---|---|---|---|
grant_type | string | required; = client_credentials | Value defined by the API contract. |
scope | string | optional | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Access token | application/json |
401 | Guard or validation failure | application/json |
POST /public/v1/oauth2/token
Versioned alias for the client-credentials token exchange
Required permissions: HTTP Basic (client_id + client_secret)
Request body
application/x-www-form-urlencoded
| Field | Type | Rules | Meaning |
|---|---|---|---|
grant_type | string | required; = client_credentials | Value defined by the API contract. |
scope | string | optional | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Access token | application/json |
401 | Guard or validation failure | application/json |
Outgoing invoices
GET /public/v1/outgoing-invoices
List outgoing invoices for the credential-bound tenant
Required permissions: invoices:read
Query parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
status | string | optional | Return only documents whose unified status equals this value. |
documentNumber | string | optional | Case-insensitive substring match against the document number. |
from | string (date) | optional | Include documents issued on or after this date. |
to | string (date) | optional | Include documents issued on or before this date. |
limit | integer | optional; default: 1000; ≥ 1 | Maximum number of matching documents returned. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Invoice list | application/json |
POST /public/v1/outgoing-invoices
Create a structured or raw UBL invoice draft
Required permissions: invoices:draft
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
IIProxy-Auto-Issue | boolean | optional | Direct-XML equivalent of the JSON issue flag; also requires invoices:issue. |
IIProxy-Delivery-Channel | string | optional; AS4 · FISCALIZATION_ONLY | Value defined by the API contract. |
Request body
application/json - variant 1
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentNumber | string | optional | Required when numberMode is MANUAL; allocated by Klik Račun when numberMode is AUTO. |
numberMode | string | optional; AUTO · MANUAL; default: AUTO | Selects automatic or caller-supplied numbering. |
issueDate | string (date) | required | Invoice issue date in YYYY-MM-DD form. |
deliveryDate | string (date) | required | Supply or service delivery date in YYYY-MM-DD form. |
dueDate | string | null (date) | optional | Payment due date; required by payment models with a remaining balance. |
currency | string | optional; default: EUR; min 3; max 3 | ISO 4217 currency code. |
documentType | string | optional; Invoice · CreditNote · AdvanceInvoice; default: Invoice | Business document type; AdvanceInvoice selects the advance-declaration process. |
paymentModel | string | optional; DUE · ADVANCE_AND_BALANCE · ONSITE · ADVANCE_DECLARATION; default: DUE | Determines due-date, immediate-payment, and advance settlement rules. |
deliveryChannel | string | optional; AS4 · FISCALIZATION_ONLY; default: AS4 | Requested delivery path; Klik Račun may select an authoritative non-AS4 reporting path when recipient discovery requires it. |
supplier | object | optional | Optional ownership assertion. Klik Račun only accepts a matching OIB and replaces all supplier data with the credential-bound issuer profile. |
supplier.oib | string | optional; pattern: ^[0-9]{11}$ | Must equal the OIB bound to the API credential. |
customer | object | required | Value defined by the API contract. |
customer.partnerId | string (uuid) | optional | Optional Klik Račun partner master-data identifier. |
customer.partnerCode | string | optional | Optional caller or master-data partner code. |
customer.name | string | required | Legal name; accepted as an alias for fullName. |
customer.fullName | string | optional | Legal name; required when name is omitted. |
customer.shortName | string | optional | Display name; defaults to the legal name. |
customer.oib | string | required; pattern: ^[0-9]{11}$ | Croatian personal identification number. |
customer.endpointScheme | string | optional; default: 9934; max 16 | Electronic-address identifier scheme. |
customer.countryCode | string | optional; default: HR; min 2; max 2 | ISO 3166-1 alpha-2 country code. |
customer.vatId | string | optional | VAT identifier when applicable. |
customer.city | string | optional | Value defined by the API contract. |
customer.postalCode | string | optional | Value defined by the API contract. |
customer.streetAddress | string | optional | Value defined by the API contract. |
customer.additionalAddress | string | optional | Value defined by the API contract. |
customer.addressDetails | string | optional | Value defined by the API contract. |
customer.county | string | optional | Value defined by the API contract. |
customer.contactEmail | string (email) | optional | Value defined by the API contract. |
lines | array [object] | required; min 1 | Value defined by the API contract. |
lines.articleId | string (uuid) | optional | Optional Klik Račun article master-data identifier. |
lines.code | string | optional | Seller's article or service code. |
lines.name | string | required | Line item name. |
lines.quantity | number | required; > 0 | Value defined by the API contract. |
lines.unitCode | string | optional; default: EA; max 16 | UNECE unit-of-measure code. |
lines.unitPrice | number | required; ≥ 0 | Net unit price before VAT. |
lines.taxCode | string | required | Klik Račun tax master-data code. |
lines.taxRate | number | required; ≥ 0 | Applied VAT percentage. |
lines.ublTaxCategory | string | optional; default: S; max 16 | EN 16931/UBL VAT category code. |
lines.ublHrTaxCategory | string | optional | Croatian extension tax-category code when applicable. |
lines.taxCategoryCode | string | optional | Optional Klik Račun tax-category code. |
lines.classification | object | required | Value defined by the API contract. |
lines.classification.value | string | required | KPD classification value. |
lines.classification.schemeId | string | optional; = CG; default: CG | Croatian KPD scheme identifier. |
lines.classification.schemeVersionId | string | optional | Optional KPD scheme version. |
lines.salesAccountId | string (uuid) | optional | Required on every line when splitSalesAccounts is true. |
additionalTaxes | array [object] | optional | Value defined by the API contract. |
additionalTaxes.code | string | required | Value defined by the API contract. |
additionalTaxes.description | string | required | Value defined by the API contract. |
additionalTaxes.hrCategory | string | required; HR:PP · HR:PPMV · HR:POVNAK · HR:N | Value defined by the API contract. |
additionalTaxes.taxableAmount | number | required; ≥ 0 | Value defined by the API contract. |
additionalTaxes.rate | number | required; ≥ 0 | Value defined by the API contract. |
notes | array [string] | optional | Free-form invoice notes; each note is limited to 2,000 characters. |
paymentInstructions | object | optional | Value defined by the API contract. |
paymentInstructions.meansCode | string | optional; default: 30; pattern: ^(?:[0-9]{1,3}|ZZZ)$ | UNCL 4461 payment-means code; 30 and 58 require iban. |
paymentInstructions.iban | string | optional | Creditor account IBAN; spaces are removed before validation. |
paymentInstructions.bic | string | optional | Creditor bank BIC. |
paymentInstructions.accountName | string | optional | Value defined by the API contract. |
paymentInstructions.paymentReference | string | optional | Value defined by the API contract. |
paymentInstructions.model | string | optional; pattern: ^HR[0-9]{2}$ | Croatian payment-reference model. |
paymentInstructions.purposeCode | string | optional | Value defined by the API contract. |
paymentInstructions.description | string | optional | Value defined by the API contract. |
paymentInstructions.terms | string | optional | Value defined by the API contract. |
paymentProfileId | string (uuid) | optional | Optional active Klik Račun payment profile; when supplied, its instructions replace paymentInstructions. |
initialPayments | array [object] | optional | Payments collected when the document is created; not allowed for DUE invoices. |
initialPayments.methodCode | string | required | Payment method code such as TRA |
initialPayments.paymentDate | string (date) | required | Date on which the payment occurred. |
initialPayments.amount | number | required; > 0 | Positive payment amount in the invoice currency. |
initialPayments.referenceNumber | string | optional | Bank |
initialPayments.note | string | optional | Optional human-readable payment note. |
stagedReferences | array [object] | optional | Commercial and supporting-document references inserted with the new draft. |
stagedReferences.referenceKind | string | required; RECURRING_CONTRACT · BUYER_CONTRACT · SALES_ORDER · PURCHASE_ORDER · DESPATCH · RECEIPT · TENDER · OFFER · SUPPORTING_DOCUMENT · BUYER_REFERENCE · PROJECT · INVOICED_OBJECT · BUYER_COST_CENTER · PREVIOUS_INVOICE | Determines the EN 16931/UBL reference mapping and whether input is manual or selected from Klik Račun. |
stagedReferences.inputMode | string | optional; MANUAL · SYSTEM | Must match the selected reference kind; RECURRING_CONTRACT is SYSTEM and most other kinds are MANUAL. |
stagedReferences.internalEntityId | string (uuid) | optional | Required for a SYSTEM reference such as a selected recurring-contract occurrence. |
stagedReferences.documentNumber | string | optional | Required for MANUAL references. |
stagedReferences.documentDate | string (date) | optional | Referenced document date when applicable. |
stagedReferences.description | string | optional | Human-readable reference description. |
stagedReferences.externalUrl | string (uri) | optional | External supporting-document URL. |
stagedReferences.attachment | object | optional | Value defined by the API contract. |
stagedReferences.attachment.name | string | required | Attachment filename. |
stagedReferences.attachment.type | string | required | Attachment media type. |
stagedReferences.attachment.data | string (byte) | required | Base64-encoded attachment content; decoded size is limited to 5 MiB. |
stagedReferences.attachment.size | integer | optional; ≥ 0 | Optional decoded byte count used for early size validation. |
salesAccountId | string (uuid) | optional | Revenue account to use when the API client has no default account, or to override that default. |
splitSalesAccounts | boolean | optional; default: false | When true, every line must supply its own salesAccountId. |
issue | boolean | optional; default: false | When true, create the draft and immediately queue guarded issuance; also requires invoices:issue. |
advanceApplications | array [object] | optional | Accepted advances to reserve and apply before issuance. |
advanceApplications.sourceInvoiceId | string (uuid) | optional | Klik Račun identifier of the accepted advance invoice. |
advanceApplications.documentNumber | string | optional | Advance invoice number |
advanceApplications.issueDate | string (date) | optional | Advance invoice date |
advanceApplications.amount | number | required; > 0 | Gross advance amount to reserve and apply. |
application/json - variant 2
| Field | Type | Rules | Meaning |
|---|---|---|---|
format | string | required; = UBL | Value defined by the API contract. |
ublXml | string | required | Value defined by the API contract. |
salesAccountId | string (uuid) | optional | Value defined by the API contract. |
deliveryChannel | string | optional; AS4 · FISCALIZATION_ONLY | Value defined by the API contract. |
issue | boolean | optional | Value defined by the API contract. |
advanceApplications | array [object] | optional | Value defined by the API contract. |
advanceApplications.sourceInvoiceId | string (uuid) | optional | Klik Račun identifier of the accepted advance invoice. |
advanceApplications.documentNumber | string | optional | Advance invoice number |
advanceApplications.issueDate | string (date) | optional | Advance invoice date |
advanceApplications.amount | number | required; > 0 | Gross advance amount to reserve and apply. |
application/xml
Send one complete standalone UBL 2.1/HR-CIUS Invoice or CreditNote XML document. Do not send a Croatian Tax Administration FIS message.
text/xml
Send one complete standalone UBL 2.1/HR-CIUS Invoice or CreditNote XML document. Do not send a Croatian Tax Administration FIS message.
application/ubl+xml
Send one complete standalone UBL 2.1/HR-CIUS Invoice or CreditNote XML document. Do not send a Croatian Tax Administration FIS message.
Responses
| Status | Description | Content type |
|---|---|---|
201 | Invoice | application/json |
202 | Invoice created and issuance queued | application/json |
422 | Guard or validation failure | application/json |
GET /public/v1/outgoing-invoices/{invoiceId}
Read one outgoing invoice
Required permissions: invoices:read
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Invoice | application/json |
404 | Guard or validation failure | application/json |
PATCH /public/v1/outgoing-invoices/{invoiceId}
Update a structured draft
Required permissions: invoices:draft
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Request body
application/json
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentNumber | string | optional | Required when numberMode is MANUAL; allocated by Klik Račun when numberMode is AUTO. |
numberMode | string | optional; AUTO · MANUAL; default: AUTO | Selects automatic or caller-supplied numbering. |
issueDate | string (date) | required | Invoice issue date in YYYY-MM-DD form. |
deliveryDate | string (date) | required | Supply or service delivery date in YYYY-MM-DD form. |
dueDate | string | null (date) | optional | Payment due date; required by payment models with a remaining balance. |
currency | string | optional; default: EUR; min 3; max 3 | ISO 4217 currency code. |
documentType | string | optional; Invoice · CreditNote · AdvanceInvoice; default: Invoice | Business document type; AdvanceInvoice selects the advance-declaration process. |
paymentModel | string | optional; DUE · ADVANCE_AND_BALANCE · ONSITE · ADVANCE_DECLARATION; default: DUE | Determines due-date, immediate-payment, and advance settlement rules. |
deliveryChannel | string | optional; AS4 · FISCALIZATION_ONLY; default: AS4 | Requested delivery path; Klik Račun may select an authoritative non-AS4 reporting path when recipient discovery requires it. |
supplier | object | optional | Optional ownership assertion. Klik Račun only accepts a matching OIB and replaces all supplier data with the credential-bound issuer profile. |
supplier.oib | string | optional; pattern: ^[0-9]{11}$ | Must equal the OIB bound to the API credential. |
customer | object | required | Value defined by the API contract. |
customer.partnerId | string (uuid) | optional | Optional Klik Račun partner master-data identifier. |
customer.partnerCode | string | optional | Optional caller or master-data partner code. |
customer.name | string | required | Legal name; accepted as an alias for fullName. |
customer.fullName | string | optional | Legal name; required when name is omitted. |
customer.shortName | string | optional | Display name; defaults to the legal name. |
customer.oib | string | required; pattern: ^[0-9]{11}$ | Croatian personal identification number. |
customer.endpointScheme | string | optional; default: 9934; max 16 | Electronic-address identifier scheme. |
customer.countryCode | string | optional; default: HR; min 2; max 2 | ISO 3166-1 alpha-2 country code. |
customer.vatId | string | optional | VAT identifier when applicable. |
customer.city | string | optional | Value defined by the API contract. |
customer.postalCode | string | optional | Value defined by the API contract. |
customer.streetAddress | string | optional | Value defined by the API contract. |
customer.additionalAddress | string | optional | Value defined by the API contract. |
customer.addressDetails | string | optional | Value defined by the API contract. |
customer.county | string | optional | Value defined by the API contract. |
customer.contactEmail | string (email) | optional | Value defined by the API contract. |
lines | array [object] | required; min 1 | Value defined by the API contract. |
lines.articleId | string (uuid) | optional | Optional Klik Račun article master-data identifier. |
lines.code | string | optional | Seller's article or service code. |
lines.name | string | required | Line item name. |
lines.quantity | number | required; > 0 | Value defined by the API contract. |
lines.unitCode | string | optional; default: EA; max 16 | UNECE unit-of-measure code. |
lines.unitPrice | number | required; ≥ 0 | Net unit price before VAT. |
lines.taxCode | string | required | Klik Račun tax master-data code. |
lines.taxRate | number | required; ≥ 0 | Applied VAT percentage. |
lines.ublTaxCategory | string | optional; default: S; max 16 | EN 16931/UBL VAT category code. |
lines.ublHrTaxCategory | string | optional | Croatian extension tax-category code when applicable. |
lines.taxCategoryCode | string | optional | Optional Klik Račun tax-category code. |
lines.classification | object | required | Value defined by the API contract. |
lines.classification.value | string | required | KPD classification value. |
lines.classification.schemeId | string | optional; = CG; default: CG | Croatian KPD scheme identifier. |
lines.classification.schemeVersionId | string | optional | Optional KPD scheme version. |
lines.salesAccountId | string (uuid) | optional | Required on every line when splitSalesAccounts is true. |
additionalTaxes | array [object] | optional | Value defined by the API contract. |
additionalTaxes.code | string | required | Value defined by the API contract. |
additionalTaxes.description | string | required | Value defined by the API contract. |
additionalTaxes.hrCategory | string | required; HR:PP · HR:PPMV · HR:POVNAK · HR:N | Value defined by the API contract. |
additionalTaxes.taxableAmount | number | required; ≥ 0 | Value defined by the API contract. |
additionalTaxes.rate | number | required; ≥ 0 | Value defined by the API contract. |
notes | array [string] | optional | Free-form invoice notes; each note is limited to 2,000 characters. |
paymentInstructions | object | optional | Value defined by the API contract. |
paymentInstructions.meansCode | string | optional; default: 30; pattern: ^(?:[0-9]{1,3}|ZZZ)$ | UNCL 4461 payment-means code; 30 and 58 require iban. |
paymentInstructions.iban | string | optional | Creditor account IBAN; spaces are removed before validation. |
paymentInstructions.bic | string | optional | Creditor bank BIC. |
paymentInstructions.accountName | string | optional | Value defined by the API contract. |
paymentInstructions.paymentReference | string | optional | Value defined by the API contract. |
paymentInstructions.model | string | optional; pattern: ^HR[0-9]{2}$ | Croatian payment-reference model. |
paymentInstructions.purposeCode | string | optional | Value defined by the API contract. |
paymentInstructions.description | string | optional | Value defined by the API contract. |
paymentInstructions.terms | string | optional | Value defined by the API contract. |
paymentProfileId | string (uuid) | optional | Optional active Klik Račun payment profile; when supplied, its instructions replace paymentInstructions. |
initialPayments | array [object] | optional | Payments collected when the document is created; not allowed for DUE invoices. |
initialPayments.methodCode | string | required | Payment method code such as TRA |
initialPayments.paymentDate | string (date) | required | Date on which the payment occurred. |
initialPayments.amount | number | required; > 0 | Positive payment amount in the invoice currency. |
initialPayments.referenceNumber | string | optional | Bank |
initialPayments.note | string | optional | Optional human-readable payment note. |
stagedReferences | array [object] | optional | Commercial and supporting-document references inserted with the new draft. |
stagedReferences.referenceKind | string | required; RECURRING_CONTRACT · BUYER_CONTRACT · SALES_ORDER · PURCHASE_ORDER · DESPATCH · RECEIPT · TENDER · OFFER · SUPPORTING_DOCUMENT · BUYER_REFERENCE · PROJECT · INVOICED_OBJECT · BUYER_COST_CENTER · PREVIOUS_INVOICE | Determines the EN 16931/UBL reference mapping and whether input is manual or selected from Klik Račun. |
stagedReferences.inputMode | string | optional; MANUAL · SYSTEM | Must match the selected reference kind; RECURRING_CONTRACT is SYSTEM and most other kinds are MANUAL. |
stagedReferences.internalEntityId | string (uuid) | optional | Required for a SYSTEM reference such as a selected recurring-contract occurrence. |
stagedReferences.documentNumber | string | optional | Required for MANUAL references. |
stagedReferences.documentDate | string (date) | optional | Referenced document date when applicable. |
stagedReferences.description | string | optional | Human-readable reference description. |
stagedReferences.externalUrl | string (uri) | optional | External supporting-document URL. |
stagedReferences.attachment | object | optional | Value defined by the API contract. |
stagedReferences.attachment.name | string | required | Attachment filename. |
stagedReferences.attachment.type | string | required | Attachment media type. |
stagedReferences.attachment.data | string (byte) | required | Base64-encoded attachment content; decoded size is limited to 5 MiB. |
stagedReferences.attachment.size | integer | optional; ≥ 0 | Optional decoded byte count used for early size validation. |
salesAccountId | string (uuid) | optional | Revenue account to use when the API client has no default account, or to override that default. |
splitSalesAccounts | boolean | optional; default: false | When true, every line must supply its own salesAccountId. |
issue | boolean | optional; default: false | When true, create the draft and immediately queue guarded issuance; also requires invoices:issue. |
advanceApplications | array [object] | optional | Accepted advances to reserve and apply before issuance. |
advanceApplications.sourceInvoiceId | string (uuid) | optional | Klik Račun identifier of the accepted advance invoice. |
advanceApplications.documentNumber | string | optional | Advance invoice number |
advanceApplications.issueDate | string (date) | optional | Advance invoice date |
advanceApplications.amount | number | required; > 0 | Gross advance amount to reserve and apply. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Invoice | application/json |
409 | Guard or validation failure | application/json |
POST /public/v1/outgoing-invoices/{invoiceId}/validate
Validate the effective UBL without issuing it
Required permissions: invoices:issue
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Validation passed | application/json |
422 | Guard or validation failure | application/json |
POST /public/v1/outgoing-invoices/{invoiceId}/issue
Queue guarded routing, transmission, reporting, and fiscalization
Required permissions: invoices:issue
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
202 | Asynchronous operation | application/json |
GET /public/v1/outgoing-invoices/{invoiceId}/status
Read unified and dimensional invoice status
Required permissions: invoices:read
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Invoice status | application/json |
GET /public/v1/outgoing-invoices/{invoiceId}/extract-xml/ubl
Download the effective UBL used for issuance
Required permissions: invoices:read
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | UBL Invoice or CreditNote | application/xml |
Reversals, corrections, and advances
POST /public/v1/outgoing-invoices/{invoiceId}/reverse
Create a guarded full reversal
Required permissions: invoices:reverse
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Request body
application/json
| Field | Type | Rules | Meaning |
|---|---|---|---|
reason | string | required | Value defined by the API contract. |
issueDate | string (date) | optional | Value defined by the API contract. |
documentNumber | string | optional | Value defined by the API contract. |
numberMode | string | optional; AUTO · MANUAL | Value defined by the API contract. |
issue | boolean | optional; default: true | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
201 | Generated correction documents and optional issue operation | application/json |
202 | Generated correction documents and optional issue operation | application/json |
POST /public/v1/outgoing-invoices/{invoiceId}/correct/preview
Calculate and persist a short-lived correction plan
Required permissions: invoices:correct
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
IIProxy-Correction-Reason | string | optional; max 2000 | Required when the preview body is direct XML. |
Request body
application/json - variant 1
| Field | Type | Rules | Meaning |
|---|---|---|---|
issueDate | string (date) | required | Value defined by the API contract. |
reason | string | required | Value defined by the API contract. |
target | object | required | Structured invoice data from which Klik Račun builds canonical UBL 2.1/HR-CIUS XML. |
target.documentNumber | string | optional | Required when numberMode is MANUAL; allocated by Klik Račun when numberMode is AUTO. |
target.numberMode | string | optional; AUTO · MANUAL; default: AUTO | Selects automatic or caller-supplied numbering. |
target.issueDate | string (date) | required | Invoice issue date in YYYY-MM-DD form. |
target.deliveryDate | string (date) | required | Supply or service delivery date in YYYY-MM-DD form. |
target.dueDate | string | null (date) | optional | Payment due date; required by payment models with a remaining balance. |
target.currency | string | optional; default: EUR; min 3; max 3 | ISO 4217 currency code. |
target.documentType | string | optional; Invoice · CreditNote · AdvanceInvoice; default: Invoice | Business document type; AdvanceInvoice selects the advance-declaration process. |
target.paymentModel | string | optional; DUE · ADVANCE_AND_BALANCE · ONSITE · ADVANCE_DECLARATION; default: DUE | Determines due-date, immediate-payment, and advance settlement rules. |
target.deliveryChannel | string | optional; AS4 · FISCALIZATION_ONLY; default: AS4 | Requested delivery path; Klik Račun may select an authoritative non-AS4 reporting path when recipient discovery requires it. |
target.supplier | object | optional | Optional ownership assertion. Klik Račun only accepts a matching OIB and replaces all supplier data with the credential-bound issuer profile. |
target.supplier.oib | string | optional; pattern: ^[0-9]{11}$ | Must equal the OIB bound to the API credential. |
target.customer | object | required | Value defined by the API contract. |
target.customer.partnerId | string (uuid) | optional | Optional Klik Račun partner master-data identifier. |
target.customer.partnerCode | string | optional | Optional caller or master-data partner code. |
target.customer.name | string | required | Legal name; accepted as an alias for fullName. |
target.customer.fullName | string | optional | Legal name; required when name is omitted. |
target.customer.shortName | string | optional | Display name; defaults to the legal name. |
target.customer.oib | string | required; pattern: ^[0-9]{11}$ | Croatian personal identification number. |
target.customer.endpointScheme | string | optional; default: 9934; max 16 | Electronic-address identifier scheme. |
target.customer.countryCode | string | optional; default: HR; min 2; max 2 | ISO 3166-1 alpha-2 country code. |
target.customer.vatId | string | optional | VAT identifier when applicable. |
target.customer.city | string | optional | Value defined by the API contract. |
target.customer.postalCode | string | optional | Value defined by the API contract. |
target.customer.streetAddress | string | optional | Value defined by the API contract. |
target.customer.additionalAddress | string | optional | Value defined by the API contract. |
target.customer.addressDetails | string | optional | Value defined by the API contract. |
target.customer.county | string | optional | Value defined by the API contract. |
target.customer.contactEmail | string (email) | optional | Value defined by the API contract. |
target.lines | array [object] | required; min 1 | Value defined by the API contract. |
target.lines.articleId | string (uuid) | optional | Optional Klik Račun article master-data identifier. |
target.lines.code | string | optional | Seller's article or service code. |
target.lines.name | string | required | Line item name. |
target.lines.quantity | number | required; > 0 | Value defined by the API contract. |
target.lines.unitCode | string | optional; default: EA; max 16 | UNECE unit-of-measure code. |
target.lines.unitPrice | number | required; ≥ 0 | Net unit price before VAT. |
target.lines.taxCode | string | required | Klik Račun tax master-data code. |
target.lines.taxRate | number | required; ≥ 0 | Applied VAT percentage. |
target.lines.ublTaxCategory | string | optional; default: S; max 16 | EN 16931/UBL VAT category code. |
target.lines.ublHrTaxCategory | string | optional | Croatian extension tax-category code when applicable. |
target.lines.taxCategoryCode | string | optional | Optional Klik Račun tax-category code. |
target.lines.classification | object | required | Value defined by the API contract. |
target.lines.classification.value | string | required | KPD classification value. |
target.lines.classification.schemeId | string | optional; = CG; default: CG | Croatian KPD scheme identifier. |
target.lines.classification.schemeVersionId | string | optional | Optional KPD scheme version. |
target.lines.salesAccountId | string (uuid) | optional | Required on every line when splitSalesAccounts is true. |
target.additionalTaxes | array [object] | optional | Value defined by the API contract. |
target.additionalTaxes.code | string | required | Value defined by the API contract. |
target.additionalTaxes.description | string | required | Value defined by the API contract. |
target.additionalTaxes.hrCategory | string | required; HR:PP · HR:PPMV · HR:POVNAK · HR:N | Value defined by the API contract. |
target.additionalTaxes.taxableAmount | number | required; ≥ 0 | Value defined by the API contract. |
target.additionalTaxes.rate | number | required; ≥ 0 | Value defined by the API contract. |
target.notes | array [string] | optional | Free-form invoice notes; each note is limited to 2,000 characters. |
target.paymentInstructions | object | optional | Value defined by the API contract. |
target.paymentInstructions.meansCode | string | optional; default: 30; pattern: ^(?:[0-9]{1,3}|ZZZ)$ | UNCL 4461 payment-means code; 30 and 58 require iban. |
target.paymentInstructions.iban | string | optional | Creditor account IBAN; spaces are removed before validation. |
target.paymentInstructions.bic | string | optional | Creditor bank BIC. |
target.paymentInstructions.accountName | string | optional | Value defined by the API contract. |
target.paymentInstructions.paymentReference | string | optional | Value defined by the API contract. |
target.paymentInstructions.model | string | optional; pattern: ^HR[0-9]{2}$ | Croatian payment-reference model. |
target.paymentInstructions.purposeCode | string | optional | Value defined by the API contract. |
target.paymentInstructions.description | string | optional | Value defined by the API contract. |
target.paymentInstructions.terms | string | optional | Value defined by the API contract. |
target.paymentProfileId | string (uuid) | optional | Optional active Klik Račun payment profile; when supplied, its instructions replace paymentInstructions. |
target.initialPayments | array [object] | optional | Payments collected when the document is created; not allowed for DUE invoices. |
target.initialPayments.methodCode | string | required | Payment method code such as TRA |
target.initialPayments.paymentDate | string (date) | required | Date on which the payment occurred. |
target.initialPayments.amount | number | required; > 0 | Positive payment amount in the invoice currency. |
target.initialPayments.referenceNumber | string | optional | Bank |
target.initialPayments.note | string | optional | Optional human-readable payment note. |
target.stagedReferences | array [object] | optional | Commercial and supporting-document references inserted with the new draft. |
target.stagedReferences.referenceKind | string | required; RECURRING_CONTRACT · BUYER_CONTRACT · SALES_ORDER · PURCHASE_ORDER · DESPATCH · RECEIPT · TENDER · OFFER · SUPPORTING_DOCUMENT · BUYER_REFERENCE · PROJECT · INVOICED_OBJECT · BUYER_COST_CENTER · PREVIOUS_INVOICE | Determines the EN 16931/UBL reference mapping and whether input is manual or selected from Klik Račun. |
target.stagedReferences.inputMode | string | optional; MANUAL · SYSTEM | Must match the selected reference kind; RECURRING_CONTRACT is SYSTEM and most other kinds are MANUAL. |
target.stagedReferences.internalEntityId | string (uuid) | optional | Required for a SYSTEM reference such as a selected recurring-contract occurrence. |
target.stagedReferences.documentNumber | string | optional | Required for MANUAL references. |
target.stagedReferences.documentDate | string (date) | optional | Referenced document date when applicable. |
target.stagedReferences.description | string | optional | Human-readable reference description. |
target.stagedReferences.externalUrl | string (uri) | optional | External supporting-document URL. |
target.stagedReferences.attachment | object | optional | Value defined by the API contract. |
target.stagedReferences.attachment.name | string | required | Attachment filename. |
target.stagedReferences.attachment.type | string | required | Attachment media type. |
target.stagedReferences.attachment.data | string (byte) | required | Base64-encoded attachment content; decoded size is limited to 5 MiB. |
target.stagedReferences.attachment.size | integer | optional; ≥ 0 | Optional decoded byte count used for early size validation. |
target.salesAccountId | string (uuid) | optional | Revenue account to use when the API client has no default account, or to override that default. |
target.splitSalesAccounts | boolean | optional; default: false | When true, every line must supply its own salesAccountId. |
target.issue | boolean | optional; default: false | When true, create the draft and immediately queue guarded issuance; also requires invoices:issue. |
target.advanceApplications | array [object] | optional | Accepted advances to reserve and apply before issuance. |
target.advanceApplications.sourceInvoiceId | string (uuid) | optional | Klik Račun identifier of the accepted advance invoice. |
target.advanceApplications.documentNumber | string | optional | Advance invoice number |
target.advanceApplications.issueDate | string (date) | optional | Advance invoice date |
target.advanceApplications.amount | number | required; > 0 | Gross advance amount to reserve and apply. |
documentNumber | string | optional | Value defined by the API contract. |
numberMode | string | optional; AUTO · MANUAL | Value defined by the API contract. |
application/json - variant 2
| Field | Type | Rules | Meaning |
|---|---|---|---|
format | string | required; = UBL | Value defined by the API contract. |
ublXml | string | required | Value defined by the API contract. |
salesAccountId | string (uuid) | optional | Value defined by the API contract. |
deliveryChannel | string | optional; AS4 · FISCALIZATION_ONLY | Value defined by the API contract. |
issue | boolean | optional | Value defined by the API contract. |
advanceApplications | array [object] | optional | Value defined by the API contract. |
advanceApplications.sourceInvoiceId | string (uuid) | optional | Klik Račun identifier of the accepted advance invoice. |
advanceApplications.documentNumber | string | optional | Advance invoice number |
advanceApplications.issueDate | string (date) | optional | Advance invoice date |
advanceApplications.amount | number | required; > 0 | Gross advance amount to reserve and apply. |
reason | string | required | Value defined by the API contract. |
application/xml
Send one complete standalone UBL 2.1/HR-CIUS Invoice or CreditNote XML document. Do not send a Croatian Tax Administration FIS message.
Responses
| Status | Description | Content type |
|---|---|---|
200 | Protected correction plan | application/json |
POST /public/v1/outgoing-invoices/{invoiceId}/correct
Consume a correction plan once
Required permissions: invoices:correct
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Request body
application/json
| Field | Type | Rules | Meaning |
|---|---|---|---|
planId | string (uuid) | required | Value defined by the API contract. |
issue | boolean | optional; default: true | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
201 | Generated correction documents and optional issue operation | application/json |
202 | Generated correction documents and optional issue operation | application/json |
POST /public/v1/outgoing-invoices/{invoiceId}/advance-applications
Reserve an accepted advance against a draft
Required permissions: advances:write
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Request body
application/json
| Field | Type | Rules | Meaning |
|---|---|---|---|
sourceInvoiceId | string (uuid) | optional | Klik Račun identifier of the accepted advance invoice. |
documentNumber | string | optional | Advance invoice number |
issueDate | string (date) | optional | Advance invoice date |
amount | number | required; > 0 | Gross advance amount to reserve and apply. |
Responses
| Status | Description | Content type |
|---|---|---|
201 | Reserved advance application | — |
DELETE /public/v1/outgoing-invoices/{invoiceId}/advance-applications/{applicationId}
Release a draft advance reservation
Required permissions: advances:write
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
applicationId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
204 | Released | — |
Outgoing-invoice payments
GET /public/v1/outgoing-invoices/{invoiceId}/payments
List payment evidence and settlement
Required permissions: payments:read
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Payments and settlement | — |
POST /public/v1/outgoing-invoices/{invoiceId}/payments
Record payment evidence
Required permissions: payments:write
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Request body
application/json
| Field | Type | Rules | Meaning |
|---|---|---|---|
methodCode | string | required | Payment method code such as TRA |
paymentDate | string (date) | required | Date on which the payment occurred. |
amount | number | required; > 0 | Positive payment amount in the invoice currency. |
referenceNumber | string | optional | Bank |
note | string | optional | Optional human-readable payment note. |
Responses
| Status | Description | Content type |
|---|---|---|
201 | Payment recorded | — |
POST /public/v1/outgoing-invoices/{invoiceId}/payments/{paymentId}/void
Void payment evidence and queue a reporting correction when required
Required permissions: payments:write
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
invoiceId | string (uuid) | required | Value defined by the API contract. |
paymentId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Payment voided | — |
Incoming invoices and their payments
GET /public/v1/incoming-invoices
List tenant-owned AP documents
Required permissions: incoming:read
Query parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
status | string | optional | Return only documents whose unified status equals this value. |
documentNumber | string | optional | Case-insensitive substring match against the document number. |
from | string (date) | optional | Include documents issued on or after this date. |
to | string (date) | optional | Include documents issued on or before this date. |
limit | integer | optional; default: 1000; ≥ 1 | Maximum number of matching documents returned. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Incoming invoice list | — |
GET /public/v1/incoming-invoices/{documentKey}
Read a tenant-owned AP document
Required permissions: incoming:read
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentKey | string | required; min 1; max 1000 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Incoming invoice | — |
404 | Guard or validation failure | application/json |
GET /public/v1/incoming-invoices/{documentKey}/extract-xml/ubl
Download the retained incoming UBL
Required permissions: incoming:read
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentKey | string | required; min 1; max 1000 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Incoming UBL Invoice or CreditNote | application/xml |
GET /public/v1/incoming-invoices/{documentKey}/process-status
Project the recipient business process status from recorded facts
Required permissions: incoming:read
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentKey | string | required; min 1; max 1000 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Recipient process status | application/json |
POST /public/v1/incoming-invoices/{documentKey}/approve
Record recipient business approval
Required permissions: incoming:respond
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentKey | string | required; min 1; max 1000 | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Approved | — |
POST /public/v1/incoming-invoices/{documentKey}/reject
Validate and submit recipient rejection
Required permissions: incoming:respond
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentKey | string | required; min 1; max 1000 | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Request body
application/json
| Field | Type | Rules | Meaning |
|---|---|---|---|
rejectionDate | string (date) | required | Value defined by the API contract. |
reasonType | string | required; N · U · O | Value defined by the API contract. |
reason | string | required; min 1; max 2000 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
202 | Rejection submitted | — |
GET /public/v1/incoming-invoices/{documentKey}/payments
Read AP payment events and settlement
Required permissions: payments:read
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentKey | string | required; min 1; max 1000 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | AP payment events and settlement | — |
POST /public/v1/incoming-invoices/{documentKey}/payments
Record a dated AP payment event
Required permissions: payments:write
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentKey | string | required; min 1; max 1000 | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Request body
application/json
| Field | Type | Rules | Meaning |
|---|---|---|---|
methodCode | string | required | Payment method code such as TRA |
paymentDate | string (date) | required | Date on which the payment occurred. |
amount | number | required; > 0 | Positive payment amount in the invoice currency. |
referenceNumber | string | optional | Bank |
note | string | optional | Optional human-readable payment note. |
Responses
| Status | Description | Content type |
|---|---|---|
201 | AP payment recorded | — |
POST /public/v1/incoming-invoices/{documentKey}/payments/{paymentId}/void
Void an AP payment event
Required permissions: payments:write
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
documentKey | string | required; min 1; max 1000 | Value defined by the API contract. |
paymentId | string (uuid) | required | Value defined by the API contract. |
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Idempotency-Key | string | required; min 16; max 100 | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | AP payment voided | — |
Asynchronous operations
GET /public/v1/events
Stream client-owned operation updates over Server-Sent Events
Required permissions: events:read
Request headers
| Field | Type | Rules | Meaning |
|---|---|---|---|
Last-Event-ID | string | optional; min 1; max 512 | Opaque SSE id from the last completely processed event. Omit it for a new stream starting at the current position. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Server-Sent Events stream of ready and operation.updated events | text/event-stream |
400 | Guard or validation failure | application/json |
401 | Guard or validation failure | application/json |
403 | Guard or validation failure | application/json |
GET /public/v1/operations/{operationId}
Read a client-owned asynchronous operation
Required permissions: invoices:read
Path parameters
| Field | Type | Rules | Meaning |
|---|---|---|---|
operationId | string (uuid) | required | Value defined by the API contract. |
Responses
| Status | Description | Content type |
|---|---|---|
200 | Asynchronous operation | application/json |
404 | Guard or validation failure | application/json |