Everbridge Scheduling API

Scheduling operations

Operations 35

POST /scheduling/staff-substitutions Create Staff Substitutions #
GET /scheduling/staff-substitutions Get Staff Substitutions #
PUT /scheduling/staff-substitutions Update Staff Substitutions #
DELETE /scheduling/staff-substitutions Delete Staff Substitutions #
GET /scheduling/events List Events #
GET /scheduling/calendars Get Calendars #
GET /scheduling/{organizationId}/audits List Scheduling Audits #
GET /scheduling/{organizationId}/calendarEvents List Calendar Events #
GET /scheduling/{organizationId}/calendars List Calendars #
POST /scheduling/{organizationId}/calendars Create Calendar #
DELETE /scheduling/{organizationId}/calendars/{ids} Delete Calendars #
GET /scheduling/{organizationId}/calendars/{ids} Get Calendars #
PUT /scheduling/{organizationId}/calendars/{ids} Update calendars #
GET /scheduling/{organizationId}/oncallreminder/staff Scheduling Oncall Reminder Staff #
POST /scheduling/{organizationId}/oncallstaff Scheduling Oncall Staff #
GET /scheduling/{organizationId}/shiftSchedules List Shift Schedules #
POST /scheduling/{organizationId}/shiftSchedules Create Shift Schedules #
DELETE /scheduling/{organizationId}/shiftSchedules/{ids} Delete Shift Schedules #
GET /scheduling/{organizationId}/shiftSchedules/{ids} Get Shift Schedules #
PUT /scheduling/{organizationId}/shiftSchedules/{ids} Update Shift Schedules #
GET /scheduling/{organizationId}/shiftSubstitutions List Shift Substitutions #
POST /scheduling/{organizationId}/shiftSubstitutions Create Shift Substitutions (Override) #
DELETE /scheduling/{organizationId}/shiftSubstitutions/{ids} Delete Shift Substitutions #
GET /scheduling/{organizationId}/shiftSubstitutions/{ids} Get Shift Substitutions #
PUT /scheduling/{organizationId}/shiftSubstitutions/{ids} Update Shift Substitutions #
GET /scheduling/{organizationId}/staffSchedules List Staff Schedules #
POST /scheduling/{organizationId}/staffSchedules Create Staff Schedule #
DELETE /scheduling/{organizationId}/staffSchedules/{ids} Delete Staff Schedules #
GET /scheduling/{organizationId}/staffSchedules/{ids} Get Staff Schedules #
PUT /scheduling/{organizationId}/staffSchedules/{ids} Update Staff Schedules #
GET /scheduling/{organizationId}/substitutions List Scheduling Substitutions #
POST /scheduling/{organizationId}/substitutions Create Scheduling Substitutions #
DELETE /scheduling/{organizationId}/substitutions/{ids} Delete Scheduling Substitutions #
GET /scheduling/{organizationId}/substitutions/{ids} Get Scheduling Substitutions #
PUT /scheduling/{organizationId}/substitutions/{ids} Update Scheduling Substitutions #

Documentation

📖
Documentation
https://developers.everbridge.net/home/docs/overview
📖
APIReference
https://developers.everbridge.net/home/reference
📖
GettingStarted
https://developers.everbridge.net/home/docs/ebs-gs-guide
📖
Authentication
https://developers.everbridge.net/home/docs/ebs-gs-guide-authentication-types
📖
APIReference
https://developers.everbridge.net/home/reference/generate-token
📖
APIReference
https://developers.everbridge.net/home/reference/comms-apis
📖
APIReference
https://developers.everbridge.net/home/reference/authorization
📖
GettingStarted
https://developers.everbridge.net/home/docs/notifications
📖
APIReference
https://developers.everbridge.net/home/reference/cema-query-public
📖
APIReference
https://developers.everbridge.net/home/reference/cema-query-stream-1
📖
APIReference
https://developers.everbridge.net/home/reference/assets
📖
APIReference
https://developers.everbridge.net/home/reference/assets-query
📖
APIReference
https://developers.everbridge.net/home/reference/travel-risk-intelligence
📖
APIReference
https://developers.everbridge.net/home/reference/checks
📖
APIReference
https://developers.everbridge.net/home/reference/risk-events
📖
APIReference
https://developers.everbridge.net/home/reference/safety-devices-event
📖
APIReference
https://developers.everbridge.net/home/reference/snapcomms-authentication
📖
GettingStarted
https://support.snapcomms.com/hc/en-us/articles/19361020051867-Integration-Through-API-Overview

Specifications

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/everbridge-scheduling-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

everbridge-scheduling-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Everbridge Scheduling API
  version: '1.0'
  description: 'Operations tagged Scheduling across 2 of this provider''s published API definitions: everbridge-digital-apps-openapi.json, everbridge-eb-suite-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.everbridge.net/digitalapps/v2
- url: https://api.everbridge.net/rest
- url: https://api.everbridge.eu/rest
tags:
- name: Scheduling
  description: Scheduling operations
paths:
  /scheduling/staff-substitutions:
    post:
      tags:
      - Scheduling
      summary: Create Staff Substitutions
      description: Create staff substitutions.
      operationId: ebs-daa-create-staff-substitutions
      parameters:
      - name: Client-Id
        in: header
        description: Custom app client id
        required: true
        schema:
          type: string
        example: 3efb35a2-fdee-44bb-b476-2a45cada8b00
      - name: Authorization
        in: header
        description: Access token
        required: true
        schema:
          type: string
        example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLXRlc3QiLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3MDAwMDAwMDAsImV4cCI6MjAwMDAwMDAwMH0.MEUCIQDRrT_U-WXmq9sdlqZQw4y1GiI4Pp2tJSrKzWSi8vBslgIgQzRSce6h7RkF70ZcQnFX6Zry8FSX8U5CggV2-3OyuVE
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StaffSubstitutionV2BulkRequest'
        required: true
      responses:
        '200':
          description: List of added staff substitutions
          content:
            application/json: {}
      security:
      - API_Authorizer: []
      x-amazon-apigateway-integration:
        httpMethod: post
        uri: https://mobilemember.everbridge.net/api/v2/scheduling/staff-substitutions
        responses:
          default:
            statusCode: '200'
        type: http_proxy
        passthroughBehavior: when_no_match
    get:
      tags:
      - Scheduling
      summary: Get Staff Substitutions
      description: Get all staff substitutions
      operationId: ebs-daa-get-staff-substitutions
      parameters:
      - name: Client-Id
        in: header
        description: Custom app client id
        required: true
        schema:
          type: string
        example: 3efb35a2-fdee-44bb-b476-2a45cada8b00
      - name: Authorization
        in: header
        description: Access token
        required: true
        schema:
          type: string
        example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLXRlc3QiLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3MDAwMDAwMDAsImV4cCI6MjAwMDAwMDAwMH0.MEUCIQDRrT_U-WXmq9sdlqZQw4y1GiI4Pp2tJSrKzWSi8vBslgIgQzRSce6h7RkF70ZcQnFX6Zry8FSX8U5CggV2-3OyuVE
      responses:
        '200':
          description: List of all staff substitutions
          content:
            application/json:
              schema:
                type: string
      security:
      - API_Authorizer: []
      x-amazon-apigateway-integration:
        httpMethod: get
        uri: https://mobilemember.everbridge.net/api/v2/scheduling/staff-substitutions
        responses:
          default:
            statusCode: '200'
        type: http_proxy
        passthroughBehavior: when_no_match
    put:
      tags:
      - Scheduling
      summary: Update Staff Substitutions
      description: Update staff substitutions.
      operationId: ebs-daa-update-staff-substitutions
      parameters:
      - name: Client-Id
        in: header
        description: Custom app client id
        required: true
        schema:
          type: string
        example: 3efb35a2-fdee-44bb-b476-2a45cada8b00
      - name: Authorization
        in: header
        description: Access token
        required: true
        schema:
          type: string
        example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLXRlc3QiLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3MDAwMDAwMDAsImV4cCI6MjAwMDAwMDAwMH0.MEUCIQDRrT_U-WXmq9sdlqZQw4y1GiI4Pp2tJSrKzWSi8vBslgIgQzRSce6h7RkF70ZcQnFX6Zry8FSX8U5CggV2-3OyuVE
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StaffSubstitutionV2BulkUpdateRequest'
        required: true
      responses:
        '200':
          description: List of updated staff substitutions
          content:
            application/json: {}
      security:
      - API_Authorizer: []
      x-amazon-apigateway-integration:
        httpMethod: put
        uri: https://mobilemember.everbridge.net/api/v2/scheduling/staff-substitutions
        responses:
          default:
            statusCode: '200'
        type: http_proxy
        passthroughBehavior: when_no_match
    delete:
      tags:
      - Scheduling
      summary: Delete Staff Substitutions
      description: Delete staff substitutions.
      operationId: ebs-daa-delete-staff-substitutions
      parameters:
      - name: Client-Id
        in: header
        description: Custom app client id
        required: true
        schema:
          type: string
        example: 3efb35a2-fdee-44bb-b476-2a45cada8b00
      - name: Authorization
        in: header
        description: Access token
        required: true
        schema:
          type: string
        example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLXRlc3QiLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3MDAwMDAwMDAsImV4cCI6MjAwMDAwMDAwMH0.MEUCIQDRrT_U-WXmq9sdlqZQw4y1GiI4Pp2tJSrKzWSi8vBslgIgQzRSce6h7RkF70ZcQnFX6Zry8FSX8U5CggV2-3OyuVE
      responses:
        '200':
          description: List of deleted staff substitutions
          content:
            application/json: {}
      security:
      - API_Authorizer: []
      x-amazon-apigateway-integration:
        httpMethod: delete
        uri: https://mobilemember.everbridge.net/api/v2/scheduling/staff-substitutions
        responses:
          default:
            statusCode: '200'
        type: http_proxy
        passthroughBehavior: when_no_match
    servers:
    - url: https://api.everbridge.net/digitalapps/v2
  /scheduling/events:
    get:
      tags:
      - Scheduling
      summary: List Events
      description: List scheduling events.
      operationId: ebs-daa-list-scheduling-events
      parameters:
      - name: Client-Id
        in: header
        description: Custom app client id
        required: true
        schema:
          type: string
        example: 3efb35a2-fdee-44bb-b476-2a45cada8b00
      - name: Authorization
        in: header
        description: Access token
        required: true
        schema:
          type: string
        example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLXRlc3QiLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3MDAwMDAwMDAsImV4cCI6MjAwMDAwMDAwMH0.MEUCIQDRrT_U-WXmq9sdlqZQw4y1GiI4Pp2tJSrKzWSi8vBslgIgQzRSce6h7RkF70ZcQnFX6Zry8FSX8U5CggV2-3OyuVE
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
      security:
      - API_Authorizer: []
      x-amazon-apigateway-integration:
        httpMethod: get
        uri: https://mobilemember.everbridge.net/api/v2/scheduling/events
        responses:
          default:
            statusCode: '200'
        type: http_proxy
        passthroughBehavior: when_no_match
    servers:
    - url: https://api.everbridge.net/digitalapps/v2
  /scheduling/calendars:
    get:
      tags:
      - Scheduling
      summary: Get Calendars
      description: Get scheduling calendars.
      operationId: ebs-daa-get-scheduling-calendars
      parameters:
      - name: Client-Id
        in: header
        description: Custom app client id
        required: true
        schema:
          type: string
        example: 3efb35a2-fdee-44bb-b476-2a45cada8b00
      - name: Authorization
        in: header
        description: Access token
        required: true
        schema:
          type: string
        example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLXRlc3QiLCJyb2xlIjoiYWRtaW4iLCJpYXQiOjE3MDAwMDAwMDAsImV4cCI6MjAwMDAwMDAwMH0.MEUCIQDRrT_U-WXmq9sdlqZQw4y1GiI4Pp2tJSrKzWSi8vBslgIgQzRSce6h7RkF70ZcQnFX6Zry8FSX8U5CggV2-3OyuVE
      responses:
        '200':
          description: Get List of Calendars
          content:
            application/json: {}
      security:
      - API_Authorizer: []
      x-amazon-apigateway-integration:
        httpMethod: get
        uri: https://mobilemember.everbridge.net/api/v2/scheduling/calendars
        responses:
          default:
            statusCode: '200'
        type: http_proxy
        passthroughBehavior: when_no_match
    servers:
    - url: https://api.everbridge.net/digitalapps/v2
  /scheduling/{organizationId}/audits:
    get:
      description: Scheduling Audit is a read-only resource, meaning audits cannot be modified or deleted. Hence, there is only one API to get the audits. However, the result can be filtered in various ways as per the need.
      operationId: EBS List Scheduling Audits
      parameters:
      - description: The id of the Organization that owns this resource
        in: path
        name: organizationId
        required: true
        schema:
          $ref: '#/components/schemas/organizationId'
      - description: Fields to be included in the response.
        in: query
        name: fields
        required: false
        schema:
          type: string
      - description: <p>filter may be used to specify filter criteria for the request.</p><p>filters are specified in the format of filter[fieldName], where fieldName is any field supported by this resource.</p><p>multiple filter criteria will result in AND conditions, with the exception of multiple filters on the same field, in which case the criteria will be treated as an OR condition</p><p> Ex. filter[calendarId]=1234567890, filter[action]=CREATE, filter[auditResource.type]=calendar, etc.</p>
        explode: true
        in: query
        name: filter
        required: false
        schema:
          allOf:
          - properties:
              calendarId:
                description: Unique ID of the calendar
                type: integer
            required:
            - calendarId
            title: Filter by calendar ID
            type: object
          - properties:
              shiftScheduleId:
                description: Unique ID of the shift schedule
                type: integer
            required:
            - shiftScheduleId
            title: Filter by shiftSchedule ID
            type: object
          - properties:
              staffScheduleId:
                description: Unique ID of the shift schedule
                type: integer
            required:
            - staffScheduleId
            title: Filter by staffSchedule ID
            type: object
        style: deepObject
      - description: One or more calendarIds that this request should filter by.
        in: query
        name: calendarId
        required: false
        schema:
          items:
            type: integer
          type: array
      - description: One or more shiftScheduleIds that this request should filter by.
        in: query
        name: shiftScheduleId
        required: false
        schema:
          items:
            type: integer
          type: array
      - description: One or more staffScheduleIds that this request should filter by.
        in: query
        name: staffScheduleId
        required: false
        schema:
          items:
            type: integer
          type: array
      - description: One or more staffSubstitutionIds (unavailability/replacement) that this request should filter by.
        in: query
        name: staffSubstitutionId
        required: false
        schema:
          items:
            type: integer
          type: array
      - description: One or more shiftScheduleSubstitutionIds (override) that this request should filter by.
        in: query
        name: shiftScheduleSubstitutionId
        required: false
        schema:
          items:
            type: integer
          type: array
      - description: Audit CRUD action type that this request should filter by.
        in: query
        name: action
        required: false
        schema:
          enum:
          - CREATE
          - UPDATE
          - DELETE
          type: string
      - description: <p>Comma delimited list of fields to sort by.</p><p> +/- can precede the field name to indicate direction (ascending/descending).</p><p> + is the default direction.</p><p> Ex. sort=action,-createdDate sorts by the action ascending and createdDate descending.</p><p> Audit records are by default sorted by the createdDate descending.</p>
        in: query
        name: sort
        required: false
        schema:
          type: string
      - description: The number of records per page to be included in the response
        in: query
        name: pageSize
        required: false
        schema:
          format: int32
          type: integer
      - description: The page to be returned.
        in: query
        name: pageNo
        required: false
        schema:
          format: int32
          type: integer
      responses:
        '200':
          content:
            application/json:
              examples:
                Successful Operation:
                  summary: Successful Operation
                  value:
                    currentPageNo: 1
                    data:
                    - accountId: 1536846672691202
                      action: UPDATE
                      auditResource:
                        id: '2343267047833601'
                        minStaff: 0
                        name: Pre Test 4
                        onCallReminder:
                          enabled: false
                        recurrence:
                          datesApplicable:
                            from: '2024-10-15'
                            to: '2024-10-20'
                          everyNRecurrence: 2
                          type: periodic
                        sequencingOverrideAllowed: true
                        staffAssignments:
                        - days:
                          - 1
                          - 2
                          - 3
                          - 4
                          type: mixed
                        staffEachDay: false
                        type: staffSchedule
                      calendarId: 2343267047833601
                      createdDate: '2024-10-15T15:38:18Z'
                      createdId: 2200330536222721
                      createdName: Nandish API Access
                      details:
                        assignments:
                          after:
                          - days:
                            - 1
                            - 2
                            - 3
                            - 4
                          before:
                          - days:
                            - 1
                            - 2
                            - 3
                            - 4
                            - 5
                            - 6
                            - 7
                            ids:
                            - id: 2480365088276853
                              type: contact
                      id: 2560042637197315
                      includes:
                      - id: 2343267047833601
                        name: PRE Test111
                        numDays: 7
                        sequenced: false
                        timeZoneString: Pacific/Niue
                        type: shiftSchedule
                        weekStartsWith: SUNDAY
                      - id: 2343267047833601
                        name: PRE Test111
                        onCallReminder:
                          enabled: false
                        type: calendar
                      - firstName: nandy
                        id: 2480365088276853
                        lastName: nandy
                        type: contact
                      organizationId: 1536984111644674
                      shiftScheduleId: 2343267047833601
                      staffScheduleId: 2343267047833601
                      type: audit
                    - accountId: 1536846672691202
                      action: UPDATE
                      auditResource:
                        id: '2343267047833601'
                        minStaff: 0
                        name: Pre Test 4
                        onCallReminder:
                          enabled: false
                        recurrence:
                          datesApplicable:
                            from: '2024-10-15'
                            to: '2024-10-20'
                          everyNRecurrence: 2
                          type: periodic
                        sequencingOverrideAllowed: true
                        staffAssignments:
                        - days:
                          - 1
                          - 2
                          - 3
                          - 4
                          - 5
                          - 6
                          - 7
                          ids:
                          - id: 2480365088276853
                            type: contact
                          type: mixed
                        staffEachDay: false
                        type: staffSchedule
                      calendarId: 2343267047833601
                      createdDate: '2024-10-15T15:38:02Z'
                      createdId: 2200330536222721
                      createdName: Nandish API Access
                      details:
                        recurrence:
                          after:
                            everyNRecurrence: 2
                            type: periodic
                          before:
                            everyNRecurrence: 1
                            type: periodic
                      id: 2560042637197314
                      includes:
                      - id: 2343267047833601
                        name: PRE Test111
                        numDays: 7
                        sequenced: false
                        timeZoneString: Pacific/Niue
                        type: shiftSchedule
                        weekStartsWith: SUNDAY
                      - id: 2343267047833601
                        name: PRE Test111
                        onCallReminder:
                          enabled: false
                        type: calendar
                      - firstName: nandy
                        id: 2480365088276853
                        lastName: nandy
                        type: contact
                      organizationId: 1536984111644674
                      shiftScheduleId: 2343267047833601
                      staffScheduleId: 2343267047833601
                      type: audit
                    pageSize: 20
                    totalCount: 238
                    totalPageCount: 12
              schema:
                $ref: '#/components/schemas/schedulingAudits'
          description: Successful Operation
      security:
      - BasicAuth: []
      - API_Authorizer: []
      - api_key: []
      summary: List Scheduling Audits
      tags:
      - Scheduling
      x-amazon-apigateway-integration:
        httpMethod: GET
        passthroughBehavior: when_no_match
        requestParameters:
          integration.request.path.organizationId: method.request.path.organizationId
        responses:
          default:
            statusCode: '200'
        type: http_proxy
        uri: https://ebs-restapi-prod-us.evbg.io/rest/scheduling/{organizationId}/audits
    servers:
    - url: https://api.everbridge.net/rest
    - url: https://api.everbridge.eu/rest
  /scheduling/{organizationId}/calendarEvents:
    get:
      description: List of events and their corresponding assignments
      operationId: EBS List Calendar Events
      parameters:
      - description: The id of the Organization that owns this resource
        in: path
        name: organizationId
        required: true
        schema:
          $ref: '#/components/schemas/organizationId'
      - description: <p>fields to be included in the response.</p><p>fields[resourceName] may be used to specify fields returned for included documents. When doing so, it is not necessary to also request to include the resource as the include is implied by the fields request</p>
        in: query
        name: fields
        required: false
        schema:
          type: string
      - description: <p>Specifying the includes parameter will result in a compound document response, adding resources to included which have been referenced by resources returned in data.<p><p>include may be specified as a comma delimited list of resource names.</p>
        in: query
        name: include
        required: false
        schema:
          enum:
          - calendar
          - shiftSchedule
          - staffSchedule
          - shiftSubstitution
          - staffSubstitution
          - contact
          - group
          type: string
      - description: Start date/time to fetch events from.
        in: query
        name: start
        required: false
        schema:
          type: string
      - description: End date/time of the interval to fetch events from.
        in: query
        name: end
        required: false
        schema:
          type: string
      - description: Instant to fetch events for.
        in: query
        name: instant
        required: false
        schema:
          type: string
      - description: Number of days to fetch events for.
        in: query
        name: days
        required: false
        schema:
          type: integer
      - description: IDs for calendars that this request should filter by.
        in: query
        name: calendarId
        required: false
        schema:
          type: string
      - description: IDs for shifts that this request should filter by.
        in: query
        name: shiftScheduleId
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                Successful Operation:
                  summary: Successful Operation
                  value:
                    data:
                    - assignments: []
                      calendarId: 2343267047833601
                      end: '2024-10-16T00:00:00-11:00'
                      id: 08533060000001-670e4b30-670f9cb0
                      organizationId: 1536984111644674
                      shiftScheduleId: 2343267047833601
                      start: '2024-10-15T00:00:00-11:00'
                      type: calendarEvent
                    - assignments: []
                      calendarId: 2481052283043883
                      end: '2024-10-17T00:00:00+05:30'
                      id: 08e1b060000001-670eb4a8-67100628
                      organizationId: 1536984111644674
                      shiftScheduleId: 2499947454791681
                      start: '2024-10-16T00:00:00+05:30'
                      type: calendarEvent
                    - assignments: []
                      calendarId: 2481052283043883
                      end: '2024-10-16T09:00:00-04:00'
                      id: 08d08100000032-670ed7d0-670fb8d0
                      organizationId: 1536984111644674
                      shiftScheduleId: 2481052283043890
                      start: '2024-10-15T17:00:00-04:00'
                      type: calendarEvent
                    - assignments:
                      - contactId: 2480365088276853
                        staffLayerId: 2514825221505027
                      - contactId: 2480365088276853
                        staffLayerId: 2514825221505029
                      - contactId: 2480365088276853
                        staffLayerId: 2514825221505030
                      - contactId: 2480365088276853
                        staffLayerId: 2514825221505031
                      - contactId: 2480365088276853
                        staffLayerId: 2514825221505032
                      - contactId: 2480365088276853
                        staffLayerId: 2514859581243393
                      - contactId: 2480365088276853
                        staffLayerId: 2514859581243394
                      - contactId: 2480365088276853
                        staffLayerId: 2514859581243395
                      calendarId: 2481052283043883
                      end: '2024-10-17T00:00:00-04:00'
                      id: 08de2060000003-670f3a40-67108bc0
                      organizationId: 1536984111644674
                      shiftScheduleId: 2496030444617731
                      start: '2024-10-16T00:00:00-04:00'
                      type: calendarEvent
                    - assignments: []
                      calendarId: 2481052283043883
                      end: '2024-10-17T00:00:00-04:00'
                      id: 08de2060000005-670f3a40-67108bc0
                      organizationId: 1536984111644674
                      shiftScheduleId: 2496030444617733
                      start: '2024-10-16T00:00:00-04:00'
                      type: calendarEvent
              schema:
                $ref: '#/components/schemas/FlatCalendarEvent'
          description: Successful Operation
      security:
      - BasicAuth: []
      - API_Authorizer: []
      - api_key: []
      summary: List Calendar Events
      tags:
      - Scheduling
      x-amazon-apigateway-integration:
        httpMethod: GET
        passthroughBehavior: when_no_match
        requestParameters:
          integration.request.path.organizationId: method.request.path.organizationId
        responses:
          default:
            statusCode: '200'
        type: http_proxy
        uri: https://ebs-restapi-prod-us.evbg.io/rest/scheduling/{organizationId}/calendarEvents
    servers:
    - url: https://api.everbridge.net/rest
    - url: https://api.everbridge.eu/rest
  /scheduling/{organizationId}/calendars:
    get:
      deprecated: false
      description: Return a list of all calendars for an organization
      operationId: EBS List Calendars
      parameters:
      - description: The ID of the organization that owns this resource
        example: 1536984111644674
        in: path
        name: organizationId
        required: true
        schema:
          $ref: '#/components/schemas/organizationId'
      - description: An array containing country codes for the countries/regions to which this calendar is related. No validation is done. Invalid codes will be ignored
        example: AU
        in: query
        name: holidayCalendarCodes
        required: false
        schema:
          items:
            type: string
          type: array
      - description: Page number to be displayed. Maximum page number with page size 20 is 1
        example: 1
        in: query
        name: pageNumber
        required: false
        schema:
          type: integer
      - description: Number od records displayed per page. The maximum page size is 100
        example: 20
        in: query
        name: pageSize
        required: false
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              examples:
                Response Model:
                  summary: Response Model
                  value:
                    currentPageNo: 1
                    data:
                    - accountId: 1536846672691202
                      active: true
                      createdDate: '2023-02-22T17:42:46Z'
                      createdId: 585800790048776
                      createdName: Ajay Goel
                      emailNotificationEnabled: false
                      externalId: 8d0810000002b
                      id: 2481052283043883
                      lastModifiedDate: '2023-02-22T17:44:10Z'
                      lastModifiedId: 585800790048776
                      lastModifiedName: Ajay Goel
                      name: Calendar for Engineering Team
                      notifyScheduled: false
                      onCallReminder:
                        enabled: false
                      organizationId: 1536984111644674
                      resourceBundleId: 1536984111644675
                      status: A
                      type: calendar
                      visibility: contact
                    pageSize: 20
                    totalCount: 1
                    totalPageCount: 1
              schema:
                $ref: '#/components/schemas/listCalendars'
          description: Model
      security:
      - BasicAuth: []
      - API_Authorizer: []
      - api_key: []
      summary: List Calendars
      tags:
      - Scheduling
      x-amazon-apigateway-integration:
        httpMethod: GET
        passthroughBehavior: when_no_match
        requestParameters:
          integration.request.path.organizationId: method.request.path.organizationId
        responses:
          default:
            statusCode: '200'
        type: http_proxy
        uri: https://ebs-restapi-prod-us.evbg.io/rest/scheduling/{organizationId}/calendars
    post:
      deprecated: false
      description: Create Calendar in an Organization
      operationId: EBS Create Calendar
      parameters:
      - description: The id of the Organization that owns this resource
        example: 1536984111644674
        in: path
        name: organizationId
        required: true
        schema:
          $ref: '#/components/schemas/organizationId'
      requestBody:
        content:
          application/json:
            examples:
              Calendar with Custom External Id:
                summary: Calendar with Custom External Id
                value:
                  data:
                    externalId: alph4Num3ricOrStringCharacters0nly
                    name: Calendar for Eng
              Calendar with Email Notification:
                summary: Calendar with Email Notification
                value:
                  data:
                    emailNotificationEnabled: true
                    emailNotificationList:
                    - example@gmail.com
                    externalId: alph4Num3ricOrStringCharacters0nly
                    name: Calendar for Eng
              Calendar with Notification Scheduled:
                summary: Calendar with Notification Scheduled
                value:
                  data:
                    emailNotificationEnabled: true
                    emailNotificationList:
                    - example@gmail.com
                    externalId: alph4Num3ricOrStringCharacters0nly
                    name: Calendar for Eng
                    notifyScheduled: true
              Minimal Calendar:
                summary: Minimal Calendar
                value:
                  data:
                    name: Calendar for Eng
            schema:
              $ref: '#/components/schemas/calendarObj'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                Success:
                  summary: Created Calendar
                  value:
                    data:
                      accountId: 1536846672691202
                      active: false
                      createdDate: '2024-06-04T06:27:37Z'
                      createdId: 2200330536222721
                      createdName: Nandish API Access
                      emailNotificationEnabled: false
                      externalId: '8529060000001'
                      id: 2342579853066241
                      lastModifiedDate: '2024-06-04T06:27:37Z'
                      lastModifiedId: 2200330536222721
                      lastModifiedName: Nandish API Access
                      name: PRE Calendar Postman 1717482455
                      notifyScheduled: false
                      onCallReminder:
                        enabled: false
                      organizationId: 1536984111644674
                      resourceBundleId: 1536984111644675
                      status: A
                      type: calendar
                      visibility: contact
              schema:
                $ref: '#/components/schemas/calendar'
          description: OK
      security:
      - BasicAuth: []
      - API_Authorizer: []
      - api_key: []
      summary: Create Calendar
      tags:
      - Scheduling
      x-amazon-apigateway-integration:
        httpMethod: POST
        passthroughBehavio

# --- truncated at 32 KB (202 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/everbridge/refs/heads/main/openapi/everbridge-scheduling-api-openapi.yml