API v1 Stable

Get quota status

Returns current quota and access status for the API key environment.

GET Stable

Get quota status

/v1/quota

Use this endpoint when an app or coding agent needs to check whether the current environment can keep sending. The response is operational state, not billing authority.

Request

Name Type Required Description Example
Authorization string Yes Bearer API key for the EmailsDone environment. Bearer ed_...

curl

curl -X GET 'https://api.emailsdone.dev/v1/quota' \
  -H 'Authorization: Bearer ed_...'

Response

Name Type Required Description Example
ok boolean Yes True when quota was read. true
quota.tenantId string Yes Tenant identifier. tenant_123
quota.projectId string Yes Project identifier. project_123
quota.environmentId string Yes Environment identifier. production
quota.planId string Yes Plan id from the tenant limits snapshot. build
quota.accessStatus string Yes Billing access state. active
quota.sendingStatus string Yes Environment sending status. active
quota.period.id string Yes Current usage period id. 2026-05
quota.monthly.limit number Yes Monthly included email limit. 1000
quota.monthly.used number Yes Tenant emails sent in the current month. 42
quota.monthly.remaining number Yes Remaining included emails for the month. 958
quota.monthly.status string Yes Quota availability. available
quota.environment.usedThisMonth number Yes Environment emails sent in the current month. 42
{
  "ok": true,
  "quota": {
    "tenantId": "tenant_123",
    "projectId": "project_123",
    "environmentId": "production",
    "planId": "build",
    "accessStatus": "active",
    "sendingStatus": "active",
    "period": {
      "id": "2026-05",
      "startsAt": "2026-05-01T00:00:00.000Z",
      "endsAt": "2026-06-01T00:00:00.000Z"
    },
    "monthly": {
      "limit": 1000,
      "used": 42,
      "remaining": 958,
      "overageAllowed": false,
      "overageEmails": 0,
      "status": "available"
    },
    "environment": {
      "usedThisMonth": 42
    }
  }
}

Errors

StatusCodeMessage
401 missing_api_key Authorization bearer token is missing.
401 invalid_api_key API key is invalid.
402 trial_expired The trial can no longer send email.
403 api_key_revoked API key has been revoked.
403 tenant_not_found Tenant not found for API key.
403 project_inactive Project is disabled by the current plan.
403 environment_inactive Environment is disabled by the current plan.
404 project_not_found Project not found for API key.
404 environment_not_found Environment not found for API key.
405 method_not_allowed Only GET is allowed.
500 internal Unexpected server error.

Notes

  • Use this for operational status in dashboards and agent checks.
  • Do not use the client response as billing authority. Entitlements are backend-owned.