Authentication
Authentication
Section titled “Authentication”The Integration API uses Bearer token authentication. Tokens are generated through the platform UI and scoped to specific permissions.
Token Format
Section titled “Token Format”API tokens follow the format:
eudr_live_<48 hex characters>Example: eudr_live_a1b2c3d4e5f6...
Using Your Token
Section titled “Using Your Token”Include the token in the Authorization header of every request:
curl -X GET https://backend.joinnentropy.com/api/v1/integration/suppliers \ -H "Authorization: Bearer eudr_live_your_token_here" \ -H "Content-Type: application/json"Token Scopes
Section titled “Token Scopes”Each token is created with specific scopes that control what operations it can perform:
| Scope | Description |
|---|---|
integration:suppliers:read | Read supplier data and sync status |
integration:suppliers:write | Create and update suppliers |
integration:products:read | Read product data and sync status |
integration:products:write | Create and update products |
integration:batches:read | Read batch data and sync status |
integration:batches:write | Create and update batches |
integration:dds:read | Read DDS status for batches |
integration:webhooks:manage | Create and manage webhooks |
integration:sync:read | Read sync status and logs |
Generating Tokens
Section titled “Generating Tokens”- Navigate to Integrations in the platform UI
- Under API Access, create a new integration
- Click API Tokens on your integration
- Enter a name, select scopes, and click Generate Token
- Copy the token immediately — it will never be shown again
Token Security
Section titled “Token Security”- Tokens are stored as SHA-256 hashes — we never store the raw token
- Revoke compromised tokens immediately via the UI
- Use the minimum scopes required for each integration
- Set token expiration dates for automated systems
Error Responses
Section titled “Error Responses”| Status | Error Code | Description |
|---|---|---|
| 401 | AUTHENTICATION_REQUIRED | No Authorization header provided |
| 401 | INVALID_TOKEN_FORMAT | Token doesn’t match expected format |
| 401 | INVALID_TOKEN | Token not found or invalid |
| 401 | TOKEN_REVOKED | Token has been revoked |
| 401 | TOKEN_EXPIRED | Token has expired |
| 403 | INTEGRATION_INACTIVE | Parent integration is not active |
| 403 | INSUFFICIENT_SCOPES | Token lacks required scopes |