Skip to content

Where do I get an API key?

Inbound API keys are created from your tenant workspace under Settings → Inbound API Clients. The full key (prefix egk_pub_) is shown once at creation — store it securely. If it is lost, rotate the client to issue a new key.

Authentication
Header / Setting Value
Base URL Shown once when the API key is generated, e.g. https://<your-egkits-server>/api/v1
X-Api-Key The full API key, including the prefix and the dot: egk_pub_xxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. The masked fingerprint (ending with ****) cannot authenticate.
Authorization Alternative to X-Api-Key: Authorization: InboundKey <full api key>
Optional headers
Header Purpose
Idempotency-Key Unique string (max 128 chars) per submission. Retries with the same key and body return the original response instead of creating duplicates.
X-Submit-To-ETA true / false — overrides the client's "Submit to ETA" default for this request.
X-Correlation-Id Your trace id; echoed into the request log for troubleshooting.
Quick test (cURL / Postman)
cURL
bash
curl -X POST "https://<your-server>/api/v1/invoices" \
  -H "X-Api-Key: egk_pub_2871c2b35e98.yNz0vKVfIHex7u39lOZj6RUlQEu-aHvw..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: inv-2026-000123-attempt-1" \
  -d @invoice.json

In Postman: set the method and URL, then under Headers add X-Api-Key with the full key and Content-Type: application/json, and paste the JSON into Body → raw.

Start with GET /api/v1/directory — it needs no scopes and no body, and returns the comID / brnID / posID values required by all payloads.

Scopes: invoices need Invoices.Write, receipts Receipts.Write, items Items.Write. A missing scope returns 403, an invalid key returns 401. Rate limit is 120 requests/minute per key.

Response envelope

All endpoints return the same envelope. data.jobId is present when ETA submission was queued asynchronously — poll it via GET /api/v1/jobs/{jobId}.

Envelope
json
{
  "isSuccessful": true,
  "statusCode": 201,
  "message": "Invoice accepted.",
  "data": {
    "externalId": "INV-2026-000123",
    "status": "Created",
    "isDuplicate": false,
    "documentId": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
    "jobId": null
  },
  "errors": null
}

Reconnecting to the server…

Please wait, or reload the page.