Easy2257
API Reference

List Certificates

GET /api/v1/productions/{productionId}/certificates: every certificate for a production, with lifecycle status and the signed JWT.

Exactly one certificate is CURRENT for a documented production. SUPERSEDED means a later certificate replaced it, either at annual renewal or when the producer reissued the sealed package after a correction, and the content stays up; REVOKED means the certified record was pulled and the content comes down. Certificates issued before storage began return jwt: null; those arrive with the next renewal or reissue.

GET
/api/v1/productions/{productionId}/certificates

Authorization

BearerAuth
AuthorizationBearer <token>

Partner API key from partner.easy2257.com/api-keys. Only ez_live_ keys are accepted. A key beginning with ez_test_ is rejected with 403 and code TEST_MODE_UNAVAILABLE before any handler runs: there is no sandbox, and every handler writes production records, provisions real users, and sends real email. New partner accounts start with a test key, so create a live key before your first call.

In: header

Path Parameters

productionId*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://easy2257.com/api/v1/productions/cmd3p8w1k0002qz8h9j4r7v5s/certificates"
{
  "productionId": "cmd3p8w1k0002qz8h9j4r7v5s",
  "retrievedAt": "2026-08-15T18:00:00Z",
  "certificates": [
    {
      "jwtId": "0b4b8f4e-6a7c-4a1e-9f0e-2f1d7c3a5b9e",
      "kid": "ez2257-ad88852c",
      "issuedAt": "2026-08-15T18:00:00Z",
      "expiresAt": "2027-08-15T18:00:00Z",
      "status": "CURRENT",
      "revokedAt": "2019-08-24T14:15:22Z",
      "supersededAt": "2019-08-24T14:15:22Z",
      "supersededByJwtId": "string",
      "jwt": "string"
    }
  ]
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "Too many requests. Please slow down.",
  "retryAfter": 14,
  "limit": 60,
  "remaining": 0,
  "reset": 1714000060000
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}