API Error Reference
The Membrane API uses a standardized error format to provide clear, actionable information when requests fail. This guide covers the error structure, types, and common error scenarios.Error Response Format
All API errors follow a consistent JSON structure:Response Fields
| Field | Type | Description |
|---|---|---|
type | string | The category of error (see Error Types below) |
key | string | Specific error identifier within the type |
message | string | Human-readable error description |
data | object | Additional context-specific information |
causedByError | object | Nested error that caused this error |
HTTP Status Codes
The API maps error types to appropriate HTTP status codes:| Status Code | Error Key | Description |
|---|---|---|
| 400 | (default) | Bad Request - Invalid input or request |
| 401 | not_authenticated | Unauthorized - Authentication required |
| 403 | access_denied | Forbidden - Insufficient permissions |
| 404 | not_found | Not Found - Resource doesn’t exist |
| 429 | rate_limit_exceeded | Too Many Requests - Rate limit exceeded |
| 500 | internal | Internal Server Error |
Error Types
BAD_REQUEST
Type:bad_request
Something is wrong with the input received by the API. This includes validation errors, missing required fields, or invalid data formats.
Common Keys:
not_found- The requested resource doesn’t existnot_authenticated- Authentication credentials are missing or invalidaccess_denied- User lacks permission for this operationalready_exists- Resource with the same identifier already existsrate_limit_exceeded- Too many requests in a given time period
CONNECTION
Type:connection
An error related to a Connection’s authentication or communication with an external system.
Common Keys:
connection_is_defunct- Connection is no longer validaccess_token_expired- OAuth token needs refreshrate_limit_exceeded- External API rate limit hit
CONFIGURATION
Type:configuration
Incorrect or broken configuration in flows, actions, or other configurable elements.
Example:
CUSTOM_CODE
Type:custom_code
Error in custom JavaScript code execution.
Example:
CONCURRENCY
Type:concurrency
Errors related to concurrent operations and resource locking.
Common Keys:
lock_timeout- Failed to acquire lock within timeout period
INTERNAL
Type:internal
Unexpected internal errors. These are automatically reported to monitoring systems.
Example: