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