Zenduty Incident Responders API

This object represents the incident responders of an incident.

OpenAPI Specification

zenduty-incident-responders-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.1.0
  title: Zenduty Account Custom Role Incident Responders API
  termsOfService: https://zenduty.com
  contact:
    email: vishwa@zenduty.com
  license:
    name: Apache 2.0
  x-logo:
    url: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9Ii05OC4zIDE3My43IDIwNi4zIDUzLjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgLTk4LjMgMTczLjcgMjA2LjMgNTMuMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzBGMTcyQTt9DQoJLnN0MXtmaWxsOiNGRDlBMDA7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tMjksMjEwLjJoNi4zYzIuNywwLDQuOSwyLjIsNC45LDQuOWgtMTguMWMwLTUuMyw0LjEtOS40LDcuOS0xMy4xbDMuOC0zLjdoLTcuMWMtMi41LDAtNC42LTIuMS00LjYtNC42aDE4DQoJYzAsNS4zLTQuMSw5LjQtNy44LDEzLjJMLTI5LDIxMC4yeiIvPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTMuNywyMDUuOGgtMTUuNWMwLjEsMS41LDAuNiwyLjcsMS42LDMuNmMwLjksMC45LDIuMSwxLjIsMy41LDEuMmMyLDAsMy40LTAuOSw0LjMtMi41aDUuOA0KCWMtMC42LDItMS44LDMuNi0zLjUsNC45Yy0xLjgsMS4yLTMuOSwyLTYuNCwyYy0yLDAtMy45LTAuNS01LjUtMS40Yy0xLjYtMC45LTIuOS0yLjEtMy44LTMuN2MtMC45LTEuNi0xLjQtMy40LTEuNC01LjcNCgljMC0yLjEsMC41LTQuMSwxLjQtNS43YzAuOS0xLjYsMi4xLTIuOCwzLjgtMy43YzEuNi0wLjksMy40LTEuNCw1LjUtMS40YzIsMCwzLjgsMC40LDUuNCwxLjJjMS42LDAuOSwyLjgsMi4xLDMuNywzLjYNCgljMC45LDEuNiwxLjMsMy4zLDEuMyw1LjRDMy44LDIwNC42LDMuOCwyMDUuMiwzLjcsMjA1Ljh6IE0tMS43LDIwMi4yYzAtMS40LTAuNS0yLjUtMS41LTMuMmMtMS0wLjktMi4xLTEuMi0zLjUtMS4yDQoJYy0xLjQsMC0yLjQsMC40LTMuNCwxLjJjLTAuOSwwLjctMS41LDEuOC0xLjYsMy4zaDEwLjFWMjAyLjJ6Ii8+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjcuOSwxOTguNGMwLjktMS42LDItMi45LDMuNS0zLjhjMS41LTAuOSwzLjEtMS40LDQuOS0xLjRjMS40LDAsMi42LDAuMywzLjksMC45YzEuMywwLjYsMi4zLDEuNCwzLDIuNHYtMTYuNw0KCWg1LjR2MzVoLTUuNHYtMy4xYy0wLjYsMS0xLjYsMS45LTIuOCwyLjVjLTEuMywwLjYtMi42LDEtNC4yLDFjLTEuOCwwLTMuNC0wLjUtNC45LTEuNGMtMS41LTAuOS0yLjYtMi4zLTMuNS0zLjkNCgljLTAuOS0xLjYtMS4zLTMuNS0xLjMtNS44QzI2LjYsMjAyLDI3LDIwMCwyNy45LDE5OC40eiBNNDIuNSwyMDAuOWMtMC41LTAuOS0xLjMtMS42LTItMi4xYy0wLjktMC41LTEuOC0wLjgtMi44LTAuOA0KCWMtMSwwLTEuOSwwLjMtMi44LDAuOGMtMC45LDAuNS0xLjUsMS4xLTIsMi4xYy0wLjUsMC45LTAuOCwyLTAuOCwzLjNjMCwxLjMsMC4zLDIuNCwwLjgsMy40YzAuNSwxLDEuMywxLjYsMiwyLjENCgljMC45LDAuNSwxLjgsMC44LDIuOCwwLjhjMSwwLDEuOS0wLjMsMi44LTAuOGMwLjktMC41LDEuNS0xLjMsMi0yLjFjMC41LTAuOSwwLjgtMiwwLjgtMy40UzQzLDIwMS44LDQyLjUsMjAwLjl6Ii8+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjUuNCwyMDQuM3YxMC42aC01di0xMC42YzAtMi0wLjUtMy41LTEuNS00LjVjLTEtMS4xLTIuMS0xLjYtMy41LTEuNnMtMi41LDAuNS0zLjUsMS42DQoJYy0wLjksMS0xLjQsMi42LTEuNCw0LjV2MTAuNkg1LjV2LTEwLjZjMC0yLjEsMC41LTQsMS4zLTUuN2MwLjktMS42LDItMi45LDMuNS0zLjhzMy4xLTEuNCw1LTEuNHMzLjUsMC41LDUsMS40DQoJYzEuNSwwLjksMi42LDIuMSwzLjUsMy44QzI0LjksMjAwLjMsMjUuNCwyMDIuMiwyNS40LDIwNC4zeiIvPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTUxLjMsMjA0LjF2LTEwLjRoNXYxMC40YzAsMiwwLjUsMy41LDEuNSw0LjVjMSwxLjEsMi4xLDEuNiwzLjUsMS42YzEuNCwwLDIuNS0wLjUsMy41LTEuNg0KCWMwLjktMSwxLjQtMi42LDEuNC00LjV2LTEwLjRoNC45djEwLjRjMCwyLjEtMC41LDQtMS4zLDUuN2MtMC45LDEuNi0yLDIuOS0zLjUsMy44Yy0xLjUsMC45LTMuMSwxLjQtNSwxLjRzLTMuNS0wLjUtNS0xLjQNCgljLTEuNS0wLjktMi42LTIuMS0zLjUtMy44QzUxLjcsMjA4LjEsNTEuMywyMDYuMiw1MS4zLDIwNC4xeiIvPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTgwLjcsMTk4djEwLjJjMCwwLjgsMC4xLDEuMywwLjUsMS41YzAuNCwwLjQsMC45LDAuNSwxLjgsMC41aDIuNXY0LjVoLTMuNGMtNC41LDAtNi44LTIuMS02LjgtNi41VjE5OGgtNS4xDQoJdi00LjRoNS4xdi04LjdoNS40djguN2g0LjhsMi42LDQuNEg4MC43eiIvPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTEwNy40LDE5My42bC04LjcsMjAuNmwtNSwxMS44aC01LjdsNS4xLTExLjhsLTguNC0yMC42aDZsNS40LDE0LjdsNS41LTE0LjdIMTA3LjR6Ii8+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNLTY2LjksMTg5LjJjLTEuOSwwLTQuNy0yLjEtNC43LTQuOHYtMy42YzAtMi43LDAuOC00LjgsNC43LTQuOGMzLjksMCw0LjcsMi4xLDQuNyw0Ljh2My42DQoJQy02Mi4yLDE4Ny4xLTY1LDE4OS4yLTY2LjksMTg5LjJ6Ii8+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNLTM3LjcsMjIzaC0yMS41bDMuOC0xMS40bDAuNy0xLjhjNC4yLDEuNywxMy4xLDcuMiwxNy43LDExLjZDLTM2LjQsMjIyLjEtMzYuOCwyMjMtMzcuNywyMjN6Ii8+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNLTU3LjMsMTkyLjlsLTE1LjksMTAuNGMtNC4yLTIuNS05LjItNS45LTEyLjItOC44Yy0wLjYtMC42LTAuMi0xLjUsMC43LTEuNUgtNTcuM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0tNDguNiwxOTQuM2wtNiwxNS42bC0wLjcsMS44bC0zLjgsMTEuNEgtOTZjLTAuOCwwLTEuMy0wLjktMC44LTEuNWMwLjktMS4yLDEuOC0yLjMsMi43LTMuMw0KCWMyLjEtMi4yLDQuNC00LjEsNi45LTUuOGwwLjEtMC4xYzAuOC0wLjYsMS42LTEuMSwyLjQtMS42bDExLjQtNy40bDE1LjktMTAuNGg3LjdDLTQ4LjgsMTkyLjktNDguNCwxOTMuNi00OC42LDE5NC4zeiIvPg0KPC9zdmc+DQo=
  description: "# Introduction\n\nZenduty is a cutting edge platform for incident management. With high level automation, Zenduty enables faster and better incident resolution keeping developers first.\n\n\n  Javascript Libraries: https://github.com/Zenduty/zenduty-js\n\n  Ruby Libraries: https://github.com/Zenduty/zenduty-ruby\n\n  Python Libraries: https://github.com/Zenduty/zenduty-python-sdk\n\n  Postman Collection for Zenduty API: https://github.com/Zenduty/zenduty-api-postman.git\n\n  Account-level roles and permissions: https://docs.zenduty.com/docs/users#account-level-roles-and-permissions\n\n  Team-level roles and permissions: https://docs.zenduty.com/docs/users#team-level-roles-and-permissions\n"
servers:
- url: https://www.zenduty.com
security:
- bearerAuth: []
tags:
- name: Incident Responders
  description: This object represents the incident responders of an incident.
paths:
  /api/v2/incidents/{incident_number}/responders/:
    parameters:
    - name: incident_number
      in: path
      description: Incident number of the Incident object
      schema:
        type: string
      required: true
    get:
      tags:
      - Incident Responders
      summary: List all Incident Responders objects
      description: Returns a list of Incident Responders objects.
      responses:
        '200':
          description: A list of Incident Responders
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IncidentResponderResponse'
        '400':
          description: Invalid incident number
        '403':
          description: Unauthorized
        '404':
          description: Incident not found
    post:
      tags:
      - Incident Responders
      summary: Add an Incident Responder
      description: Add an Incident Responder to the incident
      requestBody:
        description: Payload to add an Incident Responder. Either user OR escalation_policy must be provided
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/IncidentResponderUserPayload'
              - $ref: '#/components/schemas/IncidentResponderEscalationPolicyPayload'
            examples:
              user_example:
                summary: Add user as responder
                value:
                  user: 85b563c8-18d0-4668-9462-9
              escalation_policy_example:
                summary: Add escalation policy as responder
                value:
                  escalation_policy: 4a106e05-09af-4aef-9439-40c6f4aaff0f
          application/xml:
            schema:
              oneOf:
              - $ref: '#/components/schemas/IncidentResponderUserPayload'
              - $ref: '#/components/schemas/IncidentResponderEscalationPolicyPayload'
            examples:
              user_example:
                summary: Add user as responder
                value:
                  user: 85b563c8-18d0-4668-9462-9
              escalation_policy_example:
                summary: Add escalation policy as responder
                value:
                  escalation_policy: 4a106e05-09af-4aef-9439-40c6f4aaff0f
      responses:
        '201':
          description: Incident Responder created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentResponderDetail'
              example:
                unique_id: k8Ds9iL768XMdGbdSWjthA
                incident: 4
                user: 85b563c8-18d0-4668-9462-9
                subject: null
                message: null
                user_name: Vishwa Kirshnakumar
                creation_date: '2024-05-20T09:06:09.580Z'
                escalation_policy: 4a106e05-09af-4aef-9439-40c6f4aaff0f
                escalation_policy_name: Primary Escalation Policy
                response_status: 3
            application/xml:
              schema:
                $ref: '#/components/schemas/IncidentResponderDetail'
              example:
                unique_id: k8Ds9iL768XMdGbdSWjthA
                incident: 4
                user: 85b563c8-18d0-4668-9462-9
                subject: null
                message: null
                user_name: Vishwa Kirshnakumar
                creation_date: '2024-05-20T09:06:09.580Z'
                escalation_policy: 4a106e05-09af-4aef-9439-40c6f4aaff0f
                escalation_policy_name: Primary Escalation Policy
                response_status: 3
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                message: This request can not be processed.
            application/xml:
              example:
                message: This request can not be processed.
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                detail: You do not have permission to perform this action.
            application/xml:
              example:
                detail: You do not have permission to perform this action.
  /api/incidents/{incident_number}/responders/{unique_id}/:
    parameters:
    - name: incident_number
      in: path
      description: Incident number of the Incident object
      schema:
        type: string
      required: true
    - name: unique_id
      in: path
      description: unique_id of the Incident Responder Object
      schema:
        type: string
      required: true
    get:
      tags:
      - Incident Responders
      summary: Retrieve an Incident Responder
      description: Retrieve details of an Incident Responder
      responses:
        '200':
          description: Incident Responder retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentResponderDetail'
              example:
                unique_id: k8Ds9iL768XMdGbdSWjthA
                incident: 4
                user: 85b563c8-18d0-4668-9462-9
                subject: null
                message: null
                user_name: Vishwa Kirshnakumar
                creation_date: '2024-05-20T09:06:09.580Z'
                escalation_policy: 4a106e05-09af-4aef-9439-40c6f4aaff0f
                escalation_policy_name: Primary Escalation Policy
                response_status: 1
            application/xml:
              schema:
                $ref: '#/components/schemas/IncidentResponderDetail'
              example:
                unique_id: k8Ds9iL768XMdGbdSWjthA
                incident: 4
                user: 85b563c8-18d0-4668-9462-9
                subject: null
                message: null
                user_name: Vishwa Kirshnakumar
                creation_date: '2024-05-20T09:06:09.580Z'
                escalation_policy: 4a106e05-09af-4aef-9439-40c6f4aaff0f
                escalation_policy_name: Primary Escalation Policy
                response_status: 1
        '404':
          description: Incident Responder not found
    delete:
      tags:
      - Incident Responders
      summary: Delete an Incident Responder
      description: Delete an Incident Responder from the incident
      responses:
        '204':
          description: No Content
        '404':
          description: Incident Responder not found
components:
  schemas:
    IncidentResponderDetail:
      type: object
      description: Incident Responder detail object
      properties:
        unique_id:
          type: string
          description: Unique identifier of the Incident Responder
        incident:
          type: integer
          description: Incident number of the Incident object
        user:
          type: string
          description: Unique identifier of the User (present when responder is a user)
        user_name:
          type: string
          description: Name of the Incident Responder (present when responder is a user)
        escalation_policy:
          type: string
          description: Unique identifier of the Escalation Policy (present when responder is an escalation policy)
        escalation_policy_name:
          type: string
          description: Name of the Escalation Policy (present when responder is an escalation policy)
        subject:
          type: string
          description: Subject of the Incident Responder's message
        message:
          type: string
          description: Message from the Incident Responder
        response_status:
          type: integer
          description: Response status of the Incident Responder. Available values are (1, "Accepted"), (2, "Declined"), (3, "Pending")
        creation_date:
          type: string
          format: date-time
          description: Date and time when the Incident Responder was added
    IncidentResponderEscalationPolicyPayload:
      title: Escalation Policy
      type: object
      description: Payload to add an escalation policy as Incident Responder
      required:
      - escalation_policy
      properties:
        escalation_policy:
          type: string
          description: Unique identifier of the Escalation Policy object
    IncidentResponderResponse:
      type: object
      properties:
        count:
          type: integer
          description: Total count of Incident Responders
        next:
          type: string
          description: URL to the next page of results, if any
        previous:
          type: string
          description: URL to the previous page of results, if any
        results:
          type: array
          items:
            $ref: '#/components/schemas/IncidentResponderDetail'
    IncidentResponderUserPayload:
      title: User
      type: object
      description: Payload to add a user as Incident Responder
      required:
      - user
      properties:
        user:
          type: string
          description: Unique identifier of the User object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Token <api_key>