FR

Error catalog

All error codes returned by the v1 API, with a concrete action hint.

Error envelope

All errors follow this JSON format:

{
  "error": {
    "type": "authorization_error",
    "code": "insufficient_scope",
    "message": "This API key does not have the required scope for this endpoint.",
    "hint": "Add the 'leads:capture' scope to your key via the dashboard.",
    "doc_url": "https://capturia.io/en/developers/api/v1/authentication#scopes",
    "dashboard_url": "https://app.capturia.io/platform/dashboard/admin/integrations/api-keys/ak_xxx",
    "request_id": "req_01J9X8Z3F4K2M5N7P9Q1R3S5T7",
    "details": {"required_scope": "leads:capture"}
  }
}

All codes

HTTPCodeTypeDoc
400invalid_encodingvalidation_errorencoding
400invalid_requestvalidation_errorinvalid_request
400validation_errorvalidation_errorvalidation_error
401expired_api_keyauthentication_errorexpired_api_key
401invalid_api_keyauthentication_errorinvalid_api_key
401missing_api_keyauthentication_errormissing_api_key
401revoked_api_keyauthentication_errorrevoked_api_key
403feature_not_availableauthorization_errorplan
403insufficient_scopeauthorization_errorscopes
403terms_acceptance_requiredauthorization_errorterms
404resource_not_foundnot_found_errorresource_not_found
409confirmation_token_invalidconflict_errorconfirmation_token_invalid
409duplicate_resourceconflict_errorduplicate_resource
409idempotency_conflictidempotency_erroridempotency
413payload_too_largevalidation_errorbody-size
415invalid_content_typevalidation_errorcontent-type
422business_rule_violationbusiness_rule_errorbusiness_rule_violation
422system_not_foundbusiness_rule_errorsystem_not_found
429rate_limit_exceededrate_limit_errorView
429too_many_attemptsrate_limit_errorbrute-force
500internal_errorserver_errorinternal_error
501not_implementedserver_errornot_implemented
503service_unavailableserver_errorservice_unavailable

Codes detailed here

Validation error validation_error

Malformed payload or missing field. The details.validation_errors[] field lists the faulty JSON Pointer paths.

Hint Check each path in `details.validation_errors[]` and fix the payload.

Invalid request invalid_request

Missing headers, body too large, invalid JSON, or malformed query parameter.

Hint Check Content-Type, body size < 1MB, JSON syntax, and query params.

Resource not found resource_not_found

The provided ID does not exist, or is not accessible with this key.

Hint Check the ID and that the resource belongs to your client.

Duplicate resource duplicate_resource

Business uniqueness conflict (e.g. email already used for a contact).

Hint Use PATCH/PUT to update the existing resource instead of POST.

Business rule violated business_rule_violation

The operation is blocked by a business rule (e.g. closed pipeline, archived contact).

Hint The `details` field specifies the rule. See the endpoint reference for specific constraints.

System not found system_not_found

The system_id provided to a capture endpoint does not match any active System on this account (unknown UUID or one belonging to another account — the response is identical in both cases). No contact is created.

Hint Use the UUID of one of your Systems, or omit `system_id` to target your main System.

Server error internal_error

Capturia bug. The request_id lets our support team retrieve the incident in Sentry.

Hint Retry after a few seconds. If it persists, contact [email protected] with the `request_id`.

Service unavailable service_unavailable

Maintenance or temporary degradation of an upstream service.

Hint Respect the `Retry-After` header (seconds) before retrying.

Not implemented not_implemented

Endpoint reserved for future use (e.g. cap_test_* sandbox key).

Hint See the reference for alternatives available today.

Invalid confirmation token confirmation_token_invalid

The token returned by preview_campaign is invalid, expired (10 minutes), already used, bound to another API key, or the campaign parameters changed since the preview.

Hint Call `preview_campaign` again to get a fresh token, present the summary to the human, and only launch after their explicit confirmation.