For businesses handling a high volume of documents, Marmin offers a seamless API integration for real-time invoice processing. Our API is designed for simplicity, with two key endpoints:
For a detailed reference, visit our API documentation: Marmin API Docs
API access requires an API key, which can be found under Settings in your Marmin account. Ensure your key is included in every API request header for authentication.

To support continuous innovation and the delivery of new features, we periodically release updated API versions. Each version ensures that new capabilities are made available to users while maintaining the stability of existing integrations.
Setting the API version is handled under Organization Settings as shown below.
To create an invoice, you must specify the seller details using the Business Profile ID in the request header. You can find this ID under Business Details in your account settings.

When you initiate a GET request for a document, we return the ZATCA response alongside it. There are three status values you will need to track to effectively manage the response on your end. Refer to meta_info.zatca_response.status to identify the ZATCA response.
meta_info.zatca_response.statusThe possible status values are:
From a document processing POV, PASS and WARNING statuses can be considered as approved from ZATCA, and the invoice can be issued to the buyer.