SendlySendly
API ReferenceBilling

Plan, subscription, limits and usage

GET
/api/v1/billing

The project's plan (free or payg), its Stripe subscription state and renewal date, its spending limits and this month's usage. For a person caller it also reports their mobile Pro entitlement; for an API key pro is null.

Requires the billing:read scope — See your plan, usage, invoices and spending limits.

Authorization

AuthorizationBearer <token>

API key authentication. Use a sk_* (FULL) or pk_* (SENDING_ONLY) key as the bearer token. Public keys (pk_*) are restricted to the email-send endpoints and the self-serve list subscribe/unsubscribe pair; every other endpoint — event tracking included — answers 403 for them. In scope terms (used by /api/v1/* operations): FULL keys hold every scope; SENDING_ONLY keys hold only emails:send.

In: header

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://example.com/api/v1/billing"
{
  "plan": "free",
  "subscription": {
    "id": "string",
    "status": "string",
    "cancelAtPeriodEnd": true,
    "currentPeriodEnd": 0
  },
  "freeMonthlyEmails": 0,
  "limits": {
    "workflows": {
      "limit": 0,
      "usage": 0,
      "percentage": 0,
      "isWarning": true,
      "isBlocked": true
    },
    "campaigns": {
      "limit": 0,
      "usage": 0,
      "percentage": 0,
      "isWarning": true,
      "isBlocked": true
    },
    "transactional": {
      "limit": 0,
      "usage": 0,
      "percentage": 0,
      "isWarning": true,
      "isBlocked": true
    },
    "inbound": {
      "limit": 0,
      "usage": 0,
      "percentage": 0,
      "isWarning": true,
      "isBlocked": true
    },
    "currency": "string"
  },
  "pro": {
    "active": true,
    "expiresAt": "2019-08-24T14:15:22Z",
    "store": "string"
  }
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "next": {
    "tool": "string",
    "args": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "next": {
    "tool": "string",
    "args": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "next": {
    "tool": "string",
    "args": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "next": {
    "tool": "string",
    "args": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "code": "string",
  "request_id": "string",
  "errors": [
    {
      "pointer": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "next": {
    "tool": "string",
    "args": {
      "property1": null,
      "property2": null
    }
  }
}