openapi: 3.1.0 info: title: OpsGenie Account Incidents API description: The OpsGenie Account API provides endpoints for retrieving account-level information and configuration settings. Developers can use this API to access details about their OpsGenie account, including plan information and account metadata. It serves as a foundational API for administrative operations and account management within the OpsGenie platform. version: 2.0.0 contact: name: Atlassian Support url: https://support.atlassian.com/opsgenie/ termsOfService: https://www.atlassian.com/legal/cloud-terms-of-service servers: - url: https://api.opsgenie.com description: Production Server - url: https://api.eu.opsgenie.com description: EU Production Server security: - genieKey: [] tags: - name: Incidents description: Operations for creating, retrieving, updating, closing, and resolving incidents within the OpsGenie platform. paths: /v1/incidents/create: post: operationId: createIncident summary: Create incident description: Creates a new incident in OpsGenie. The request is processed asynchronously and returns a request ID that can be used to track the status of the incident creation. Available to Standard and Enterprise plan users. tags: - Incidents requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateIncidentRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/AsyncRequestResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/incidents: get: operationId: listIncidents summary: List incidents description: Returns a list of incidents matching the specified search criteria. tags: - Incidents parameters: - name: query in: query required: true description: Search query to filter incidents using OpsGenie query language. schema: type: string - name: offset in: query description: Starting index for pagination. schema: type: integer minimum: 0 default: 0 - name: limit in: query description: Maximum number of items to return. schema: type: integer minimum: 1 maximum: 100 default: 20 - name: sort in: query description: Field to sort results by. schema: type: string enum: - createdAt - tinyId - message - status - isSeen - owner - name: order in: query description: Sort order for the results. schema: type: string enum: - desc - asc default: desc responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListIncidentsResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/incidents/{identifier}: get: operationId: getIncident summary: Get incident description: Retrieves the details of a specific incident identified by its ID. tags: - Incidents parameters: - $ref: '#/components/parameters/IncidentIdentifier' - $ref: '#/components/parameters/IdentifierType' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/GetIncidentResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: operationId: deleteIncident summary: Delete incident description: Deletes the specified incident. The request is processed asynchronously. tags: - Incidents parameters: - $ref: '#/components/parameters/IncidentIdentifier' - $ref: '#/components/parameters/IdentifierType' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/AsyncRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/incidents/{identifier}/close: post: operationId: closeIncident summary: Close incident description: Closes the specified incident. The request is processed asynchronously. tags: - Incidents parameters: - $ref: '#/components/parameters/IncidentIdentifier' - $ref: '#/components/parameters/IdentifierType' requestBody: content: application/json: schema: $ref: '#/components/schemas/CloseIncidentRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/AsyncRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/incidents/{identifier}/resolve: post: operationId: resolveIncident summary: Resolve incident description: Resolves the specified incident. The request is processed asynchronously. tags: - Incidents parameters: - $ref: '#/components/parameters/IncidentIdentifier' - $ref: '#/components/parameters/IdentifierType' requestBody: content: application/json: schema: $ref: '#/components/schemas/IncidentActionRequest' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/AsyncRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/incidents/requests/{requestId}: get: operationId: getIncidentRequestStatus summary: Get incident request status description: Retrieves the status and incident details of an asynchronous request using the request ID returned from incident action endpoints. tags: - Incidents parameters: - name: requestId in: path required: true description: The ID of the asynchronous request to check status for. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RequestStatusResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: parameters: IdentifierType: name: identifierType in: query description: Type of the identifier. Possible values are id or tiny. Default is id. schema: type: string enum: - id - tiny default: id IncidentIdentifier: name: identifier in: path required: true description: Identifier of the incident, which can be the incident ID or tiny ID. schema: type: string schemas: AsyncRequestResponse: type: object properties: result: type: string description: Result message. took: type: number description: Time taken to process the request in seconds. requestId: type: string description: Unique identifier for the asynchronous request. CreateIncidentRequest: type: object required: - message properties: message: type: string maxLength: 130 description: Message of the incident, limited to 130 characters. description: type: string maxLength: 10000 description: A detailed description of the incident. responders: type: array description: Teams that the incident is routed to for response. items: type: object properties: id: type: string description: ID of the responder team. name: type: string description: Name of the responder team. type: type: string enum: - team description: Type of responder, must be team. tags: type: array description: Tags to attach to the incident. items: type: string maxItems: 20 details: type: object description: Custom key-value pairs to attach to the incident. additionalProperties: type: string priority: type: string enum: - P1 - P2 - P3 - P4 - P5 description: Priority level of the incident. P1 is the highest. impactedServices: type: array description: List of service IDs that are impacted by the incident. items: type: string statusPageEntry: type: object description: Status page entry to create with the incident. properties: title: type: string description: Title of the status page entry. detail: type: string description: Detail message for the status page entry. notifyStakeholders: type: boolean description: Whether to send notifications to stakeholders. RequestStatusResponse: type: object properties: data: type: object properties: success: type: boolean description: Whether the request was successful. action: type: string description: The action that was performed. processedAt: type: string format: date-time description: Date and time when the request was processed. status: type: string description: Status of the request. incidentId: type: string description: ID of the incident created or affected. took: type: number description: Time taken in seconds. requestId: type: string description: Unique identifier for the request. ErrorResponse: type: object properties: message: type: string description: Error message describing what went wrong. took: type: number description: Time taken in seconds. requestId: type: string description: Unique identifier for the request. Incident: type: object properties: id: type: string description: Unique identifier of the incident. tinyId: type: string description: Short, human-readable identifier of the incident. message: type: string description: Message of the incident. status: type: string enum: - open - resolved - closed description: Current status of the incident. tags: type: array items: type: string description: Tags attached to the incident. createdAt: type: string format: date-time description: Date and time when the incident was created. updatedAt: type: string format: date-time description: Date and time when the incident was last updated. priority: type: string enum: - P1 - P2 - P3 - P4 - P5 description: Priority level of the incident. ownerTeam: type: string description: The owner team of the incident. responders: type: array items: type: object properties: id: type: string description: Responder team ID. type: type: string description: Responder type. description: Responders assigned to the incident. impactedServices: type: array items: type: string description: IDs of services impacted by the incident. description: type: string description: Detailed description of the incident. details: type: object additionalProperties: type: string description: Custom key-value pairs attached to the incident. IncidentActionRequest: type: object properties: note: type: string description: Additional note to add with the action. ListIncidentsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/Incident' description: List of incidents. paging: type: object properties: next: type: string description: URL for the next page of results. first: type: string description: URL for the first page of results. took: type: number description: Time taken in seconds. requestId: type: string description: Unique identifier for the request. CloseIncidentRequest: type: object properties: note: type: string description: Additional note to add when closing the incident. GetIncidentResponse: type: object properties: data: $ref: '#/components/schemas/Incident' took: type: number description: Time taken in seconds. requestId: type: string description: Unique identifier for the request. securitySchemes: genieKey: type: apiKey in: header name: Authorization description: API key authentication using the GenieKey scheme. externalDocs: description: OpsGenie Account API Documentation url: https://docs.opsgenie.com/docs/account-api