Digital Agency Tools Docs

Authentication

One credential: an API key sent as a Bearer token. No sessions, no cookies, no OAuth dance.

API keys

Keys are created and revoked in the panel at Settings → Developers (/settings/developers) by an owner or admin of the business, or by an admin key through POST /v1/api-keys.

A key has three parts: the dak1 prefix, a public id, and a secret. Only a SHA-256 hash of the secret is stored, so a key is shown once, at creation, and can never be displayed again.

Each key belongs to one business and carries one scope. Use a separate key per integration so you can revoke one without breaking the others — the panel shows each key's last use.

Format

dak1.3f9a01c2.9d1e…40 hex…
│    │        └─ secret (hashed at rest)
│    └─ key id (8 hex)
└─ version prefix

Sending the key

Put it in the Authorization header on every request, over HTTPS. Query-string keys are not accepted: URLs end up in logs.

Request

curl https://api.digitalagency.tools/v1/ping \
  -H "Authorization: Bearer $DA_API_KEY"

Response · 200

{
  "data": { "ok": true, "time": "2026-11-05T10:00:00+00:00" },
  "meta": { "request_id": "req_2a9e0b7d4c316f1c" }
}

Revoking a key

Revoke from Settings → Developers, or with DELETE /v1/api-keys/{id}. It takes effect on the very next request — there is no cache to wait out.

When authentication fails

A missing, malformed, unknown or revoked key answers 401 unauthorized. A valid key without the scope an endpoint needs answers 403 forbidden; a business whose plan does not include API access answers 403 feature_not_enabled.

Response · 401

{
  "error": {
    "type": "unauthorized",
    "message": "Send an API key as: Authorization: Bearer <key>."
  },
  "meta": { "request_id": "req_7d4c316f1c2a9e0b" }
}