> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incident.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List

> List all incidents for an organisation.

This endpoint supports a number of filters, which can help find incidents matching certain
criteria.

Filters are provided as query parameters, but due to the dynamic nature of what you can
query by (different accounts have different custom fields, statuses, etc) they are more
complex than most.

The maximum page size that can be requested is 250.

To help, here are some exemplar curl requests with a human description of what they search
for.

Note that:
- Filters may be combined using the filter_mode parameter: 'all' (default) requires all filters
to match (AND logic), while 'any' requires at least one filter to match (OR logic).
- IDs are normally in UUID format, but have been replaced with shorter strings to improve
readability.
- All query parameters must be URI encoded.

### By status

With status of id=ABC, find all incidents that are set to that status:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'status[one_of]=ABC'
```

Or all incidents that are not set to status with id=ABC:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'status[not_in]=ABC'
```

### By created_at or updated_at

Find all incidents that follow specified date parameters for created_at and updated_at fields.
Possible values are "gte" (greater than or equal to), "lte" (less than or equal to), and
"date_range" (between two dates). The following example finds all incidents created before
or on 2021-01-02T00:00:00Z:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'created_at[lte]=2021-01-02'
```

To find incidents created within a specific date range, use the date_range option with
tilde-separated dates:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'created_at[date_range]=2024-12-02~2024-12-08'
```

### By status category

Find all incidents that are in a status category. Possible values are "triage",
"declined", "merged", "canceled", "live", "learning" and "closed":

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'status_category[one_of]=live'
```

Or all incidents that are not in a status category:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'status_category[not_in]=live'
```


### By severity

With severity of id=ABC, find all incidents that are set to that severity:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'severity[one_of]=ABC'
```

Or all incidents where severity rank is greater-than-or-equal-to the rank of severity
id=ABC:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'severity[gte]=ABC'
```

Or all incidents where severity rank is less-than-or-equal-to the rank of severity id=ABC:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'severity[lte]=ABC'
```

### By incident type

With incident type of id=ABC, find all incidents that are of that type:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'incident_type[one_of]=ABC'
```

Or all incidents not of that type:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'incident_type[not_in]=ABC'
```

### By incident mode

By default, we return standard and retrospective incidents. This means that test and
tutorial incidents are filtered out. To override this behaviour, you can use the
mode filter to specify which modes you want to get.

To find incidents of all modes:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'mode[one_of]=standard&mode[one_of]=retrospective&mode[one_of]=test&mode[one_of]=tutorial'
```

To find just test incidents:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'mode[one_of]=test'
```


### By incident role

Roles and custom fields have another nested layer in the query parameter, to account for
operations against any of the roles or custom fields created in the account.

With incident role id=ABC, find all incidents where that role is unset:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'incident_role[ABC][is_set]=true'
```

Or where the role has been set:

```bash
curl --get 'https://api.incident.io/v2/incidents' \
--data 'incident_role[ABC][is_set]=false'
```

### By option custom fields

With an option custom field id=ABC, all incidents that have field ABC set to the custom
field option of id=XYZ:

```bash
curl \
--get 'https://api.incident.io/v2/incidents' \
--data 'custom_field[ABC][one_of]=XYZ'
```

Or all incidents that do not have custom field id=ABC set to option id=XYZ:

```bash
curl \
--get 'https://api.incident.io/v2/incidents' \
--data 'custom_field[ABC][not_in]=XYZ'
```

### Sorting

By default, results are ordered by their creation date. You can use the sort_by parameter
to reverse this order:

```bash
curl \
--get 'https://api.incident.io/v2/incidents' \
--data 'sort_by=created_at_oldest_first'
```




## OpenAPI

````yaml /openapi/tags/incidents-v2.json get /v2/incidents
openapi: 3.0.3
info:
  description: "This is the API reference for incident.io.\n\nIt documents available API endpoints, provides examples of how to use it, and\ninstructions around things like authentication and error handling.\n\nThe API is hosted at:\n\n- https://api.incident.io/\n\nAnd you will need to create an API key via your [incident.io\ndashboard](https://app.incident.io/settings/api-keys) to make requests.\n\n# Making requests\n\nHere are the key concepts required to make requests to the incident.io API.\n\n## Authentication\n\nFor all requests made to the incident.io API, you'll need an API key.\n\nTo create an API key, head to the incident dashboard and visit [API\nkeys](https://app.incident.io/settings/api-keys). When you create the key, you'll be able to choose what actions it\ncan take for your account: choose carefully, as those roles can only be set\nwhen you first create the key. We'll only show you the token once, so make sure\nyou store it somewhere safe.\n\nAPI keys are global to your incident.io account, and can be managed by anyone\nwho has the right permissions. We display the user that created the API key,\nand the API key will remain valid if that user becomes deactivated.\n\nOnce you have the key, you should make requests to the API that set the\n`Authorization` request header using a \"Bearer\" authentication scheme:\n\n```\nAuthorization: Bearer <YOUR_API_KEY>\n```\n\n## Rate Limits\n\nThe incident.io API enforces rate limits to ensure consistent performance for all users.\n\nThe default rate limit is 1200 requests/minute per API key. This limit applies to most endpoints across the API.\n\nSome endpoints have lower rate limits, particularly those that interact with external third-party systems that impose\ntheir own limitations. These specific limits vary by endpoint, and we recommend relying on the rate-limit error\nresponses to understand usage patterns and implement appropriate retry strategies.\n\nWhen you exceed a rate limit, the API will respond with a `429 Too Many Requests` status code, along with a JSON\nresponse that includes information about the limit and when you can retry:\n\n```json\n{\n    \"type\": \"too_many_requests\",\n    \"status\": 429,\n    \"request_id\": \"b839a403-7704-41c1-bf6a-39a2d68caefa\",\n    \"rate_limit\": {\n        \"name\": \"api_key_name\",\n        \"limit\": 1200,\n        \"remaining\": 0,\n        \"retry_after\": \"Thu, 17 Apr 2025 11:17:18 UTC\"\n    },\n    \"errors\": [\n        {\n            \"code\": \"too_many_requests\",\n            \"message\": \"Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.\"\n        }\n    ]\n}\n```\n\nThe response includes:\n* The name of the API key (`name`)\n* The bucket limit (`limit`)\n* The number of requests remaining (`remaining`)\n* When you can retry requests (`retry_after`)\n\n## Errors\n\nWe use standard HTTP response codes to indicate the status or failure of API\nrequests.\n\nThe API response body will be JSON, and contain more detailed information on the\nnature of the error.\n\nAn example error when a request is made without an API key:\n\n```json\n{\n  \"type\": \"authentication_error\",\n  \"status\": 401,\n  \"request_id\": \"8e3cc412-b49d-4957-9073-2c19d2c61804\",\n  \"errors\": [\n    {\n      \"code\": \"missing_authorization_material\",\n      \"message\": \"No authorization material provided in request\"\n    }\n  ]\n}\n```\n\nNote that the error:\n\n- Contains the HTTP status (`401`)\n- References the type of error (`authentication_error`)\n- Includes a `request_id` that can be provided to incident.io support to help\n\tdebug questions with your API request\n- Provides a list of individual errors, which go into detail about why the error\n\toccurred\n\nThe most common error will be a 422 Validation Error, which is returned when the\nrequest was rejected due to failing validations.\n\nThese errors look like this:\n\n```json\n{\n  \"type\": \"validation_error\",\n  \"status\": 422,\n  \"request_id\": \"631766c4-4afd-4803-997c-cd700928fa4b\",\n  \"errors\": [\n    {\n      \"code\": \"is_required\",\n      \"message\": \"A severity is required to open an incident\",\n      \"source\": {\n        \"field\": \"severity_id\"\n      }\n    }\n  ]\n}\n```\n\nThis error is caused by not providing a severity identifier, which should be at\nthe `severity_id` field of the request payload. Errors like these can be mapped to\nforms, should you be integrating with the API from a user-interface.\n\n## Compatibility\n\nWe won't make breaking changes to existing API services or endpoints, but will\nexpect integrators to upgrade themselves to the latest API endpoints within 3\nmonths of us deprecating the old service.\n\nWe will make changes that are considered backwards compatible, which include:\n\n- Adding new API endpoints and services\n- Adding new properties to responses from existing API endpoints\n- Reordering properties returned from existing API endpoints\n- Adding optional request parameters to existing API endpoints\n- Altering the format or length of IDs\n- Adding new values to enums\n\nIt is important that clients are robust to these changes, to ensure reliable\nintegrations.\n\nAs an example, if you are generating a client using an openapi-generator, ensure\nthe generated client is configured to support unknown enum values, often\nconfigured via the `enumUnknownDefaultCase` parameter.\n\nWhen breaking changes are unavoidable, we'll create a new service version on a\nseparate path, and run them in parallel.\n\nFor example:\n\n- https://api.incident.io/v1/incidents\n- https://api.incident.io/v2/incidents\n\nFor any questions, email support@incident.io.\n"
  title: incident.io
  version: 1.0.0
servers:
  - url: https://api.incident.io
security:
  - BearerAuth: []
tags:
  - description: >
      Create and read incidents.


      Incidents are a core resource, on which many other resources (actions,
      etc) are created.


      Care should be taken around these endpoints, as automation that creates
      duplicate

      incidents can be distracting, and impact reporting.
    name: Incidents V2
paths:
  /v2/incidents:
    get:
      tags:
        - Incidents V2
      summary: List
      description: >
        List all incidents for an organisation.


        This endpoint supports a number of filters, which can help find
        incidents matching certain

        criteria.


        Filters are provided as query parameters, but due to the dynamic nature
        of what you can

        query by (different accounts have different custom fields, statuses,
        etc) they are more

        complex than most.


        The maximum page size that can be requested is 250.


        To help, here are some exemplar curl requests with a human description
        of what they search

        for.


        Note that:

        - Filters may be combined using the filter_mode parameter: 'all'
        (default) requires all filters

        to match (AND logic), while 'any' requires at least one filter to match
        (OR logic).

        - IDs are normally in UUID format, but have been replaced with shorter
        strings to improve

        readability.

        - All query parameters must be URI encoded.


        ### By status


        With status of id=ABC, find all incidents that are set to that status:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'status[one_of]=ABC'

        ```


        Or all incidents that are not set to status with id=ABC:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'status[not_in]=ABC'

        ```


        ### By created_at or updated_at


        Find all incidents that follow specified date parameters for created_at
        and updated_at fields.

        Possible values are "gte" (greater than or equal to), "lte" (less than
        or equal to), and

        "date_range" (between two dates). The following example finds all
        incidents created before

        or on 2021-01-02T00:00:00Z:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'created_at[lte]=2021-01-02'

        ```


        To find incidents created within a specific date range, use the
        date_range option with

        tilde-separated dates:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'created_at[date_range]=2024-12-02~2024-12-08'

        ```


        ### By status category


        Find all incidents that are in a status category. Possible values are
        "triage",

        "declined", "merged", "canceled", "live", "learning" and "closed":


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'status_category[one_of]=live'

        ```


        Or all incidents that are not in a status category:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'status_category[not_in]=live'

        ```



        ### By severity


        With severity of id=ABC, find all incidents that are set to that
        severity:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'severity[one_of]=ABC'

        ```


        Or all incidents where severity rank is greater-than-or-equal-to the
        rank of severity

        id=ABC:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'severity[gte]=ABC'

        ```


        Or all incidents where severity rank is less-than-or-equal-to the rank
        of severity id=ABC:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'severity[lte]=ABC'

        ```


        ### By incident type


        With incident type of id=ABC, find all incidents that are of that type:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'incident_type[one_of]=ABC'

        ```


        Or all incidents not of that type:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'incident_type[not_in]=ABC'

        ```


        ### By incident mode


        By default, we return standard and retrospective incidents. This means
        that test and

        tutorial incidents are filtered out. To override this behaviour, you can
        use the

        mode filter to specify which modes you want to get.


        To find incidents of all modes:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data
        'mode[one_of]=standard&mode[one_of]=retrospective&mode[one_of]=test&mode[one_of]=tutorial'

        ```


        To find just test incidents:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'mode[one_of]=test'

        ```



        ### By incident role


        Roles and custom fields have another nested layer in the query
        parameter, to account for

        operations against any of the roles or custom fields created in the
        account.


        With incident role id=ABC, find all incidents where that role is unset:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'incident_role[ABC][is_set]=true'

        ```


        Or where the role has been set:


        ```bash

        curl --get 'https://api.incident.io/v2/incidents' \

        --data 'incident_role[ABC][is_set]=false'

        ```


        ### By option custom fields


        With an option custom field id=ABC, all incidents that have field ABC
        set to the custom

        field option of id=XYZ:


        ```bash

        curl \

        --get 'https://api.incident.io/v2/incidents' \

        --data 'custom_field[ABC][one_of]=XYZ'

        ```


        Or all incidents that do not have custom field id=ABC set to option
        id=XYZ:


        ```bash

        curl \

        --get 'https://api.incident.io/v2/incidents' \

        --data 'custom_field[ABC][not_in]=XYZ'

        ```


        ### Sorting


        By default, results are ordered by their creation date. You can use the
        sort_by parameter

        to reverse this order:


        ```bash

        curl \

        --get 'https://api.incident.io/v2/incidents' \

        --data 'sort_by=created_at_oldest_first'

        ```
      operationId: Incidents V2_List
      parameters:
        - allowEmptyValue: true
          description: Integer number of records to return
          example: 25
          in: query
          name: page_size
          schema:
            default: 25
            description: Integer number of records to return
            example: 25
            format: int64
            maximum: 500
            type: integer
        - allowEmptyValue: true
          description: >-
            An incident's ID. This endpoint will return a list of incidents
            after this ID in relation to the API response order.
          examples:
            default:
              summary: default
              value: 01FDAG4SAP5TYPT98WGR2N7W91
          in: query
          name: after
          schema:
            description: >-
              An incident's ID. This endpoint will return a list of incidents
              after this ID in relation to the API response order.
            example: 01FDAG4SAP5TYPT98WGR2N7W91
            type: string
        - allowEmptyValue: true
          description: What order to return results in.
          example: created_at_newest_first
          in: query
          name: sort_by
          schema:
            default: created_at_newest_first
            description: What order to return results in.
            enum:
              - created_at_newest_first
              - created_at_oldest_first
            example: created_at_newest_first
            type: string
        - allowEmptyValue: true
          description: >-
            How to combine the filters: 'all' combines them with AND logic (all
            must match), 'any' combines them with OR logic (any can match).
            Defaults to 'all'.
          example: all
          in: query
          name: filter_mode
          schema:
            description: >-
              How to combine the filters: 'all' combines them with AND logic
              (all must match), 'any' combines them with OR logic (any can
              match). Defaults to 'all'.
            enum:
              - all
              - any
            example: all
            type: string
        - allowEmptyValue: true
          description: >-
            Filter on incident status. The accepted operators are 'one_of', or
            'not_in'.
          example:
            one_of:
              - 01GBSQF3FHF7FWZQNWGHAVQ804
          in: query
          name: status
          schema:
            additionalProperties:
              example:
                - some_value
              items:
                example: some_value
                type: string
              type: array
            description: >-
              Filter on incident status. The accepted operators are 'one_of', or
              'not_in'.
            example:
              one_of:
                - 01GBSQF3FHF7FWZQNWGHAVQ804
            type: object
        - allowEmptyValue: true
          description: >-
            Filter on the category of the incidents status. The accepted
            operators are 'one_of', or 'not_in'.
          example:
            one_of:
              - active
          in: query
          name: status_category
          schema:
            additionalProperties:
              example:
                - some_value
              items:
                example: some_value
                type: string
              type: array
            description: >-
              Filter on the category of the incidents status. The accepted
              operators are 'one_of', or 'not_in'.
            example:
              one_of:
                - active
            type: object
        - allowEmptyValue: true
          description: >-
            Filter on incident created at timestamp. The accepted operators are
            'gte', 'lte' and 'date_range'.
          example:
            created_at[gte]:
              - '2024-05-01'
          in: query
          name: created_at
          schema:
            additionalProperties:
              example:
                - some_value
              items:
                example: some_value
                type: string
              type: array
            description: >-
              Filter on incident created at timestamp. The accepted operators
              are 'gte', 'lte' and 'date_range'.
            example:
              created_at[gte]:
                - '2024-05-01'
            type: object
        - allowEmptyValue: true
          description: >-
            Filter on incident updated at timestamp. The accepted operators are
            'gte', 'lte' and 'date_range'.
          example:
            updated_at[gte]:
              - '2024-05-01'
          in: query
          name: updated_at
          schema:
            additionalProperties:
              example:
                - some_value
              items:
                example: some_value
                type: string
              type: array
            description: >-
              Filter on incident updated at timestamp. The accepted operators
              are 'gte', 'lte' and 'date_range'.
            example:
              updated_at[gte]:
                - '2024-05-01'
            type: object
        - allowEmptyValue: true
          description: >-
            Filter on incident severity. The accepted operators are 'one_of',
            'not_in', 'gte', 'lte'.
          example:
            one_of:
              - 01GBSQF3FHF7FWZQNWGHAVQ804
          in: query
          name: severity
          schema:
            additionalProperties:
              example:
                - some_value
              items:
                example: some_value
                type: string
              type: array
            description: >-
              Filter on incident severity. The accepted operators are 'one_of',
              'not_in', 'gte', 'lte'.
            example:
              one_of:
                - 01GBSQF3FHF7FWZQNWGHAVQ804
            type: object
        - allowEmptyValue: true
          description: >-
            Filter on incident type. The accepted operators are 'one_of, or
            'not_in'.
          example:
            one_of:
              - 01GBSQF3FHF7FWZQNWGHAVQ804
          in: query
          name: incident_type
          schema:
            additionalProperties:
              example:
                - some_value
              items:
                example: some_value
                type: string
              type: array
            description: >-
              Filter on incident type. The accepted operators are 'one_of, or
              'not_in'.
            example:
              one_of:
                - 01GBSQF3FHF7FWZQNWGHAVQ804
            type: object
        - allowEmptyValue: true
          description: >-
            Filter on an incident role. Role ID should be sent, along with
            backlink attribute ID (if needed) followed by the operator and
            values. The accepted operators are 'one_of', 'is_blank'.
          example:
            01GBSQF3FHF7FWZQNWGHAVQ804:
              one_of:
                - 01GBSQF3FHF7FWZQNWGHAVQ804
                - 01ET65M7ZARSFZ6TFDFVQDN9AA
          in: query
          name: incident_role
          schema:
            additionalProperties:
              additionalProperties:
                example:
                  - value
                items:
                  example: value
                  type: string
                type: array
              example:
                abc123:
                  - value
              type: object
            description: >-
              Filter on an incident role. Role ID should be sent, along with
              backlink attribute ID (if needed) followed by the operator and
              values. The accepted operators are 'one_of', 'is_blank'.
            example:
              01GBSQF3FHF7FWZQNWGHAVQ804:
                one_of:
                  - 01GBSQF3FHF7FWZQNWGHAVQ804
                  - 01ET65M7ZARSFZ6TFDFVQDN9AA
            type: object
        - allowEmptyValue: true
          description: >-
            Filter on an incident custom field. Custom field ID should be sent,
            followed by the operator and values. Accepted operator will depend
            on the custom field type.
          example:
            01GBSQF3FHF7FWZQNWGHAVQ804:
              one_of:
                - 01GBSQF3FHF7FWZQNWGHAVQ804
                - 01ET65M7ZARSFZ6TFDFVQDN9AA
          in: query
          name: custom_field
          schema:
            additionalProperties:
              additionalProperties:
                example:
                  - value
                items:
                  example: value
                  type: string
                type: array
              example:
                abc123:
                  - value
              type: object
            description: >-
              Filter on an incident custom field. Custom field ID should be
              sent, followed by the operator and values. Accepted operator will
              depend on the custom field type.
            example:
              01GBSQF3FHF7FWZQNWGHAVQ804:
                one_of:
                  - 01GBSQF3FHF7FWZQNWGHAVQ804
                  - 01ET65M7ZARSFZ6TFDFVQDN9AA
            type: object
        - allowEmptyValue: true
          description: >-
            Filter on incident mode. The accepted operator is 'one_of'.  If this
            is not provided, this value defaults to `{"one_of": ["standard",
            "retrospective"] }`, meaning that test and tutorial incidents are
            not included.
          example:
            one_of:
              - retrospective
          in: query
          name: mode
          schema:
            additionalProperties:
              example:
                - some_value
              items:
                example: some_value
                type: string
              type: array
            description: >-
              Filter on incident mode. The accepted operator is 'one_of'.  If
              this is not provided, this value defaults to `{"one_of":
              ["standard", "retrospective"] }`, meaning that test and tutorial
              incidents are not included.
            example:
              one_of:
                - retrospective
            type: object
      responses:
        '200':
          content:
            application/json:
              example:
                incidents:
                  - call_url: https://zoom.us/foo
                    created_at: '2021-08-17T13:28:57.801578Z'
                    creator:
                      alert:
                        id: 01GW2G3V0S59R238FAHPDS1R66
                        title: '*errors.withMessage: PG::Error failed to connect'
                      api_key:
                        id: 01FCNDV6P870EA6S7TK1DSYDG0
                        name: My test API key
                      user:
                        email: lisa@incident.io
                        id: 01FCNDV6P870EA6S7TK1DSYDG0
                        name: Lisa Karlin Curtis
                        role: owner
                        slack_user_id: U02AYNF2XJM
                      workflow:
                        id: 01FCNDV6P870EA6S7TK1DSYDG0
                        name: My little workflow
                    custom_field_entries:
                      - custom_field:
                          description: Which team is impacted by this issue
                          field_type: single_select
                          id: 01FCNDV6P870EA6S7TK1DSYDG0
                          name: Affected Team
                          options:
                            - custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                              id: 01FCNDV6P870EA6S7TK1DSYDG0
                              sort_key: 10
                              value: Product
                        values:
                          - value_catalog_entry:
                              aliases:
                                - lawrence@incident.io
                                - lawrence
                              external_id: 761722cd-d1d7-477b-ac7e-90f9e079dc33
                              id: 01FCNDV6P870EA6S7TK1DSYDG0
                              name: Primary On-call
                            value_link: https://google.com/
                            value_numeric: '123.456'
                            value_option:
                              custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                              id: 01FCNDV6P870EA6S7TK1DSYDG0
                              sort_key: 10
                              value: Product
                            value_text: This is my text field, I hope you like it
                    duration_metrics:
                      - duration_metric:
                          id: 01FCNDV6P870EA6S7TK1DSYD5H
                          name: Lasted
                        value_seconds: 10800
                    external_issue_reference:
                      issue_name: INC-123
                      issue_permalink: >-
                        https://linear.app/incident-io/issue/INC-1609/find-copywriter-to-write-up
                      provider: asana
                    has_debrief: false
                    id: 01FDAG4SAP5TYPT98WGR2N7W91
                    incident_role_assignments:
                      - assignee:
                          email: lisa@incident.io
                          id: 01FCNDV6P870EA6S7TK1DSYDG0
                          name: Lisa Karlin Curtis
                          role: owner
                          slack_user_id: U02AYNF2XJM
                        role:
                          created_at: '2021-08-17T13:28:57.801578Z'
                          description: The person currently coordinating the incident
                          id: 01FCNDV6P870EA6S7TK1DSYDG0
                          instructions: >-
                            Take point on the incident; Make sure people are
                            clear on responsibilities
                          name: Incident Lead
                          required: false
                          role_type: lead
                          shortform: lead
                          updated_at: '2021-08-17T13:28:57.801578Z'
                    incident_status:
                      category: triage
                      created_at: '2021-08-17T13:28:57.801578Z'
                      description: >-
                        Impact has been **fully mitigated**, and we're ready to
                        learn from this incident.
                      id: 01FCNDV6P870EA6S7TK1DSYD5H
                      name: Closed
                      rank: 4
                      updated_at: '2021-08-17T13:28:57.801578Z'
                    incident_timestamp_values:
                      - incident_timestamp:
                          id: 01FCNDV6P870EA6S7TK1DSYD5H
                          name: Impact started
                          rank: 1
                        value:
                          value: '2021-08-17T13:28:57.801578Z'
                    incident_type:
                      create_in_triage: always
                      created_at: '2021-08-17T13:28:57.801578Z'
                      description: Customer facing production outages
                      id: 01FCNDV6P870EA6S7TK1DSYDG0
                      is_default: false
                      name: Production Outage
                      private_incidents_only: false
                      updated_at: '2021-08-17T13:28:57.801578Z'
                    mode: standard
                    name: Our database is sad
                    permalink: https://app.incident.io/incidents/123
                    postmortem_document_ids:
                      - 01FCNDV6P870EA6S7TK1DSYD5H
                    postmortem_document_url: https://docs.google.com/my_doc_id
                    reference: INC-123
                    severity:
                      created_at: '2021-08-17T13:28:57.801578Z'
                      description: Issues with **low impact**.
                      id: 01FCNDV6P870EA6S7TK1DSYDG0
                      name: Minor
                      rank: 1
                      updated_at: '2021-08-17T13:28:57.801578Z'
                    slack_channel_id: C02AW36C1M5
                    slack_channel_name: inc-165-green-parrot
                    slack_team_id: T02A1FSLE8J
                    summary: >-
                      Our database is really really sad, and we don't know why
                      yet.
                    updated_at: '2021-08-17T13:28:57.801578Z'
                    visibility: public
                    workload_minutes_late: 40.7
                    workload_minutes_sleeping: 0
                    workload_minutes_total: 60.7
                    workload_minutes_working: 20
                pagination_meta:
                  after: 01FCNDV6P870EA6S7TK1DSYDG0
                  page_size: 25
                  total_record_count: 238
              schema:
                $ref: '#/components/schemas/IncidentsListResultV2'
          description: OK response.
components:
  schemas:
    IncidentsListResultV2:
      example:
        incidents:
          - call_url: https://zoom.us/foo
            created_at: '2021-08-17T13:28:57.801578Z'
            creator:
              alert:
                id: 01GW2G3V0S59R238FAHPDS1R66
                title: '*errors.withMessage: PG::Error failed to connect'
              api_key:
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                name: My test API key
              user:
                email: lisa@incident.io
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                name: Lisa Karlin Curtis
                role: owner
                slack_user_id: U02AYNF2XJM
              workflow:
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                name: My little workflow
            custom_field_entries:
              - custom_field:
                  description: Which team is impacted by this issue
                  field_type: single_select
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  name: Affected Team
                  options:
                    - custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                      id: 01FCNDV6P870EA6S7TK1DSYDG0
                      sort_key: 10
                      value: Product
                values:
                  - value_catalog_entry:
                      aliases:
                        - lawrence@incident.io
                        - lawrence
                      external_id: 761722cd-d1d7-477b-ac7e-90f9e079dc33
                      id: 01FCNDV6P870EA6S7TK1DSYDG0
                      name: Primary On-call
                    value_link: https://google.com/
                    value_numeric: '123.456'
                    value_option:
                      custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                      id: 01FCNDV6P870EA6S7TK1DSYDG0
                      sort_key: 10
                      value: Product
                    value_text: This is my text field, I hope you like it
            duration_metrics:
              - duration_metric:
                  id: 01FCNDV6P870EA6S7TK1DSYD5H
                  name: Lasted
                value_seconds: 10800
            external_issue_reference:
              issue_name: INC-123
              issue_permalink: >-
                https://linear.app/incident-io/issue/INC-1609/find-copywriter-to-write-up
              provider: asana
            has_debrief: false
            id: 01FDAG4SAP5TYPT98WGR2N7W91
            incident_role_assignments:
              - assignee:
                  email: lisa@incident.io
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  name: Lisa Karlin Curtis
                  role: owner
                  slack_user_id: U02AYNF2XJM
                role:
                  created_at: '2021-08-17T13:28:57.801578Z'
                  description: The person currently coordinating the incident
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  instructions: >-
                    Take point on the incident; Make sure people are clear on
                    responsibilities
                  name: Incident Lead
                  required: false
                  role_type: lead
                  shortform: lead
                  updated_at: '2021-08-17T13:28:57.801578Z'
            incident_status:
              category: triage
              created_at: '2021-08-17T13:28:57.801578Z'
              description: >-
                Impact has been **fully mitigated**, and we're ready to learn
                from this incident.
              id: 01FCNDV6P870EA6S7TK1DSYD5H
              name: Closed
              rank: 4
              updated_at: '2021-08-17T13:28:57.801578Z'
            incident_timestamp_values:
              - incident_timestamp:
                  id: 01FCNDV6P870EA6S7TK1DSYD5H
                  name: Impact started
                  rank: 1
                value:
                  value: '2021-08-17T13:28:57.801578Z'
            incident_type:
              create_in_triage: always
              created_at: '2021-08-17T13:28:57.801578Z'
              description: Customer facing production outages
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              is_default: false
              name: Production Outage
              private_incidents_only: false
              updated_at: '2021-08-17T13:28:57.801578Z'
            mode: standard
            name: Our database is sad
            permalink: https://app.incident.io/incidents/123
            postmortem_document_ids:
              - 01FCNDV6P870EA6S7TK1DSYD5H
            postmortem_document_url: https://docs.google.com/my_doc_id
            reference: INC-123
            severity:
              created_at: '2021-08-17T13:28:57.801578Z'
              description: Issues with **low impact**.
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              name: Minor
              rank: 1
              updated_at: '2021-08-17T13:28:57.801578Z'
            slack_channel_id: C02AW36C1M5
            slack_channel_name: inc-165-green-parrot
            slack_team_id: T02A1FSLE8J
            summary: Our database is really really sad, and we don't know why yet.
            updated_at: '2021-08-17T13:28:57.801578Z'
            visibility: public
            workload_minutes_late: 40.7
            workload_minutes_sleeping: 0
            workload_minutes_total: 60.7
            workload_minutes_working: 20
        pagination_meta:
          after: 01FCNDV6P870EA6S7TK1DSYDG0
          page_size: 25
          total_record_count: 238
      properties:
        incidents:
          example:
            - call_url: https://zoom.us/foo
              created_at: '2021-08-17T13:28:57.801578Z'
              creator:
                alert:
                  id: 01GW2G3V0S59R238FAHPDS1R66
                  title: '*errors.withMessage: PG::Error failed to connect'
                api_key:
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  name: My test API key
                user:
                  email: lisa@incident.io
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  name: Lisa Karlin Curtis
                  role: owner
                  slack_user_id: U02AYNF2XJM
                workflow:
                  id: 01FCNDV6P870EA6S7TK1DSYDG0
                  name: My little workflow
              custom_field_entries:
                - custom_field:
                    description: Which team is impacted by this issue
                    field_type: single_select
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    name: Affected Team
                    options:
                      - custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                        id: 01FCNDV6P870EA6S7TK1DSYDG0
                        sort_key: 10
                        value: Product
                  values:
                    - value_catalog_entry:
                        aliases:
                          - lawrence@incident.io
                          - lawrence
                        external_id: 761722cd-d1d7-477b-ac7e-90f9e079dc33
                        id: 01FCNDV6P870EA6S7TK1DSYDG0
                        name: Primary On-call
                      value_link: https://google.com/
                      value_numeric: '123.456'
                      value_option:
                        custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                        id: 01FCNDV6P870EA6S7TK1DSYDG0
                        sort_key: 10
                        value: Product
                      value_text: This is my text field, I hope you like it
              duration_metrics:
                - duration_metric:
                    id: 01FCNDV6P870EA6S7TK1DSYD5H
                    name: Lasted
                  value_seconds: 10800
              external_issue_reference:
                issue_name: INC-123
                issue_permalink: >-
                  https://linear.app/incident-io/issue/INC-1609/find-copywriter-to-write-up
                provider: asana
              has_debrief: false
              id: 01FDAG4SAP5TYPT98WGR2N7W91
              incident_role_assignments:
                - assignee:
                    email: lisa@incident.io
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    name: Lisa Karlin Curtis
                    role: owner
                    slack_user_id: U02AYNF2XJM
                  role:
                    created_at: '2021-08-17T13:28:57.801578Z'
                    description: The person currently coordinating the incident
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    instructions: >-
                      Take point on the incident; Make sure people are clear on
                      responsibilities
                    name: Incident Lead
                    required: false
                    role_type: lead
                    shortform: lead
                    updated_at: '2021-08-17T13:28:57.801578Z'
              incident_status:
                category: triage
                created_at: '2021-08-17T13:28:57.801578Z'
                description: >-
                  Impact has been **fully mitigated**, and we're ready to learn
                  from this incident.
                id: 01FCNDV6P870EA6S7TK1DSYD5H
                name: Closed
                rank: 4
                updated_at: '2021-08-17T13:28:57.801578Z'
              incident_timestamp_values:
                - incident_timestamp:
                    id: 01FCNDV6P870EA6S7TK1DSYD5H
                    name: Impact started
                    rank: 1
                  value:
                    value: '2021-08-17T13:28:57.801578Z'
              incident_type:
                create_in_triage: always
                created_at: '2021-08-17T13:28:57.801578Z'
                description: Customer facing production outages
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                is_default: false
                name: Production Outage
                private_incidents_only: false
                updated_at: '2021-08-17T13:28:57.801578Z'
              mode: standard
              name: Our database is sad
              permalink: https://app.incident.io/incidents/123
              postmortem_document_ids:
                - 01FCNDV6P870EA6S7TK1DSYD5H
              postmortem_document_url: https://docs.google.com/my_doc_id
              reference: INC-123
              severity:
                created_at: '2021-08-17T13:28:57.801578Z'
                description: Issues with **low impact**.
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                name: Minor
                rank: 1
                updated_at: '2021-08-17T13:28:57.801578Z'
              slack_channel_id: C02AW36C1M5
              slack_channel_name: inc-165-green-parrot
              slack_team_id: T02A1FSLE8J
              summary: Our database is really really sad, and we don't know why yet.
              updated_at: '2021-08-17T13:28:57.801578Z'
              visibility: public
              workload_minutes_late: 40.7
              workload_minutes_sleeping: 0
              workload_minutes_total: 60.7
              workload_minutes_working: 20
          items:
            $ref: '#/components/schemas/IncidentV2'
          type: array
        pagination_meta:
          $ref: '#/components/schemas/PaginationMetaResultWithTotalV2'
      required:
        - incidents
      type: object
    IncidentV2:
      properties:
        call_url:
          description: The call URL attached to this incident
          example: https://zoom.us/foo
          type: string
        created_at:
          description: When the incident was created
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
        creator:
          $ref: '#/components/schemas/ActorV2'
        custom_field_entries:
          description: Custom field entries for this incident
          example:
            - custom_field:
                description: Which team is impacted by this issue
                field_type: single_select
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                name: Affected Team
                options:
                  - custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    sort_key: 10
                    value: Product
              values:
                - value_catalog_entry:
                    aliases:
                      - lawrence@incident.io
                      - lawrence
                    external_id: 761722cd-d1d7-477b-ac7e-90f9e079dc33
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    name: Primary On-call
                  value_link: https://google.com/
                  value_numeric: '123.456'
                  value_option:
                    custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                    id: 01FCNDV6P870EA6S7TK1DSYDG0
                    sort_key: 10
                    value: Product
                  value_text: This is my text field, I hope you like it
          items:
            $ref: '#/components/schemas/CustomFieldEntryV2'
          type: array
        duration_metrics:
          description: Incident duration metrics and their measurements for this incident
          example:
            - duration_metric:
                id: 01FCNDV6P870EA6S7TK1DSYD5H
                name: Lasted
              value_seconds: 10800
          items:
            $ref: '#/components/schemas/IncidentDurationMetricWithValueV2'
          type: array
        external_issue_reference:
          $ref: '#/components/schemas/ExternalIssueReferenceV2'
        has_debrief:
          description: If this incident has a debrief attached
          example: false
          type: boolean
        id:
          description: Unique identifier for the incident
          example: 01FDAG4SAP5TYPT98WGR2N7W91
          type: string
        incident_role_assignments:
          description: A list of who is assigned to each role for this incident
          example:
            - assignee:
                email: lisa@incident.io
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                name: Lisa Karlin Curtis
                role: owner
                slack_user_id: U02AYNF2XJM
              role:
                created_at: '2021-08-17T13:28:57.801578Z'
                description: The person currently coordinating the incident
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                instructions: >-
                  Take point on the incident; Make sure people are clear on
                  responsibilities
                name: Incident Lead
                required: false
                role_type: lead
                shortform: lead
                updated_at: '2021-08-17T13:28:57.801578Z'
          items:
            $ref: '#/components/schemas/IncidentRoleAssignmentV2'
          type: array
        incident_status:
          $ref: '#/components/schemas/IncidentStatusV2'
        incident_timestamp_values:
          description: Incident lifecycle events and when they occurred
          example:
            - incident_timestamp:
                id: 01FCNDV6P870EA6S7TK1DSYD5H
                name: Impact started
                rank: 1
              value:
                value: '2021-08-17T13:28:57.801578Z'
          items:
            $ref: '#/components/schemas/IncidentTimestampWithValueV2'
          type: array
        incident_type:
          $ref: '#/components/schemas/IncidentTypeV2'
        mode:
          description: >-
            Whether the incident is real, a test, a tutorial, or importing as a
            retrospective incident
          enum:
            - standard
            - retrospective
            - test
            - tutorial
          example: standard
          type: string
        name:
          description: Explanation of the incident
          example: Our database is sad
          type: string
        permalink:
          description: A permanent link to the homepage for this incident
          example: https://app.incident.io/incidents/123
          type: string
        postmortem_document_ids:
          description: An array of IDs of postmortem documents for this incident
          example:
            - 01FCNDV6P870EA6S7TK1DSYD5H
          items:
            example: 01FCNDV6P870EA6S7TK1DSYD5H
            type: string
          type: array
        postmortem_document_url:
          description: The URL of the incident post-mortem document
          example: https://docs.google.com/my_doc_id
          type: string
        reference:
          description: Reference to this incident, as displayed across the product
          example: INC-123
          type: string
        severity:
          $ref: '#/components/schemas/SeverityV2'
        slack_channel_id:
          description: >-
            ID of the Slack channel in the organisation Slack workspace. Note
            that the channel is sometimes created asynchronously, so may not be
            present when the incident is just created.
          example: C02AW36C1M5
          type: string
        slack_channel_name:
          description: Name of the slack channel
          example: inc-165-green-parrot
          type: string
        slack_team_id:
          description: >-
            ID of the Slack team / workspace. This is only required if you are
            using a Slack Enterprise Grid with multiple teams.
          example: T02A1FSLE8J
          type: string
        summary:
          description: Detailed description of the incident
          example: Our database is really really sad, and we don't know why yet.
          type: string
        updated_at:
          description: When the incident was last updated
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
        visibility:
          description: >-
            Whether the incident should be open to anyone in your Slack
            workspace (public), or invite-only (private). For more information
            on Private Incidents see our
            [docs](https://docs.incident.io/incidents/sensitive-incidents).
          enum:
            - public
            - private
          example: public
          type: string
        workload_minutes_late:
          description: Amount of time spent on the incident in late hours
          example: 40.7
          format: double
          type: number
        workload_minutes_sleeping:
          description: Amount of time spent on the incident in sleeping hours
          example: 0
          format: double
          type: number
        workload_minutes_total:
          description: Amount of time spent on the incident in total
          example: 60.7
          format: double
          type: number
        workload_minutes_working:
          description: Amount of time spent on the incident in working hours
          example: 20
          format: double
          type: number
      required:
        - incident_status
        - id
        - reference
        - name
        - visibility
        - mode
        - creator
        - incident_role_assignments
        - custom_field_entries
        - slack_team_id
        - slack_channel_id
        - created_at
        - updated_at
      type: object
    PaginationMetaResultWithTotalV2:
      example:
        after: 01FCNDV6P870EA6S7TK1DSYDG0
        page_size: 25
        total_record_count: 238
      properties:
        after:
          description: If provided, pass this as the 'after' param to load the next page
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        page_size:
          default: 25
          description: What was the maximum number of results requested
          example: 25
          format: int64
          maximum: 250
          type: integer
        total_record_count:
          description: How many matching records were there in total, if known
          example: 238
          format: int64
          type: integer
      required:
        - page_size
      type: object
    ActorV2:
      example:
        alert:
          id: 01GW2G3V0S59R238FAHPDS1R66
          title: '*errors.withMessage: PG::Error failed to connect'
        api_key:
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          name: My test API key
        user:
          email: lisa@incident.io
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          name: Lisa Karlin Curtis
          role: owner
          slack_user_id: U02AYNF2XJM
        workflow:
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          name: My little workflow
      properties:
        alert:
          $ref: '#/components/schemas/AlertActorV2'
        api_key:
          $ref: '#/components/schemas/APIKeyActorV2'
        user:
          $ref: '#/components/schemas/UserV2'
        workflow:
          $ref: '#/components/schemas/WorkflowActorV2'
      type: object
    CustomFieldEntryV2:
      example:
        custom_field:
          description: Which team is impacted by this issue
          field_type: single_select
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          name: Affected Team
          options:
            - custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              sort_key: 10
              value: Product
        values:
          - value_catalog_entry:
              aliases:
                - lawrence@incident.io
                - lawrence
              external_id: 761722cd-d1d7-477b-ac7e-90f9e079dc33
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              name: Primary On-call
            value_link: https://google.com/
            value_numeric: '123.456'
            value_option:
              custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              sort_key: 10
              value: Product
            value_text: This is my text field, I hope you like it
      properties:
        custom_field:
          $ref: '#/components/schemas/CustomFieldTypeInfoV2'
        values:
          description: List of custom field values set on this entry
          example:
            - value_catalog_entry:
                aliases:
                  - lawrence@incident.io
                  - lawrence
                external_id: 761722cd-d1d7-477b-ac7e-90f9e079dc33
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                name: Primary On-call
              value_link: https://google.com/
              value_numeric: '123.456'
              value_option:
                custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
                id: 01FCNDV6P870EA6S7TK1DSYDG0
                sort_key: 10
                value: Product
              value_text: This is my text field, I hope you like it
          items:
            $ref: '#/components/schemas/CustomFieldValueV2'
          type: array
      required:
        - custom_field
        - values
      type: object
    IncidentDurationMetricWithValueV2:
      example:
        duration_metric:
          id: 01FCNDV6P870EA6S7TK1DSYD5H
          name: Lasted
        value_seconds: 10800
      properties:
        duration_metric:
          $ref: '#/components/schemas/IncidentDurationMetricV2'
        value_seconds:
          description: The calculated durations for this metric
          example: 10800
          format: int64
          type: integer
      required:
        - duration_metric
      type: object
    ExternalIssueReferenceV2:
      example:
        issue_name: INC-123
        issue_permalink: >-
          https://linear.app/incident-io/issue/INC-1609/find-copywriter-to-write-up
        provider: asana
      properties:
        issue_name:
          description: Human readable ID for the issue
          example: INC-123
          type: string
        issue_permalink:
          description: URL linking directly to the action in the issue tracker
          example: >-
            https://linear.app/incident-io/issue/INC-1609/find-copywriter-to-write-up
          type: string
        provider:
          description: ID of the issue tracker provider
          enum:
            - asana
            - azure_devops
            - click_up
            - linear
            - jira
            - jira_server
            - github
            - gitlab
            - service_now
            - shortcut
          example: asana
          type: string
      required:
        - provider
        - issue_name
        - issue_permalink
      type: object
    IncidentRoleAssignmentV2:
      example:
        assignee:
          email: lisa@incident.io
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          name: Lisa Karlin Curtis
          role: owner
          slack_user_id: U02AYNF2XJM
        role:
          created_at: '2021-08-17T13:28:57.801578Z'
          description: The person currently coordinating the incident
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          instructions: >-
            Take point on the incident; Make sure people are clear on
            responsibilities
          name: Incident Lead
          required: false
          role_type: lead
          shortform: lead
          updated_at: '2021-08-17T13:28:57.801578Z'
      properties:
        assignee:
          $ref: '#/components/schemas/UserV2'
        role:
          $ref: '#/components/schemas/EmbeddedIncidentRoleV2'
      required:
        - role
      type: object
    IncidentStatusV2:
      example:
        category: triage
        created_at: '2021-08-17T13:28:57.801578Z'
        description: >-
          Impact has been **fully mitigated**, and we're ready to learn from
          this incident.
        id: 01FCNDV6P870EA6S7TK1DSYD5H
        name: Closed
        rank: 4
        updated_at: '2021-08-17T13:28:57.801578Z'
      properties:
        category:
          description: >-
            What category of status it is. All statuses apart from live (renamed
            in the app to Active) and learning (renamed in the app to
            Post-incident) are managed by incident.io and cannot be configured
          enum:
            - triage
            - declined
            - merged
            - canceled
            - live
            - learning
            - closed
            - paused
          example: triage
          type: string
        created_at:
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
        description:
          description: Rich text description of the incident status
          example: >-
            Impact has been **fully mitigated**, and we're ready to learn from
            this incident.
          type: string
        id:
          description: Unique ID of this incident status
          example: 01FCNDV6P870EA6S7TK1DSYD5H
          type: string
        name:
          description: Unique name of this status
          example: Closed
          type: string
        rank:
          description: Order of this incident status
          example: 4
          format: int64
          type: integer
        updated_at:
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
      required:
        - id
        - name
        - description
        - rank
        - category
        - created_at
        - updated_at
      type: object
    IncidentTimestampWithValueV2:
      example:
        incident_timestamp:
          id: 01FCNDV6P870EA6S7TK1DSYD5H
          name: Impact started
          rank: 1
        value:
          value: '2021-08-17T13:28:57.801578Z'
      properties:
        incident_timestamp:
          $ref: '#/components/schemas/IncidentTimestampV2'
        value:
          $ref: '#/components/schemas/IncidentTimestampValueV2'
      required:
        - incident_timestamp
      type: object
    IncidentTypeV2:
      example:
        create_in_triage: always
        created_at: '2021-08-17T13:28:57.801578Z'
        description: Customer facing production outages
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        is_default: false
        name: Production Outage
        private_incidents_only: false
        updated_at: '2021-08-17T13:28:57.801578Z'
      properties:
        create_in_triage:
          description: >-
            Whether incidents of this must always, or can optionally, be created
            in triage
          enum:
            - always
            - optional
          example: always
          type: string
        created_at:
          description: When this resource was created
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
        description:
          description: What is this incident type for?
          example: Customer facing production outages
          type: string
        id:
          description: Unique identifier for this Incident Type
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        is_default:
          description: >-
            The default Incident Type is used when no other type is explicitly
            specified
          example: false
          type: boolean
        name:
          description: The name of this Incident Type
          example: Production Outage
          type: string
        private_incidents_only:
          description: Should all incidents created with this Incident Type be private?
          example: false
          type: boolean
        updated_at:
          description: When this resource was last updated
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
      required:
        - id
        - name
        - is_default
        - description
        - private_incidents_only
        - created_at
        - updated_at
        - create_in_triage
      type: object
    SeverityV2:
      example:
        created_at: '2021-08-17T13:28:57.801578Z'
        description: Issues with **low impact**.
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        name: Minor
        rank: 1
        updated_at: '2021-08-17T13:28:57.801578Z'
      properties:
        created_at:
          description: When the action was created
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
        description:
          description: Description of the severity
          example: Issues with **low impact**.
          type: string
        id:
          description: Unique identifier of the severity
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        name:
          description: Human readable name of the severity
          example: Minor
          maxLength: 50
          type: string
        rank:
          description: Rank to help sort severities (lower numbers are less severe)
          example: 1
          format: int64
          type: integer
        updated_at:
          description: When the action was last updated
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
      required:
        - id
        - name
        - description
        - rank
        - created_at
        - updated_at
      type: object
    AlertActorV2:
      example:
        id: 01GW2G3V0S59R238FAHPDS1R66
        title: '*errors.withMessage: PG::Error failed to connect'
      properties:
        id:
          description: The ID of this alert
          example: 01GW2G3V0S59R238FAHPDS1R66
          type: string
        title:
          description: >-
            The title of the alert, parsed from the alert payload according to
            the alert source configuration
          example: '*errors.withMessage: PG::Error failed to connect'
          type: string
      required:
        - id
        - title
      type: object
    APIKeyActorV2:
      example:
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        name: My test API key
      properties:
        id:
          description: Unique identifier for this API key
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        name:
          description: The name of the API key, for the user's reference
          example: My test API key
          type: string
      required:
        - id
        - name
      type: object
    UserV2:
      example:
        email: lisa@incident.io
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        name: Lisa Karlin Curtis
        role: owner
        slack_user_id: U02AYNF2XJM
      properties:
        email:
          description: Email address of the user.
          example: lisa@incident.io
          type: string
        id:
          description: Unique identifier of the user
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        name:
          description: Name of the user
          example: Lisa Karlin Curtis
          type: string
        role:
          description: >-
            DEPRECATED: Role of the user as of March 9th 2023, this value is no
            longer updated.
          enum:
            - viewer
            - responder
            - administrator
            - owner
            - unset
          example: owner
          type: string
        slack_user_id:
          description: Slack ID of the user
          example: U02AYNF2XJM
          type: string
      required:
        - role
        - id
        - name
      type: object
    WorkflowActorV2:
      example:
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        name: My little workflow
      properties:
        id:
          description: Unique identifier for the workflow
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        name:
          description: Name provided by the user when creating the workflow
          example: My little workflow
          type: string
      required:
        - id
        - name
      type: object
    CustomFieldTypeInfoV2:
      example:
        description: Which team is impacted by this issue
        field_type: single_select
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        name: Affected Team
        options:
          - custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
            id: 01FCNDV6P870EA6S7TK1DSYDG0
            sort_key: 10
            value: Product
      properties:
        description:
          description: Description of the custom field
          example: Which team is impacted by this issue
          type: string
        field_type:
          description: Type of custom field
          enum:
            - single_select
            - multi_select
            - text
            - link
            - numeric
          example: single_select
          type: string
        id:
          description: Unique identifier for the custom field
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        name:
          description: Human readable name for the custom field
          example: Affected Team
          maxLength: 50
          type: string
        options:
          description: >-
            What options are available for this custom field, if this field has
            options
          example:
            - custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
              id: 01FCNDV6P870EA6S7TK1DSYDG0
              sort_key: 10
              value: Product
          items:
            $ref: '#/components/schemas/CustomFieldOptionV2'
          type: array
      required:
        - id
        - name
        - description
        - field_type
        - options
      type: object
    CustomFieldValueV2:
      example:
        value_catalog_entry:
          aliases:
            - lawrence@incident.io
            - lawrence
          external_id: 761722cd-d1d7-477b-ac7e-90f9e079dc33
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          name: Primary On-call
        value_link: https://google.com/
        value_numeric: '123.456'
        value_option:
          custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
          id: 01FCNDV6P870EA6S7TK1DSYDG0
          sort_key: 10
          value: Product
        value_text: This is my text field, I hope you like it
      properties:
        value_catalog_entry:
          $ref: '#/components/schemas/EmbeddedCatalogEntryV2'
        value_link:
          description: >-
            If the custom field type is 'link', this will contain the value
            assigned.
          example: https://google.com/
          type: string
        value_numeric:
          description: >-
            If the custom field type is 'numeric', this will contain the value
            assigned.
          example: '123.456'
          type: string
        value_option:
          $ref: '#/components/schemas/CustomFieldOptionV2'
        value_text:
          description: >-
            If the custom field type is 'text', this will contain the value
            assigned.
          example: This is my text field, I hope you like it
          type: string
      type: object
    IncidentDurationMetricV2:
      example:
        id: 01FCNDV6P870EA6S7TK1DSYD5H
        name: Lasted
      properties:
        id:
          description: Unique ID of this incident duration metric
          example: 01FCNDV6P870EA6S7TK1DSYD5H
          type: string
        name:
          description: Unique name of this duration metric
          example: Lasted
          type: string
      required:
        - id
        - name
      type: object
    EmbeddedIncidentRoleV2:
      example:
        created_at: '2021-08-17T13:28:57.801578Z'
        description: The person currently coordinating the incident
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        instructions: >-
          Take point on the incident; Make sure people are clear on
          responsibilities
        name: Incident Lead
        required: false
        role_type: lead
        shortform: lead
        updated_at: '2021-08-17T13:28:57.801578Z'
      properties:
        created_at:
          description: When the role was created
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
        description:
          description: Describes the purpose of the role
          example: The person currently coordinating the incident
          minLength: 1
          type: string
        id:
          description: Unique identifier for the role
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        instructions:
          description: >-
            Provided to whoever is nominated for the role. Note that this will
            be empty for the 'reporter' role.
          example: >-
            Take point on the incident; Make sure people are clear on
            responsibilities
          type: string
        name:
          description: Human readable name of the incident role
          example: Incident Lead
          minLength: 1
          type: string
        required:
          description: This field is deprecated.
          example: false
          type: boolean
        role_type:
          description: Type of incident role
          enum:
            - lead
            - reporter
            - custom
          example: lead
          type: string
        shortform:
          description: >-
            Short human readable name for Slack. Note that this will be empty
            for the 'reporter' role.
          example: lead
          type: string
        updated_at:
          description: When the role was last updated
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
      required:
        - name
        - shortform
        - description
        - instructions
        - id
        - role_type
        - created_at
        - updated_at
      type: object
    IncidentTimestampV2:
      properties:
        id:
          description: Unique ID of this incident timestamp
          example: 01FCNDV6P870EA6S7TK1DSYD5H
          type: string
        name:
          description: Unique name of this timestamp
          example: Impact started
          type: string
        rank:
          description: Order in which this timestamp should be shown
          example: 1
          format: int64
          type: integer
      required:
        - id
        - name
        - rank
      type: object
    IncidentTimestampValueV2:
      example:
        value: '2021-08-17T13:28:57.801578Z'
      properties:
        value:
          description: The current value of this timestamp, for this incident
          example: '2021-08-17T13:28:57.801578Z'
          format: date-time
          type: string
      type: object
    CustomFieldOptionV2:
      example:
        custom_field_id: 01FCNDV6P870EA6S7TK1DSYDG0
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        sort_key: 10
        value: Product
      properties:
        custom_field_id:
          description: ID of the custom field this option belongs to
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        id:
          description: Unique identifier for the custom field option
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        sort_key:
          default: 1000
          description: Sort key used to order the custom field options correctly
          example: 10
          format: int64
          type: integer
        value:
          description: >-
            Human readable name for the custom field option. Values must not
            start or end with whitespace, or contain tabs or newlines.
          example: Product
          type: string
      required:
        - id
        - custom_field_id
        - value
        - sort_key
      type: object
    EmbeddedCatalogEntryV2:
      example:
        aliases:
          - lawrence@incident.io
          - lawrence
        external_id: 761722cd-d1d7-477b-ac7e-90f9e079dc33
        id: 01FCNDV6P870EA6S7TK1DSYDG0
        name: Primary On-call
      properties:
        aliases:
          description: Optional aliases that can be used to reference this entry
          example:
            - lawrence@incident.io
            - lawrence
          items:
            example: abc123
            type: string
          type: array
        external_id:
          description: >-
            An optional alternative ID for this entry, which is ensured to be
            unique for the type
          example: 761722cd-d1d7-477b-ac7e-90f9e079dc33
          type: string
        id:
          description: ID of this catalog entry
          example: 01FCNDV6P870EA6S7TK1DSYDG0
          type: string
        name:
          description: Name is the human readable name of this entry
          example: Primary On-call
          type: string
      required:
        - id
        - name
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: API key from your incident.io dashboard (Settings → API keys)

````