Skip to main content
The ErynoaGroup API is a RESTful API that accepts JSON request bodies and returns JSON responses. All API endpoints are served over HTTPS. This reference covers the conventions, request format, and global headers used across all endpoints.

Base URLs

EnvironmentBase URL
Productionhttps://api.erynoa.group/v1
Sandboxhttps://sandbox.api.erynoa.group/v1
Always use HTTPS. HTTP requests are redirected to HTTPS automatically.

Authentication

All requests require a valid API key passed as a Bearer token in the Authorization header:
Authorization: Bearer YOUR_API_KEY
See Authentication for details on generating keys and handling authentication errors.

Request format

  • Set Content-Type: application/json for all POST, PUT, and PATCH requests
  • Request bodies must be valid JSON
  • String values are UTF-8 encoded
  • Dates are ISO 8601 format (2024-01-15T10:30:00Z)

Response format

All responses use a consistent JSON envelope: Successful single resource:
{
  "data": {
    "id": "res_01HX4K9Z2QBZJMFR5T6VWYP8D",
    "type": "resource",
    "status": "active",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z"
  }
}
Successful list response:
{
  "data": [...],
  "meta": {
    "total": 150,
    "page": 1,
    "per_page": 20
  },
  "links": {
    "next": "https://api.erynoa.group/v1/resources?cursor=eyJpZCI6MTB9",
    "prev": null
  }
}
Error response:
{
  "error": {
    "code": "validation_error",
    "message": "The 'name' field is required.",
    "status": 422,
    "details": [
      {
        "field": "name",
        "message": "This field is required."
      }
    ]
  }
}

Global request headers

HeaderRequiredDescription
AuthorizationYesBearer YOUR_API_KEY
Content-TypeYes (POST/PUT/PATCH)Always application/json
Idempotency-KeyNoUnique key to safely retry POST requests
AcceptNoDefault application/json

Global response headers

HeaderDescription
X-Request-IDUnique identifier for the request. Include when contacting support.
X-RateLimit-LimitMaximum requests per minute for your key
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the rate limit window resets

HTTP status codes

StatusMeaning
200 OKRequest succeeded
201 CreatedResource was created successfully
204 No ContentRequest succeeded (no body, used for DELETE)
400 Bad RequestRequest is malformed or has invalid parameters
401 UnauthorizedAPI key is missing or invalid
403 ForbiddenAPI key lacks permission for this operation
404 Not FoundResource does not exist
409 ConflictRequest conflicts with existing state
422 Unprocessable EntityValidation error on request body
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorUnexpected server error