ClearTax Docs
Subscribe for Updates
  • Introduction to ClearTax APIs
  • ☁️Clear Finance Cloud
    • Introduction to Clear Finance Cloud
    • Learn Clear Finance Cloud Basics
      • API client
      • Access token
      • FTP client
      • How to get Custom Upload Template ID?
    • CFC API Reference
      • Resources and Masters
        • Sale Document Line Object
        • Purchase Document Line Object
      • Generate Access Token API
      • Ingestion API
        • Ingest Documents via File
          • Get Pre-signed URL
          • Upload File to Storage
          • Trigger File Ingestion
          • Get File Ingestion Status
        • (Deprecated) Ingest Documents via JSON
    • Notifications
  • 🇮🇳GLS API
    • GLS API Reference
      • Resources and Masters
      • Advanced Ingestion API Reference
        • Get Pre-signed URL
        • Upload File to Storage
        • Create Ingestion Activity
        • Get Ingestion Activity Status
  • 🇮🇳GST API
    • Introduction to GST API
    • GST 2.0 API Reference
      • Upload Documents
    • GST FTP Magnet
  • 🇮🇳Max ITC API
    • Introduction to Max ITC API
    • Getting Started with Max ITC API
    • Max ITC API Reference
      • Resources and Masters
        • Input and output templates
        • Error Code Master
        • Learn Max ITC API Architecture
      • Max ITC APIs
        • Fetch Max ITC Configuration
        • Upload Purchase Documents
          • Ingest PR via File
          • (Deprecated) Ingest PR via JSON
        • Trigger Max ITC Workflow
        • Get Max ITC Results
        • Postman Collection
    • Max ITC FTP Magnet
  • 🇮🇳TDS API
    • Introduction to TDS API
    • TDS API Reference
      • Resources and Masters
        • Deduction Document Line Objects
        • Output Template(Error)
      • TDS APIs
        • Upload Deductions
          • Ingest Deductions via File
            • Get Pre-signed URL
            • Upload File to Storage
            • Trigger File Ingestion
            • Get File Ingestion Status
          • (Deprecated) Ingest Deductions via JSON
  • 🇮🇳E-Invoicing API
    • Introduction to E-Invoicing API
    • Learn E-Invoicing API Basics
      • How to get E-Invoicing User Auth Token?
      • How to scan the E-Invoice QR code?
      • How to add GSTIN to E-Invoicing?
        • Clear IRP API Credentials
    • Learn E-waybill API Basics
    • E-Invoicing API Reference
      • Setting up your account
      • Clear Schema
        • Generate IRN
        • Cancel IRN
        • Get E-Invoice PDF
        • Get E-Invoice by IRN
        • Generate E-Waybill by IRN
        • Generate E-Waybill for Non-IRN documents
        • Bulk Generate E-Waybill for Non-IRN documents
        • Cancel E-Waybill
        • Get E-Waybill PDF
        • Update E-Waybill Transporter ID
        • Update E-Waybill Part-B
        • Extend E-Waybill Validity
        • Generate/Regenerate Consolidated EWB
        • Get Consolidated EWB PDF
        • Initiate Multi-Vehicle E-Waybills
        • Update EWB Status from NIC
        • Download E-waybills by Others
        • Get E-Waybill Download Status
        • Get E-Waybills
        • Get latest E-Waybill status from Government
        • Generate B2C Payment QR Code
          • Generate B2C Payment QR Code (Lite)
        • Get Signed PDF
        • Sign PDF API Base 64 Encoded
        • Send an E-Invoice via Email
        • Get Invoice Details
      • Government Schema
        • Generate IRN
        • Cancel IRN
        • Get Invoice by IRN
        • Generate E-Waybill by IRN
      • Resources and Masters
        • E-Invoice Object
        • Country Code Master
        • State Code Master
        • Pincode Master
        • Pincode State Mapping Pattern
        • Port Code Master
        • Currency Code Master
        • UQC Master
        • Tax Rates
        • Error Codes
    • E-Invoicing FTP Magnet
  • 🇮🇳Invoicing API
    • Invoicing API Reference
      • Create an Invoice
      • Create Document (Non-Sale)
      • Download PDF of a Document
      • Get Document details
      • Resources and Master
        • Country Master
        • State Master
        • Pincode Master
        • Port Master
        • Currency Master
        • Unit Master
        • Document Types
        • Supply Types
  • 🇲🇾E-INVOICING MALAYSIA API
    • E-Invoicing Malaysia API Reference
      • Resources and Masters
        • Error resolution guide
        • Frequently asked questions (FAQs)
        • E-Invoice Object
      • Generate Access Token API
      • Malaysia E-Invoicing APIs
        • Generate E-Invoice for a Document
        • Status Check for Submitted E-Invoice
        • Cancel E-Invoice
        • Upload E-Invoice
        • Get Documents
        • Get E-Invoice PDF
        • Get Document via UUID
        • Delete Invoice
        • Send Bulk Email
        • Search Taxpayer Tin API
  • E-Invoicing FTP Magnet (XML)
  • E-Invoicing FTP Magnet (Excel)
  • 🇸🇦E-Invoicing KSA API
    • Introduction to E-Invoicing KSA API
    • Learn E-Invoicing KSA API Basics
      • How to get E-Invoicing KSA Auth Token?
      • How to add a VAT number to KSA E-Invoicing Account?
      • How to add Branch for existing Vat to KSA E-Invoicing Account ?
      • How to register a device for a VAT?
      • How to generate OTP on ERAD Portal?
      • How to get Print Template ID?
      • KSA E-Invoicing Integration Architecture
    • E-Invoicing KSA API Reference
      • Resources and Masters
        • E-Invoice Object
        • Error Details Object
        • Data Types
        • Code Lists
        • Common Errors and Resolution
      • Authentication
      • Generate Access Token API
      • KSA E-Invoicing APIs
        • Generate E-Invoice
          • Additional Standard (B2B) E-Invoice Examples
          • Additional Simplified (B2C) E-Invoice Examples
        • Generate E-Invoice Async
        • Generate E-Invoice via XML
        • Send Signed E-Invoice XML To ZATCA
        • Get Bulk Invoice Lite
        • Get Invoice
        • Get E-Invoice PDF
        • Get E-Invoice PDF/A-3 with PDF API
        • Register Device
        • Get PCSID Generation Status
        • Renew PCSID
        • Generate E-Invoice (Phase I)
        • Generate QR Code (Phase I)
        • Generate Device ID
        • Generate CSID and PCSID
        • Send E-Invoice via Email
        • Add Business units API
    • E-Invoicing KSA FTP Magnet
    • E-Invoicing KSA XML reporting FTP Magnet
  • 🧩Add-ons and Extensions
    • SAP Add-on
      • SAP Connectivity Checklist
        • Steps to import SSL/TLS certificates in SAP
        • Steps to check ICM settings in SAP
        • Steps to test connectivity in SAP
        • Steps to troubleshoot connectivity issues in SAP
    • Tally Add-on
  • Microsoft Dynamics 365(F&O)
  • General
    • Go-Live Cutover Activity Checklist
    • How to check DNS resolution?
    • How to check hostname reachability?
    • How to check if hostname is trusted?
    • How to get the SSL certificate of a host?
  • ⭐GST GSP API
    • Introduction to GST GSP API
    • Getting Started with GST GSP API
    • GST GSP API Reference
      • Sample API
    • Migrating from Karvy GST GSP
  • ⭐E-Waybill GSP API
    • Introduction to E-Waybill GSP API
    • Getting Started with EWB GSP API
      • How to register EWB GSP on NIC?
      • Sandbox GSTIN for EWB GSP
    • E-Waybill GSP API Reference
      • Sample API
    • Migrating from Karvy EWB GSP
  • ⭐E-Invoicing GSP API
    • Introduction to E-Invoicing GSP API
    • Getting Started with EINV GSP API
      • How to register EINV GSP on IRP?
      • Sandbox GSTIN for EINV GSP
    • E-Invoicing GSP API Reference
      • Sample API
  • Subscribe for Updates
  • 🚫(Deprecated) GST 1.0 API
    • (Deprecated) Introduction to GST API
    • (Deprecated) Learn GST API Basics
    • (Deprecated) Getting Started with GST API
      • (Deprecated) How to set up ClearTax account?
      • (Deprecated) How to authenticate API requests?
      • (Deprecated) How to upload an invoice from File?
      • (Deprecated) How to create custom import template?
    • (Deprecated) GST 1.0 API Reference
      • Taxpayer Information
      • (Deprecated) Invoices
      • (Deprecated) Bills of Supply
      • (Deprecated) Credit Debit Notes (CDN)
      • (Deprecated) Advances
      • (Deprecated) Resources and Masters
        • (Deprecated) How to read GST error response
        • (Deprecated) Unit of Measurement master
        • (Deprecated) State master
        • (Deprecated) Document Classification/Section Name master
      • (Deprecated) Items
      • (Deprecated) Contacts
      • (Deprecated) GST File Upload API Reference
  • 🚫Deprecated E-Waybill API
    • (Deprecated) Introduction to E-Waybill API
    • (Deprecated) Learn E-Waybill API Basics
    • (Deprecated) Getting Started with E-Waybill API
    • (Deprecated) E-Waybill API Reference
      • (Deprecated) Resources and Masters
        • (Deprecated) Unit Master
        • (Deprecated) State Master
        • (Deprecated) Error Master
      • (Deprecated) E-Waybill JSON API Reference
        • (Deprecated) Generating E-Waybill
        • (Deprecated) Getting E-Waybill
        • (Deprecated) Updating E-Waybill
        • (Deprecated) Extending Validity of E-Waybill
        • (Deprecated) Multi-vehicle E-Waybill
        • (Deprecated) Printing E-Waybill
        • (Deprecated) Cancelling E-Waybill
        • (Deprecated) Generating Consolidated E-Waybill
        • (Deprecated) Getting Consolidated E-Waybill
        • (Deprecated) Regenerating Consolidated E-Waybill
        • (Deprecated) Printing Consolidated E-Waybill
      • (Deprecated) E-Waybill File Upload API Reference
        • (Deprecated) Creating or Updating Documents
        • (Deprecated) Getting Upload Status
        • (Deprecated) Getting Upload Validation
        • (Deprecated) Getting Upload History
        • (Deprecated) Rate Limiting & Best Practices
    • (Deprecated) E-Waybill FTP Magnet
Powered by GitBook
On this page
  • Request Method
  • Request URL
  • Request Headers
  • Request Path Params
  • Request Query Params
  • Request Body
  • Sample Request
  • Response Status Codes
  • Response Schema
  • Sample Response
  • API Validations
  • API Constraints

Was this helpful?

  1. E-Invoicing KSA API
  2. E-Invoicing KSA API Reference
  3. KSA E-Invoicing APIs

Register Device

PreviousGet E-Invoice PDF/A-3 with PDF APINextGet PCSID Generation Status

Last updated 7 months ago

Was this helpful?

Generates Device ID in ClearTax and generates the CSID and PCSID from ZATCA.

Request Method

POST

Request URL

{{BASE_URL}}/onboarding/register-device

Replace the {{BASE_URL}} with the one mentioned based on whether you are using sandbox or production.

Request Headers

Parameter
Data Type
Field Validations
Description

x-cleartax-auth-token

String

Cannot be empty.

vat

String

Cannot be empty

Mandatory. VAT or Group VAT of the entity.

Request Path Params

There are no path parameters for this API.

Request Query Params

There are no query parameters for this API.

Request Body

Parameter
Data Type
Field Validations
Description

DeviceDetails

Object

NA

Mandatory. Device Details Object

OrganizationDetails

Object

NA

Mandatory. Organization Details Object.

Otp

String

Should be a valid OTP.

Mandatory. The one time password generated by the user on the ZATCA. OTP once generated is valid only for 1 hour.

Device Details Object

Parameter
Data Type
Field Validations
Description

CommonName

String

Cannot be empty.

Mandatory. Name or Asset Tracking Number used by the taxpayer for the Solution Unit being onboarded.

EgsSerialNumber

String

RegEx: ^1-(?<manufacturer>[a-zA-Z0-9]+)[|]2-(?<model>[a-zA-Z0-9]+)[|]3-(?<serial>[a-zA-Z0-9]+)$

Mandatory. Manufacturer or Solution Provider Name, Model or Version and Serial Number.

Location

String

Cannot be empty.

Mandatory. The address of the Branch or location where the device or solution unit is primarily situated

Industry

String

Cannot be empty.

Mandatory. Industry or sector for which the device or solution will generate invoices.

InvoiceType

String

RegEx: ^(?!0{4})[01]{2}[00]{2}$

Optional. The document type that the Taxpayer’s solution unit will be issuing/generating in “TSXY” format where:

T = Standard Tax Invoice, S = Simplified Tax Invoice, X = Reserved placeholders, Y = Reserved placeholders.

The input for each place above should be using the digits 0 & 1 where: 0 = False/Not supported, 1= True/Supported

(X) and (Y) are for future use and should be set to 0 by default for the time being.

For example: 1000 would mean Solution will be generating Standard Invoices only. 0100 would mean Solution will be generating Simplified invoices only. and 1100 means Solution will be generating both Standard and Simplified invoices.

Default: 1100.

Organization Details Object

Parameter
Data Type
Field Validations
Description

Vat

String

15 digits, starting and ending with 3

Mandatory. VAT or Group VAT Registration Number.

OrganizationName

String

Cannot be empty

Mandatory. Taxpayer/Organization Name.

OrganizationUnitName

String

If 11th digit of Vat is not = 1 then free text.

If 11th digit of Vat = 1 then needs to be a 10 digit number.

Mandatory. If Vat is NOT Group Vat, then the branch name of the taxpayer.

If Vat is a Group VAT ID, then the 10-digit TIN of the individual group member.

CountryCode

String

2 letter country code (ISO 3166 Alpha-2)

Mandatory. Country Code.

Sample Request

{
    "DeviceDetails": {
        "CommonName": "116.197.153.161",
        "EgsSerialNumber": "egs013",
        "Location": "loc",
        "Industry": "industry",
        "InvoiceType": "1100"
    },
    "OrganizationDetails": {
        "Vat": "454345233",
        "OrganizationName": "BMA",
        "OrganizationUnitName": "Jeddah Branch 1234",
        "CountryCode": "SA"
    },
    "Otp": "123345"
}

Response Status Codes

HTTP Status Code
Description

200

For a successful CSR/DeviceId generation.

400

For any kind of validation issues.

401

If the user is not authenticated for the operation.

403

If the user is not authorized for the operation.

Response Schema

Parameter
Data Type
Field Validations
Description

Status

String

Enum:

GENERATED,

FAILED

Mandatory. Status of CSID Generation.

GENERATED: CSID was generated successful. FAILED: CSID failed to generate (had validation errors).

DeviceId

String

NA

Mandatory. The Device ID that was generated in ClearTax.

PcsidGenerationActivityId

String

NA

Optional. The ID of the async activity that will be generating the PCSID in the background. Compliance checks will happen in the background.

Save this ID to poll status in the “Get PCSID Generation Status API”.

ErrorList

Array

NA

Sample Response

Success - HTTP Status Code - 200

{
    "Status": "GENERATED",
    "DeviceId": "bcc98fdf-0867-4122-b530-e538a2f9e9c4",
    "PcsidGenerationActivityId": "628f37b61ed71a6638b848e4",
    "ErrorList": []
}

Success - Idempotent response - HTTP Status Code - 200

{
    "Status": "GENERATED",
    "DeviceId": "6491cefa-f39e-46ab-a609-efa37b723bde",
    "ErrorList": [
        {
            "ErrorCode": "6002",
            "ErrorMessage": "A Device ID already exist with same VAT and EGS serial number",
            "ErrorSource": "CLEARTAX"
        }
    ]
}

Error - HTTP Status Code - 400

{
    "Status": "FAILED",
    "DeviceId": null,
    "ErrorList": [
        {
            "ErrorCode": "6002",
            "ErrorMessage": "Invalid country code",
            "ErrorSource": "CLEARTAX",
            "Path": "OrganizationDetails.CountryCode"
        },
        {
            "ErrorCode": "6002",
            "ErrorMessage": "Invalid country code length, please provide a valid country code",
            "ErrorSource": "CLEARTAX",
            "Path": "OrganizationDetails.CountryCode"
        }
    ]
}

API Validations

  1. The VAT for which the device is being registered needs to be already present in ClearTax before making this API request.

  2. There can be only one CSR against the Vat and EgsSerialNumber combination. In case of a duplicate request for CSR generation for the same Vat and EgsSerialNumber, the API will return the existing DeviceId along with Error Details. Such an error message may be treated as a warning message.

API Constraints

  1. This API needs to be authenticated with a valid user authentication token. If the auth token is not present or is invalid, the API will return HTTP Status Code 401.

  2. If the auth token is valid, but the user does not have the authorization to generate device ID, then the API will return HTTP Status Code 403. The user, whose auth token is used, should have an Admin role for the particular VAT used in the request.

Mandatory. .

Optional. Array of .

🇸🇦
here
User auth token
Error Details objects