Connect API v3 overview
Connect API v3 lets an ISV backend onboard UAE companies, automatically connect their Sources to the workspace's designated GETS mapping, and retrieve document counts over REST with JSON.
The onboarding POST documented here supports UAE companies only. The document-count endpoint supports AE, SA, MY, BE, and DE.
Want the complete working flow? Start with the ISV UAE quickstart to generate a key, onboard a company, download the full payload, submit an invoice, and check the terminal result.
Before you start
Before you call Connect API v3, you need a Connect API key, the target environment, and a completed UAE ASP/TIN prerequisite for the company. Start in sandbox. Store your API key server-side and set the environment explicitly on every example request.
You should be comfortable sending HTTP requests and reading JSON. You do not need to know Complyance's internal onboarding, mapping, or participant-provisioning implementation.
Your first successful integration
1. Get a Connect API key
Open API Keys in the ISV portal, select the environment and permissions, and create a key. See Authentication and environments.
Store the key in a server-side secret manager. Never put it in browser code, a client application, source control, or logs.
2. Choose the environment
Onboarding uses the required platformEnvironment field in the JSON body. It supports sandbox, simulation, and production.
Document counts use the X-Environment header. It supports sandbox and production, and defaults to production. Counts do not accept simulation. Set both environment selectors explicitly and start in sandbox.
3. Complete the UAE ASP/TIN prerequisite
Complete the approved ASP/TIN authorization for the company's TIN in the same environment you will call, then wait for the confirmed readiness signal. Complyance manages the associated Peppol participant identifier. Do not create or send that identifier yourself.
The exact responsible party, approved flow and portal, readiness label, and support path are publication dependencies. See UAE onboarding prerequisites before making the POST.
4. Onboard the company
Call POST /v3/connect/companies. A 201 Created response means the required synchronous onboarding work completed. There is no public onboarding status endpoint or polling flow.
The request contains company and source information only. It must not contain companyId, sourceId, branchId, peppolParticipantId, workspaceId, or another system-generated identifier. See Onboard a UAE company.
5. Confirm mapping readiness
Require data.readyForInvoicing: true and data.mappingReadiness.status: "READY". The returned Source has then been assigned to the designated default mapping for that environment.
6. Submit an invoice
Download the complete payload from Payload Manager and use the exact returned sourceName:sourceVersion with Unify V2. Follow the ISV UAE quickstart.
7. Save the response and retrieve counts
Save the returned companyId, sourceId, branchId, and peppolParticipantId as opaque, system-generated identifiers. Use data.companyId—not any of the other identifiers—as the optional company filter for GET /v3/connect/invoices/counts.
If the original onboarding response is not available, retrieve the identifier as data[].id from the Company List API.
8. Troubleshoot errors
Use the Connect API error matrix. Retain meta.requestId from every response and include it when contacting the confirmed support path.
Continuous curl walkthrough
The examples use illustrative company and identifier values, placeholders, and explicit sandbox selection. Replace YOUR_API_KEY; do not paste real secrets into source control or logs.
1. Onboard a company in sandbox
curl --request POST 'https://prod.gets.complyance.io/v3/connect/companies' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"sourceName": "accounting-platform",
"sourceVersion": "2.1",
"countryCode": "AE",
"tin": "1234567890",
"contactPersonEmail": "onboarding@example.com",
"contactPersonName": "Amina Hassan",
"branchName": "Main",
"platformEnvironment": "sandbox"
}'The request contains no Complyance-generated identifier.
2. Copy data.companyId from the 201 response
{
"success": true,
"data": {
"companyId": "66b9f0a1c2d3e4f567890123",
"sourceId": "01JABCDEF1234567890SOURCE",
"branchId": "66b9f0b2c2d3e4f567890456",
"peppolParticipantId": "0235:1234567890",
"legalName": "Example UAE Entity",
"legalNameArabic": "شركة الإمارات التجريبية",
"tin": "1234567890",
"vatTrn": "123456789000003",
"sourceName": "accounting-platform",
"sourceVersion": "2.1",
"countryCode": "AE",
"branchName": "Main",
"contactPersonName": "Amina Hassan",
"contactPersonEmail": "onboarding@example.com",
"platformEnvironment": "sandbox",
"readyForInvoicing": true,
"mappingReadiness": {
"status": "READY",
"templateId": "default-gets-66b9e000c2d3e4f567890000"
},
"createdAt": "2026-08-01T12:00:00.000Z",
"updatedAt": "2026-08-01T12:00:00.000Z"
},
"meta": {
"requestId": "01JABCDEF1234567890REQUEST",
"timestamp": "2026-08-01T12:00:00.000Z",
"workspaceId": "66b9e000c2d3e4f567890000"
}
}The next call uses data.companyId (66b9f0a1c2d3e4f567890123). It does not use sourceId, branchId, or peppolParticipantId.
3. Retrieve document counts for that company
curl --get 'https://prod.gets.complyance.io/v3/connect/invoices/counts' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'X-Environment: sandbox' \
--header 'Accept: application/json' \
--data-urlencode 'countryCode=AE' \
--data-urlencode 'companyId=66b9f0a1c2d3e4f567890123' \
--data-urlencode 'from=2026-08-01' \
--data-urlencode 'to=2026-08-31'Omitting documentType returns both Sales and Purchase counts.
{
"success": true,
"data": {
"totalCount": 20,
"salesCount": 14,
"purchaseCount": 6,
"companies": [
{
"companyId": "66b9f0a1c2d3e4f567890123",
"totalCount": 20,
"salesCount": 14,
"purchaseCount": 6
}
]
},
"meta": {
"requestId": "01K1EXAMPLE000000000000000",
"timestamp": "2026-08-31T12:00:00.000Z",
"filters": {
"countryCode": "AE",
"environment": "sandbox",
"companyId": "66b9f0a1c2d3e4f567890123",
"documentType": null,
"from": "2026-08-01",
"to": "2026-08-31"
}
}
}REST and SDK support
Connect API v3 is available over REST with JSON. No released official Connect v3 SDK client has been verified for this guide. Use curl or your preferred server-side HTTP client until Product confirms a released package and pinned version.
Continue reading
- Authentication and environments
- ISV UAE quickstart
- UAE onboarding prerequisites
- Onboard a UAE company
- Bulk onboard UAE companies
- Default mapping and payload
- List onboarded companies
- Get document counts
- Errors and troubleshooting
Next step: Complete the ISV UAE quickstart.