Skip to main content
POST
/
apps
/
gov-sa
/
v1
/
entry
/
{silo_entry_id}
/
otp
Submit the OTP and obtain the Compliance CSID
curl --request POST \
  --url https://api.invopop.com/apps/gov-sa/v1/entry/{silo_entry_id}/otp \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Acme Trading Co.",
  "invoice_type": "1100",
  "branch_name": "Head Office",
  "registered_address": "King Fahd Road, Riyadh 12211",
  "business_category": "Retail",
  "otp": "123456"
}
'
{
  "error": "invalid OTP"
}
The request carries every field the wizard collects: the partyโ€™s registration details plus the OTP generated in the ZATCA Fatoora portal. The resulting credentials are stored securely and the queued registration task is poked so the workflow can continue. The silo entry must already exist and have been through the party registration step (the entry is waiting for OTP submission). The OTP is short-lived: generate it in the portal immediately before calling this endpoint.
Use this endpoint only after running the party registration workflow. The silo entry must be waiting for OTP submission. The OTP is short-lived, so generate it in the portal immediately before calling this endpoint.

Authorizations

Authorization
string
header
required

Authenticate using a valid Invopop enrollment token in the Bearer scheme.

Example: Authorization: Bearer <token>

Path Parameters

silo_entry_id
string
required

ID of the org.Party silo entry being onboarded.

Example:

"5b45453c-cdd0-11ed-afa1-0242ac120002"

Body

application/json
name
string
required

Legal name of the supplier as registered with ZATCA.

Example:

"Acme Trading Co."

invoice_type
enum<string>
required

Which invoice transactions the CSID is requested for, encoded as ZATCA's 4-digit functionality map.

  • 1000 โ€” standard tax invoices only.
  • 0100 โ€” simplified invoices only.
  • 1100 โ€” both standard and simplified invoices.
Available options:
1000,
0100,
1100
Example:

"1100"

branch_name
string
required

Name of the branch or organizational unit the certificate is issued for. In case of VAT Groups, this field should contain the 10-digit TIN number of the individual group member.

Example:

"Head Office"

registered_address
string
required

Registered address of the supplier as recorded with ZATCA.

Example:

"King Fahd Road, Riyadh 12211"

business_category
string
required

Business category or industry of the supplier.

Example:

"Retail"

otp
string
required

6-digit One-Time Password generated in the ZATCA Fatoora portal for the registering device. Valid only for a short period.

Example:

"123456"

Response

OTP accepted, Compliance CSID obtained and credentials stored.