Marmin logoAPI
Developer APIsReference documentation

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 Authorization header.

  • 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 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.