Sentry Monitors API

Manage cron job monitors

Business capability
Observability Management BC-4220.20

Operations 14

GET /organizations/{organization_id_or_slug}/monitors/ Sentry Retrieve monitors for an organization #
POST /organizations/{organization_id_or_slug}/monitors/ Sentry Create a monitor #
PUT /organizations/{organization_id_or_slug}/monitors/ Sentry Mutate an organization's monitors #
DELETE /organizations/{organization_id_or_slug}/monitors/ Sentry Bulk delete monitors #
GET /organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/ Sentry Retrieve a monitor #
PUT /organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/ Sentry Update a monitor #
DELETE /organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/ Sentry Delete a monitor or monitor environments #
GET /projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/ Sentry Retrieve a monitor for a project #
PUT /projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/ Sentry Update a monitor for a project #
DELETE /projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/ Sentry Delete a monitor or monitor environments for a project #
POST /projects/{organization_id_or_slug}/{project_id_or_slug}/uptime-monitors/ Sentry Create a monitor for a project #
GET /organizations/{organization_id_or_slug}/uptime-monitors/{monitor_id}/ Sentry Fetch a monitor #
PUT /organizations/{organization_id_or_slug}/uptime-monitors/{monitor_id}/ Sentry Update a monitor by ID #
DELETE /organizations/{organization_id_or_slug}/uptime-monitors/{monitor_id}/ Sentry Delete a monitor #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sentry-system-monitors-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

sentry-system-monitors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sentry System Monitors API
  version: 0.0.1
  contact:
    name: Sentry Support
    url: https://sentry.io/support/
    email: support@sentry.io
  description: 'Operations tagged Monitors across 2 of this provider''s published API definitions: sentry-crons-openapi.yml, sentry-monitors-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://sentry.io/api/0
  description: Sentry Production API
security:
- BearerAuth: []
tags:
- name: Monitors
  description: Manage cron job monitors
paths:
  /organizations/{organization_id_or_slug}/monitors/:
    get:
      operationId: listOrganizationMonitors
      summary: Sentry Retrieve monitors for an organization
      description: Returns a list of monitors for the given organization.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - name: cursor
        in: query
        description: Pagination cursor.
        schema:
          type: string
      - name: environment
        in: query
        description: Filter by environment name.
        schema:
          type: string
      responses:
        '200':
          description: A list of monitors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Monitor'
        '401':
          description: Unauthorized.
        '403':
          description: Forbidden.
    post:
      operationId: createMonitor
      summary: Sentry Create a monitor
      description: Creates a new monitor for the given organization.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - type
              - config
              properties:
                name:
                  type: string
                  description: The name of the monitor.
                slug:
                  type: string
                  description: The slug for the monitor.
                type:
                  type: string
                  enum:
                  - cron_job
                  description: The type of monitor.
                config:
                  type: object
                  required:
                  - schedule_type
                  - schedule
                  properties:
                    schedule_type:
                      type: string
                      enum:
                      - crontab
                      - interval
                    schedule:
                      oneOf:
                      - type: string
                        description: Crontab expression.
                      - type: array
                        items:
                          type: integer
                        description: Interval value and unit.
                    checkin_margin:
                      type: integer
                      description: Margin of minutes before a check-in is marked as missed.
                    max_runtime:
                      type: integer
                      description: Max runtime in minutes before a check-in is marked as timed out.
                    timezone:
                      type: string
                      description: The timezone for the schedule.
                project:
                  type: string
                  description: The project slug.
      responses:
        '201':
          description: Monitor created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Monitor'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
        '403':
          description: Forbidden.
    put:
      operationId: mutateOrganizationMonitors
      summary: Sentry Mutate an organization's monitors
      description: Bulk update monitors for an organization.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: string
                status:
                  type: string
      responses:
        '200':
          description: Monitors updated.
        '401':
          description: Unauthorized.
        '403':
          description: Forbidden.
    delete:
      operationId: bulkDeleteMonitors
      summary: Sentry Bulk delete monitors
      description: Bulk delete monitors for an organization.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - name: id
        in: query
        description: IDs of monitors to delete.
        schema:
          type: array
          items:
            type: string
      responses:
        '204':
          description: Monitors deleted.
        '401':
          description: Unauthorized.
        '403':
          description: Forbidden.
    servers:
    - url: https://sentry.io/api/0
      description: Sentry Production API
  /organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/:
    get:
      operationId: retrieveMonitor
      summary: Sentry Retrieve a monitor
      description: Returns details for a specific monitor.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/MonitorIdOrSlug'
      responses:
        '200':
          description: Monitor details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Monitor'
        '401':
          description: Unauthorized.
        '404':
          description: Monitor not found.
    put:
      operationId: updateMonitor
      summary: Sentry Update a monitor
      description: Updates a monitor.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/MonitorIdOrSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                slug:
                  type: string
                config:
                  type: object
                  properties:
                    schedule_type:
                      type: string
                    schedule:
                      oneOf:
                      - type: string
                      - type: array
                        items:
                          type: integer
                    checkin_margin:
                      type: integer
                    max_runtime:
                      type: integer
                    timezone:
                      type: string
      responses:
        '200':
          description: Monitor updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Monitor'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
        '404':
          description: Monitor not found.
    delete:
      operationId: deleteMonitor
      summary: Sentry Delete a monitor or monitor environments
      description: Deletes a monitor or specific monitor environments. Use the environment query parameter to selectively delete environments.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/MonitorIdOrSlug'
      - name: environment
        in: query
        description: Specific environment to delete rather than the entire monitor.
        schema:
          type: string
      responses:
        '202':
          description: Monitor or environment scheduled for deletion.
        '401':
          description: Unauthorized.
        '404':
          description: Monitor not found.
    servers:
    - url: https://sentry.io/api/0
      description: Sentry Production API
  /projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/:
    get:
      operationId: retrieveMonitorForProject
      summary: Sentry Retrieve a monitor for a project
      description: Returns a monitor scoped to a specific project.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/ProjectIdOrSlug'
      - $ref: '#/components/parameters/MonitorIdOrSlug'
      responses:
        '200':
          description: Monitor details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Monitor'
        '401':
          description: Unauthorized.
        '404':
          description: Monitor not found.
    put:
      operationId: updateMonitorForProject
      summary: Sentry Update a monitor for a project
      description: Updates a monitor scoped to a specific project.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/ProjectIdOrSlug'
      - $ref: '#/components/parameters/MonitorIdOrSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                config:
                  type: object
      responses:
        '200':
          description: Monitor updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Monitor'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
        '404':
          description: Monitor not found.
    delete:
      operationId: deleteMonitorForProject
      summary: Sentry Delete a monitor or monitor environments for a project
      description: Deletes a monitor or its environments scoped to a project.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/ProjectIdOrSlug'
      - $ref: '#/components/parameters/MonitorIdOrSlug'
      - name: environment
        in: query
        description: Specific environment to delete.
        schema:
          type: string
      responses:
        '202':
          description: Monitor or environment scheduled for deletion.
        '401':
          description: Unauthorized.
        '404':
          description: Monitor not found.
    servers:
    - url: https://sentry.io/api/0
      description: Sentry Production API
  /projects/{organization_id_or_slug}/{project_id_or_slug}/uptime-monitors/:
    post:
      operationId: createProjectMonitor
      summary: Sentry Create a monitor for a project
      description: Creates a new uptime monitor for a specific project.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/ProjectIdOrSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - url
              properties:
                name:
                  type: string
                  description: The name of the monitor.
                url:
                  type: string
                  format: uri
                  description: The URL to monitor.
                intervalSeconds:
                  type: integer
                  description: Check interval in seconds.
      responses:
        '201':
          description: Monitor created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UptimeMonitor'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
    servers:
    - url: https://sentry.io/api/0
      description: Sentry Production API
  /organizations/{organization_id_or_slug}/uptime-monitors/{monitor_id}/:
    get:
      operationId: fetchMonitor
      summary: Sentry Fetch a monitor
      description: Returns details for a specific uptime monitor.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/MonitorId'
      responses:
        '200':
          description: Monitor details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UptimeMonitor'
        '401':
          description: Unauthorized.
        '404':
          description: Monitor not found.
    put:
      operationId: putOrganizationsByOrganizationIdOrSlugUptimeMonitorsByMonitorId
      summary: Sentry Update a monitor by ID
      description: Updates an uptime monitor.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/MonitorId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                url:
                  type: string
                  format: uri
                intervalSeconds:
                  type: integer
      responses:
        '200':
          description: Monitor updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UptimeMonitor'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
        '404':
          description: Monitor not found.
      x-operation-id-source: normalized
      x-operation-id-original: updateMonitor
    delete:
      operationId: deleteOrganizationsByOrganizationIdOrSlugUptimeMonitorsByMonitorId
      summary: Sentry Delete a monitor
      description: Deletes an uptime monitor.
      tags:
      - Monitors
      parameters:
      - $ref: '#/components/parameters/OrganizationIdOrSlug'
      - $ref: '#/components/parameters/MonitorId'
      responses:
        '204':
          description: Monitor deleted.
        '401':
          description: Unauthorized.
        '404':
          description: Monitor not found.
      x-operation-id-source: normalized
      x-operation-id-original: deleteMonitor
    servers:
    - url: https://sentry.io/api/0
      description: Sentry Production API
components:
  schemas:
    Monitor:
      type: object
      properties:
        id:
          type: string
        slug:
          type: string
        name:
          type: string
        type:
          type: string
        config:
          type: object
          properties:
            schedule_type:
              type: string
            schedule:
              oneOf:
              - type: string
              - type: array
                items:
                  type: integer
            checkin_margin:
              type: integer
              nullable: true
            max_runtime:
              type: integer
              nullable: true
            timezone:
              type: string
        status:
          type: string
        dateCreated:
          type: string
          format: date-time
        project:
          type: object
          properties:
            id:
              type: string
            slug:
              type: string
            name:
              type: string
        environments:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              status:
                type: string
              lastCheckIn:
                type: string
                format: date-time
                nullable: true
              nextCheckIn:
                type: string
                format: date-time
                nullable: true
      required:
      - id
      - name
      - type
      - config
    UptimeMonitor:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        url:
          type: string
          format: uri
        status:
          type: string
        intervalSeconds:
          type: integer
        projectSlug:
          type: string
        dateCreated:
          type: string
          format: date-time
      required:
      - id
      - name
      - url
  parameters:
    ProjectIdOrSlug:
      name: project_id_or_slug
      in: path
      required: true
      description: The ID or slug of the project.
      schema:
        type: string
    OrganizationIdOrSlug:
      name: organization_id_or_slug
      in: path
      required: true
      description: The ID or slug of the organization.
      schema:
        type: string
    MonitorIdOrSlug:
      name: monitor_id_or_slug
      in: path
      required: true
      description: The ID or slug of the monitor.
      schema:
        type: string
    MonitorId:
      name: monitor_id
      in: path
      required: true
      description: The ID of the monitor.
      schema:
        type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Authentication token for the Sentry API.
x-refined-from:
- sentry-crons-openapi.yml
- sentry-monitors-openapi.yml