Requests
Authentication, permissions, safe retries, paging, limits and errors.
Authentication
Company owners and admins create keys in IDfier Sign under Company → API. Send one on every request:
Authorization: Bearer isk_live_…A key is shown once and can be revoked at any time. Keep it on your server.
Permissions and workspaces
A key acts as one person in your company and can do exactly what they can.
Limit a key to one workspace to keep integrations apart. GET /workspaces
lists the workspaces a key can use, with its role in each.
Safe retries
Send an Idempotency-Key header (any unique string, at most 255 characters)
on POSTs. A retry with the same key returns the first response, marked
Idempotent-Replayed: true, instead of creating a second document.
curl https://sign.idfier.com/api/v1/documents \
-H "Authorization: Bearer $IDFIER_SIGN_KEY" \
-H "Idempotency-Key: booking-1042" \
-F file=@contract.pdfReusing a key for a different request gives 422 idempotency_key_reused; a
retry while the first is still running gives 409 request_in_progress.
Paging and lookup
Lists are newest first, 25 at a time (up to 100 with limit), with a
nextCursor: pass it as cursor for the next page. Store your own id in
reference when creating a document, and find it again with
GET /documents?reference=….
Limits
- 120 requests per minute per key. Over that you get
429 rate_limited, withRetry-After. - Uploads up to 20 MB (
413 file_too_large).
Errors
Every error has the same shape, with a stable code to branch on:
{ "error": { "code": "document_not_open", "message": "…" } }| HTTP | Codes and meaning |
|---|---|
400 | Invalid input |
401 | Missing, wrong or revoked key |
403 | Not allowed: plan_has_no_api, acting_user_removed, not_allowed, workspace_read_only |
404 | Not found, or out of the key's reach |
409 | Conflict: request_in_progress, not_completed |
413 | file_too_large |
422 | Can't be done in the document's state, or idempotency_key_reused |
429 | rate_limited |
500 | internal_error |