Getting started with the Marmin UAE E-Invoicing API
Welcome to the Marmin UAE E-Invoicing API. This overview walks you from creating your account to making your first API call, so you understand the full end-to-end flow.
If this is your first time integrating with Marmin, start here and then follow the links to the detailed Authentication, Business Profiles, Webhooks, and document APIs.
Step 1: Create a Marmin account
Contact support@marmin.ai with your organization details.
The Marmin team will create and configure your organization account for you.
Once your account is set up, you will receive credentials that let you sign in to the Marmin web application and request API access.
Step 2: Sign in to the Marmin web application
After your account is created, sign in to the Marmin sandbox web application at https://sandbox.ae.marmin.ai.
The sandbox is for testing only and is separate from production. When you are ready for go-live, you will use the production web application at https://app.ae.marmin.ai.
Use the sandbox environment to validate your integration end to end before requesting production access.
Step 3: Set up API integration
You cannot enable the API Integration feature flag yourself. It must be enabled by the Marmin team.
Contact support@marmin.ai and ask for the API Integration feature to be enabled for your organization.
Once the feature is enabled and you are signed in to the web application, go to Developer Dashboard → Settings → API Configuration.
From there you can obtain your Client ID and Client Secret, which are the credentials your backend uses to request API access tokens.
In the same area you can configure webhook settings if you want to receive real-time notifications when document statuses change. See the Webhooks documentation for detailed setup instructions.
For a detailed, step-by-step walkthrough of authentication flows, see the Authentication documentation once you have your Client ID and Client Secret.
Step 4: Understand the typical API workflow
Most integrations follow a common sequence: authenticate, set up your business configuration, optionally configure webhooks, then create and retrieve documents.
Authentication
All Marmin APIs use JWT access tokens.
Your backend uses the Client ID and Client Secret from API Configuration to obtain short-lived access tokens.
Every API request must include a valid access token in the
Authorizationheader.See the Authentication guide for the exact token endpoints and request/response formats.
Business setup
Before you create any invoices or credit notes, configure your business profile in Marmin.
This typically includes registering your business with the EmaraTax portal and filling out all required business profile information in Marmin.
See the Business Profiles documentation for the required fields and setup steps.
Note on customers and suppliers
As an API integrator, you do not need to create customer or supplier master data in the Marmin UI.
When you create invoices or credit notes via the API, you pass the full customer or supplier party details directly in the request payload.
Configure webhooks (recommended)
Configure webhooks before you start creating documents if you want to receive real-time status updates (for example, when a document is successfully cleared).
Webhooks let your system react automatically to changes instead of polling.
See the Webhooks documentation for payload formats, retry behavior, and security recommendations.
Document generation
After authentication and business setup, you can start creating documents via the API. Marmin supports:
Sales Invoices (type code
380) – standard invoices issued to customers.Sales Credit Notes (type code
381) – credit notes issued to customers.Purchase Invoices (type code
389) – self-billed invoices for purchases.Purchase Credit Notes (type code
261) – self-billed credit notes for purchases.
See the Sales Invoices and Purchase Invoices documentation for field-level details, validation rules, and full request/response examples.
Document retrieval
Once documents are created, you can retrieve them and their statuses through the API:
Retrieve documents in JSON format for programmatic processing.
Download documents as PDF files for human-readable viewing or sharing.
Download documents as UBL 2.1 XML files for compliance and integration with other systems.
Get document status and transmission logs for auditing and troubleshooting.
Use the navigation on the left to move from this overview into the specific topics you need: Authentication, Business setup, Webhooks, and the individual document APIs.