Uptime.com Status Pages API

Manage status pages, components, and incidents.

OpenAPI Specification

uptime-com-status-pages-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Uptime.com REST Checks Status Pages API
  description: The Uptime.com REST API provides programmatic access to the Uptime.com website, application, and infrastructure monitoring platform. It covers monitoring checks (HTTP, API/transaction, DNS, TCP, SMTP, SSH, ping, blacklist, malware, and group checks), detected outages, SLA reports, status pages with components and incidents, contact groups, notification integrations, and check tags. All requests are authenticated with an API token passed in the Authorization header.
  termsOfService: https://uptime.com/terms-of-use
  contact:
    name: Uptime.com Support
    url: https://support.uptime.com/
    email: support@uptime.com
  version: '1.0'
servers:
- url: https://uptime.com/api/v1
  description: Uptime.com REST API v1
security:
- tokenAuth: []
tags:
- name: Status Pages
  description: Manage status pages, components, and incidents.
paths:
  /statuspages/:
    get:
      operationId: listStatusPages
      tags:
      - Status Pages
      summary: List status pages
      responses:
        '200':
          description: A list of status pages.
    post:
      operationId: createStatusPage
      tags:
      - Status Pages
      summary: Create a status page
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusPage'
      responses:
        '201':
          description: The created status page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusPage'
  /statuspages/{pk}/:
    get:
      operationId: getStatusPage
      tags:
      - Status Pages
      summary: Retrieve a status page
      parameters:
      - $ref: '#/components/parameters/Pk'
      responses:
        '200':
          description: The requested status page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusPage'
    patch:
      operationId: updateStatusPage
      tags:
      - Status Pages
      summary: Update a status page
      parameters:
      - $ref: '#/components/parameters/Pk'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusPage'
      responses:
        '200':
          description: The updated status page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusPage'
    delete:
      operationId: deleteStatusPage
      tags:
      - Status Pages
      summary: Delete a status page
      parameters:
      - $ref: '#/components/parameters/Pk'
      responses:
        '204':
          description: The status page was deleted.
  /statuspages/{statuspage_pk}/incidents/:
    get:
      operationId: listStatusPageIncidents
      tags:
      - Status Pages
      summary: List status page incidents
      parameters:
      - name: statuspage_pk
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: A list of incidents.
    post:
      operationId: createStatusPageIncident
      tags:
      - Status Pages
      summary: Create a status page incident
      parameters:
      - name: statuspage_pk
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusPageIncident'
      responses:
        '201':
          description: The created incident.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusPageIncident'
  /statuspages/{statuspage_pk}/components/:
    get:
      operationId: listStatusPageComponents
      tags:
      - Status Pages
      summary: List status page components
      parameters:
      - name: statuspage_pk
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: A list of components.
    post:
      operationId: createStatusPageComponent
      tags:
      - Status Pages
      summary: Create a status page component
      parameters:
      - name: statuspage_pk
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusPageComponent'
      responses:
        '201':
          description: The created component.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusPageComponent'
components:
  parameters:
    Pk:
      name: pk
      in: path
      required: true
      description: The primary key (numeric identifier) of the resource.
      schema:
        type: integer
  schemas:
    StatusPageComponent:
      type: object
      required:
      - name
      properties:
        pk:
          type: integer
        name:
          type: string
        description:
          type: string
        group:
          type: boolean
        is_group:
          type: boolean
        auto_status_down:
          type: string
        service:
          type: integer
    StatusPageIncident:
      type: object
      required:
      - name
      properties:
        pk:
          type: integer
        name:
          type: string
        incident_type:
          type: string
        starts_at:
          type: string
          format: date-time
        updates:
          type: array
          items:
            type: object
        affected_components:
          type: array
          items:
            type: integer
    StatusPage:
      type: object
      required:
      - name
      properties:
        pk:
          type: integer
        name:
          type: string
        company_website:
          type: string
        cname:
          type: string
        allow_subscriptions:
          type: boolean
        is_public:
          type: boolean
        slug:
          type: string
        page_type:
          type: string
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'API token authentication. Pass the header as `Authorization: Token your_api_token`. Tokens are generated from Settings > API in the Uptime.com app and require a paid account.'