# Wafeq — Accounting API: overview

> Canonical URL: https://developers.apideck.com/apis/accounting/wafeq/overview

Wafeq is an accounting and bookkeeping platform for the MENA region with ZATCA-compliant e-invoicing, supporting multi-currency, payroll, and financial reporting.
- Status: beta
- Authentication: apiKey

- **authentication note:** Sent as an Authorization: Api-Key header; not OAuth. One key per Wafeq workspace, scoped to that workspace alone.
- **consumer access level:** A user who can reach Settings → Developer in the workspace — that is where the API is switched on and the key is created.
- **sandbox available:** false
- **important to know:** The Public API is off by default even on a paid workspace: until an admin switches it on under Settings → Developer, every request returns a blanket 403, not a scoped permission error.
Budget a manual onboarding step for every consumer. Rather than a one-click authorize, each one has to fetch a credential from their own workspace and hand it to you, so your flow needs a screen that walks them through it.
Wafeq is a regional platform for the GCC and Egypt, with ZATCA Phase 2 reporting for Saudi Arabia and FTA e-invoicing for the UAE built into the ordinary invoice flow — the right choice for MENA compliance, not a global accounting footprint.
- **sandbox note:** A Wafeq free trial workspace has full API access before any payment; API-key integrations have no separate sandbox host.
- **apideck credentials note:** Key-based auth: each consumer generates their own API key, so there is no shared Apideck credential.
- **beta:** true
- **account type required:** A Wafeq workspace on at least the Starter plan, with the Public API switched on for that workspace.
- **rate limits:** Wafeq does not publish rate limits. A 429 Too many requests response signals throttling; retry with back-off, reusing the same idempotency key.
- **difficulty reason:** API Key Authentication — Consumer Enables the API and Creates the Key in Their Own Workspace
- **partnership required:** false
- **environment notes:**   - **description:** Testing and production share one credential shape, because an API-key integration has no dedicated Wafeq test host. To test: use a Wafeq free trial workspace, which has full API access before any payment; use your own workspace; or request Apideck temporary shared test credentials at https://help.apideck.com/en/articles/7774658.
  - **environment:** Single environment
  - **environment:** Caution
  - **description:** Whichever you pick, the workspace holds real books. Be careful writing to a workspace anybody depends on, and prefer a trial workspace over a live one while you are still iterating.
- **costs:** No developer-side fee for API access, at any volume. Your consumer's own Wafeq subscription is the only cost, and it varies by country.
- **responsibility matrix:**   - **area:** Create the Wafeq workspace
  - **consumer:** ✓ (own workspace)
  - **consumer:** ✓
  - **area:** Reach at least the Starter plan
  - **customer:** Share instructions
  - **consumer:** ✓ (Settings → Developer)
  - **apideck:** Docs provided
  - **area:** Switch on the Public API
  - **area:** Generate the API key
  - **consumer:** ✓ (and provide it via Vault)
  - **apideck:** Docs provided
  - **customer:** ✓
  - **area:** Configure the Wafeq connector
  - **apideck:** Maintains connector
  - **area:** Build via the Unified API
  - **customer:** ✓
  - **customer:** ✓ Via Dashboard
  - **area:** Monitor connections
  - **apideck:** Logs & alerts
  - **consumer:** ✓ Can revoke the key anytime
- **difficulty:** moderate
- **supported resource categories:**   - **resources:** ledger-accounts
journal-entries
tax-rates
  - **name:** Core Financial
  - **resources:** invoices
invoice-items
customers
credit-notes
  - **name:** Accounts Receivable
  - **resources:** bills
suppliers
  - **name:** Accounts Payable
  - **name:** Payments
  - **resources:** payments
  - **name:** Organizational
  - **resources:** departments
  - **resources:** attachments
  - **name:** Other
- **apideck credentials available:** false
- **webhooks:** Virtual webhooks — created/updated events across 11 resource families (invoices, bills, credit notes, customers, suppliers, payments & more).

## Supported resources

[Accounting data model](/guides/accounting-data-model.md)

- **name:** Invoices
- **downstream name:** Invoices
- **status:** live
- **custom field support:** true
- **id:** invoices
- **downstream id:** invoices
- **status:** live
- **custom field support:** true
- **downstream name:** Bills
- **name:** Bills
- **downstream id:** bills
- **id:** bills
- **status:** live
- **id:** credit-notes
- **downstream name:** Credit Notes
- **downstream id:** credit-notes
- **custom field support:** true
- **name:** Credit Notes
- **downstream id:** contacts-customers
- **name:** Customers
- **downstream name:** Contacts Customers
- **status:** live
- **id:** customers
- **custom field support:** true
- **name:** Suppliers
- **status:** live
- **custom field support:** true
- **downstream id:** contacts-suppliers
- **id:** suppliers
- **downstream name:** Contacts Suppliers
- **name:** Payments
- **status:** live
- **custom field support:** true
- **id:** payments
- **downstream id:** payments
- **downstream name:** Payments
- **downstream id:** accounts
- **custom field support:** true
- **name:** Ledger Accounts
- **status:** live
- **downstream name:** Accounts
- **id:** ledger-accounts
- **id:** journal-entries
- **downstream id:** manual-journals
- **downstream name:** Manual Journals
- **status:** live
- **name:** Journal Entries
- **custom field support:** true
- **downstream id:** tax-rates
- **custom field support:** true
- **id:** tax-rates
- **name:** Tax Rates
- **downstream name:** Tax Rates
- **status:** live
- **custom field support:** true
- **status:** live
- **downstream id:** items
- **id:** invoice-items
- **name:** Invoice Items
- **downstream name:** Items
- **id:** attachments
- **downstream name:** Files
- **custom field support:** false
- **downstream id:** files
- **status:** live
- **name:** Attachments
- **id:** departments
- **downstream id:** branches
- **name:** Departments
- **status:** live
- **downstream name:** Branches
- **custom field support:** true

An omitted operation list does not establish operation support. Verify the selected operation in the coverage matrix.

[API reference](https://developers.apideck.com/apis/accounting/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/accounting/coverage)
