Skip to content
Linra Omni Developer Docs

Object commission period

Object to a provisional commission period.

Commission Periods

POST/api/v1/commission-periods/{id}/objection

Raises an objection on your own PROVISIONAL period, before its issueDate — this pauses the period at Provisional until Linra resolves the objection, so it never silently becomes Issued out from under a genuine dispute. See Commission periods for when to use this. The response never embeds a document (a write confirmation, not a document read) — fetch the by-id read with ?include=document for the ledger detail.

Path parameters

idstring (uuid)Required

Body parameters

reasonstringRequired

Response

idstring (uuid)
period.fromstring (date-time)
period.tostring (date-time)
issueDatestring (date-time)
dueDatestring (date-time)

Set at issue: the end (exclusive, 24:00 Saudi time) of the day the period is issued — commission is due the same day it is issued. Null until issued.

currencystring
statusstring (enum)
generatedAtstring (date-time)
isObjectedboolean
objectedAtstring (date-time)
overdueboolean

Computed: true when Issued, not yet settled, and past dueDate (i.e. from 00:00 Saudi time the day after issue).

netDuenumber (decimal)

Computed: null until issued.

totals.grossnumber (decimal)

Gross, VAT-inclusive retail total across every included order.

totals.netnumber (decimal)
totals.vatnumber (decimal)

Output VAT on the goods sale.

totals.commissionnumber (decimal)

The creditable commission.

totals.commissionVatnumber (decimal)

Input VAT on the commission leg.

objection.isObjectedboolean
objection.reasonstring
objection.objectedAtstring (date-time)
objection.resolvedAtstring (date-time)
objection.resolutionNotestring
settlement.expectedInvoiceTotalnumber (decimal)
settlement.invoiceReceivedAtstring (date-time)
settlement.settledAtstring (date-time)
settlement.netDuenumber (decimal)
settlement.overdueboolean
provisionalDocument.isProvisionalboolean
provisionalDocument.periodobject

R-CATEGORIZE grouping for a statement/document’s period window.

provisionalDocument.generatedAtstring (date-time)
provisionalDocument.currencystring
provisionalDocument.totalsobject

R-CATEGORIZE grouping for a commission period/document’s gross/net/VAT/commission rollup.

provisionalDocument.linesarray of object
provisionalDocument.deltaNotestring

Issued document only — a plain-English note when the issued figures differ from the provisional ones (e.g. a fully-returned order excluded at issue time). Null when there’s no delta to explain.

issuedDocument.isProvisionalboolean
issuedDocument.periodobject

R-CATEGORIZE grouping for a statement/document’s period window.

issuedDocument.generatedAtstring (date-time)
issuedDocument.currencystring
issuedDocument.totalsobject

R-CATEGORIZE grouping for a commission period/document’s gross/net/VAT/commission rollup.

issuedDocument.linesarray of object
issuedDocument.deltaNotestring

Issued document only — a plain-English note when the issued figures differ from the provisional ones (e.g. a fully-returned order excluded at issue time). Null when there’s no delta to explain.

Other responses

400Missing/empty reason, or reason over 1000 characters.
401No bearer token (UNAUTHORIZED_MISSING_TOKEN), an invalid token (UNAUTHORIZED_INVALID_TOKEN) or an expired one (UNAUTHORIZED_TOKEN_EXPIRED — mint a new token). UPSTREAM_AUTH_FAILED is different: a dependent service refused the Gateway itself. That is a server-side fault — retry later and do NOT re-mint your token. See the Errors guide.
403The route is not available to your credential (FORBIDDEN).
404Unknown period, or one belonging to another partner (no existence leak).
409The period can’t be objected to right now.
415The request body is not sent as application/json (UNSUPPORTED_MEDIA_TYPE).
429Too many requests — see the Rate limits guide. Retry after the Retry-After header (seconds).
502A dependent service returned an invalid response (BAD_GATEWAY). Retry with backoff.
503The service is temporarily unavailable (SERVICE_UNAVAILABLE). Retry with backoff.
504A dependent service did not respond in time (GATEWAY_TIMEOUT). Retry with backoff.
curl --request POST \
--url https://api-omni.linra.net/api/v1/commission-periods/5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b/objection \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"reason": "string"
}'

Response

{
"state": "SUCCESS",
"payload": {
"id": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"period": {
"from": "2026-08-22T09:14:03Z",
"to": "2026-08-22T09:14:03Z"
},
"issueDate": "2026-08-22T09:14:03Z",
"dueDate": "2026-08-22T09:14:03Z",
"currency": "SAR",
"status": "Provisional",
"generatedAt": "2026-08-22T09:14:03Z",
"isObjected": true,
"objectedAt": "2026-08-22T09:14:03Z",
"overdue": true,
"netDue": 0,
"totals": {
"gross": 0,
"net": 0,
"vat": 0,
"commission": 0,
"commissionVat": 0
},
"objection": {
"isObjected": true,
"reason": "string",
"objectedAt": "2026-08-22T09:14:03Z",
"resolvedAt": "2026-08-22T09:14:03Z",
"resolutionNote": "string"
},
"settlement": {
"expectedInvoiceTotal": 0,
"invoiceReceivedAt": "2026-08-22T09:14:03Z",
"settledAt": "2026-08-22T09:14:03Z",
"netDue": 0,
"overdue": true
},
"provisionalDocument": {
"isProvisional": true,
"period": {
"from": "2026-08-22T09:14:03Z",
"to": "2026-08-22T09:14:03Z"
},
"generatedAt": "2026-08-22T09:14:03Z",
"currency": "SAR",
"totals": {
"gross": 0,
"net": 0,
"vat": 0,
"commission": 0,
"commissionVat": 0
},
"lines": [
{
"date": "2026-08-22T09:14:03Z",
"orderNumber": "string",
"retailInclVat": 0,
"net": 0,
"vat": 0,
"commission": 0,
"commissionVat": 0,
"fullyReturnedExcluded": true
}
],
"deltaNote": "string"
},
"issuedDocument": {
"isProvisional": true,
"period": {
"from": "2026-08-22T09:14:03Z",
"to": "2026-08-22T09:14:03Z"
},
"generatedAt": "2026-08-22T09:14:03Z",
"currency": "SAR",
"totals": {
"gross": 0,
"net": 0,
"vat": 0,
"commission": 0,
"commissionVat": 0
},
"lines": [
{
"date": "2026-08-22T09:14:03Z",
"orderNumber": "string",
"retailInclVat": 0,
"net": 0,
"vat": 0,
"commission": 0,
"commissionVat": 0,
"fullyReturnedExcluded": true
}
],
"deltaNote": "string"
}
},
"details": null
}