Uptimely Usage API
API allowances and consumption — plan quota and per-key burst limits.
API allowances and consumption — plan quota and per-key burst limits.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/getuptimely-com:getuptimely-com-usage-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Uptimely Usage API
version: 0.1.0
description: 'The public Uptimely REST API — uptime monitoring, incidents, alerts and status pages for people and agents. Authenticate with an `uptimely_live_` API key via `Authorization: Bearer`.'
contact:
name: Uptimely support
url: https://getuptimely.com
email: support@devino.ca
servers:
- url: https://app.getuptimely.com
description: Production
security:
- bearerAuth: []
tags:
- name: Usage
description: API allowances and consumption — plan quota and per-key burst limits.
paths:
/v1/usage:
get:
operationId: getUsage
summary: Get API usage
description: Returns the project's plan, monthly API-request consumption and per-key burst allowance. This endpoint never counts against the monthly quota, so it stays readable when the quota is exhausted.
tags:
- Usage
security:
- bearerAuth: []
x-scopes:
- project:read
x-entitlement: public_api_read
x-idempotent: false
responses:
'200':
description: Current usage.
headers:
x-request-id:
required: true
description: Unique id for this request — present on EVERY response; quote it in support requests.
schema:
type: string
description: Unique id for this request — present on EVERY response; quote it in support requests.
RateLimit-Policy:
description: IETF draft-11 quota policies, e.g. `"per-key-minute";q=300;w=60, "api-calls-period";q=100000;w=2678400`.
schema:
description: IETF draft-11 quota policies, e.g. `"per-key-minute";q=300;w=60, "api-calls-period";q=100000;w=2678400`.
type: string
RateLimit:
description: 'IETF draft-11 current-window state of the primary policy: remaining requests (`r`) and seconds to reset (`t`).'
schema:
description: 'IETF draft-11 current-window state of the primary policy: remaining requests (`r`) and seconds to reset (`t`).'
type: string
X-RateLimit-Limit:
description: Primary-window request allowance.
schema:
description: Primary-window request allowance.
type: string
X-RateLimit-Remaining:
description: Requests remaining in the primary window.
schema:
description: Requests remaining in the primary window.
type: string
X-RateLimit-Reset:
description: Unix epoch seconds when the primary window resets.
schema:
description: Unix epoch seconds when the primary window resets.
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Usage'
'401':
description: Missing or invalid credentials — `missing_credentials`, `invalid_api_key` or `invalid_token`.
headers:
x-request-id:
required: true
description: Unique id for this request — present on EVERY response; quote it in support requests.
schema:
type: string
description: Unique id for this request — present on EVERY response; quote it in support requests.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'403':
description: Authenticated but denied — `insufficient_scope`, `feature_not_enabled` or `unsupported_credential_type`.
headers:
x-request-id:
required: true
description: Unique id for this request — present on EVERY response; quote it in support requests.
schema:
type: string
description: Unique id for this request — present on EVERY response; quote it in support requests.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'429':
description: Over a limit — `rate_limited` (per-key burst, or the lower per-key ceiling that list/history/export endpoints share; retry after `Retry-After`) or `quota_exhausted` (monthly plan allowance; resets at month start).
headers:
x-request-id:
required: true
description: Unique id for this request — present on EVERY response; quote it in support requests.
schema:
type: string
description: Unique id for this request — present on EVERY response; quote it in support requests.
RateLimit-Policy:
description: IETF draft-11 quota policies, e.g. `"per-key-minute";q=300;w=60, "api-calls-period";q=100000;w=2678400`.
schema:
description: IETF draft-11 quota policies, e.g. `"per-key-minute";q=300;w=60, "api-calls-period";q=100000;w=2678400`.
type: string
RateLimit:
description: 'IETF draft-11 current-window state of the primary policy: remaining requests (`r`) and seconds to reset (`t`).'
schema:
description: 'IETF draft-11 current-window state of the primary policy: remaining requests (`r`) and seconds to reset (`t`).'
type: string
X-RateLimit-Limit:
description: Primary-window request allowance.
schema:
description: Primary-window request allowance.
type: string
X-RateLimit-Remaining:
description: Requests remaining in the primary window.
schema:
description: Requests remaining in the primary window.
type: string
X-RateLimit-Reset:
description: Unix epoch seconds when the primary window resets.
schema:
description: Unix epoch seconds when the primary window resets.
type: string
Retry-After:
description: Seconds until the exceeded window resets.
schema:
description: Seconds until the exceeded window resets.
type: string
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
'500':
description: Unexpected server error — `internal_error`; quote `request_id` when reporting.
headers:
x-request-id:
required: true
description: Unique id for this request — present on EVERY response; quote it in support requests.
schema:
type: string
description: Unique id for this request — present on EVERY response; quote it in support requests.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
components:
schemas:
ProblemNext:
type: object
properties:
tool:
type: string
description: Name of the MCP tool to call next.
example: request_scopes
args:
description: Arguments to pass to that tool.
type: object
propertyNames:
type: string
additionalProperties: {}
required:
- tool
additionalProperties: false
description: The MCP tool that resolves a problem, with its arguments.
Problem:
type: object
properties:
type:
type: string
description: URI identifying the problem class; resolves to its docs page.
example: https://getuptimely.com/docs/api/problems/validation-failed
title:
type: string
description: Short human-readable summary of the problem class. Never parse it — switch on `code`.
status:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
description: HTTP status code, duplicated from the response.
example: 400
detail:
description: Human-readable explanation specific to this occurrence.
type: string
code:
type: string
enum:
- missing_credentials
- invalid_api_key
- invalid_token
- unsupported_credential_type
- insufficient_scope
- feature_not_enabled
- validation_failed
- resource_not_found
- rate_limited
- quota_exhausted
- idempotency_key_reused
- idempotency_in_progress
- internal_error
description: Stable machine-readable problem code — the value SDKs branch on.
request_id:
type: string
description: The x-request-id of the failing request — quote it in support requests.
errors:
description: Field-level failures (present on validation_failed).
type: array
items:
$ref: '#/components/schemas/FieldError'
next:
description: The MCP tool that resolves this problem (present on insufficient_scope and quota_exhausted).
$ref: '#/components/schemas/ProblemNext'
required:
- type
- title
- status
- code
- request_id
additionalProperties: false
description: RFC 9457 problem document with the Uptimely `code` extension.
Usage:
type: object
properties:
plan:
type: string
description: The project's plan, e.g. "FREE" or "PRO".
example: PRO
period_start:
type: string
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
format: date-time
description: Start of the current UTC calendar-month period.
period_end:
type: string
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
format: date-time
description: When the monthly allowance resets, ISO-8601 UTC.
api_requests:
type: object
properties:
used:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
description: Metered requests consumed this period.
limit:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
description: The plan's monthly request allowance.
remaining:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
description: Requests left this period.
required:
- used
- limit
- remaining
additionalProperties: false
description: The monthly request meter.
burst_per_minute:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
description: Per-API-key burst allowance (requests per minute).
required:
- plan
- period_start
- period_end
- api_requests
- burst_per_minute
additionalProperties: false
description: The project's API allowances and current consumption.
FieldError:
type: object
properties:
pointer:
type: string
description: RFC 6901 JSON Pointer to the offending request field.
example: /name
code:
type: string
description: Machine-readable per-field validation code.
example: invalid_type
message:
type: string
description: Human-readable explanation for this field.
required:
- pointer
- code
- message
additionalProperties: false
description: A single field-level validation failure.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: An `uptimely_live_` project API key (Settings → API Keys).
x-provenance:
method: harvested
publisher: Uptimely
source: https://getuptimely.com/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)