PagerDuty Log Entries API

A log of all the events that happen to an Incident, and these are exposed as Log Entries.

OpenAPI Specification

pagerduty-log-entries-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  description: 'This document describes the PagerDuty REST APIs.


    For guides and examples please visit our [Documentation.](https://developer.pagerduty.com/docs/get-started/getting-started/)


    Our REST APIs are defined in OpenAPI v3.x. You can view the schema at [github.com/PagerDuty/api-schema](https://github.com/PagerDuty/api-schema).


    Note that properties in some schemas have fields not shown by default such as `readOnly`, `format`, and `default`. Hover your cursor over the right column that looks like `optional+1` to see the full list of fields.

    '
  contact:
    name: PagerDuty Support
    url: http://www.pagerduty.com/support
    email: support@pagerduty.com
  title: PagerDuty Abilities Log Entries API
  version: 2.0.0
servers:
- url: https://api.pagerduty.com
  description: PagerDuty V2 API.
security:
- api_key: []
tags:
- name: Log Entries
  description: 'A log of all the events that happen to an Incident, and these are exposed as Log Entries.

    '
paths:
  /log_entries:
    description: List all of the log entries across your account. These can be filtered (for instance, by time or by team), and the results will be paginated.
    get:
      x-pd-requires-scope: incidents.read
      tags:
      - Log Entries
      operationId: listLogEntries
      description: 'List all of the incident log entries across the entire account.


        A log of all the events that happen to an Incident, and these are exposed as Log Entries.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#log-entries)


        Scoped OAuth requires: `incidents.read`

        '
      summary: PagerDuty List log entries
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/offset_limit'
      - $ref: '#/components/parameters/offset_offset'
      - $ref: '#/components/parameters/offset_total'
      - $ref: '#/components/parameters/time_zone'
      - $ref: '#/components/parameters/since'
      - $ref: '#/components/parameters/until'
      - $ref: '#/components/parameters/log_entry_is_overview'
      - $ref: '#/components/parameters/include_log_entry'
      - $ref: '#/components/parameters/team_ids'
      responses:
        '200':
          description: A paginated array of log entries.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Pagination'
                - type: object
                  properties:
                    log_entries:
                      type: array
                      items:
                        oneOf:
                        - $ref: '#/components/schemas/AcknowledgeLogEntry'
                        - $ref: '#/components/schemas/AnnotateLogEntry'
                        - $ref: '#/components/schemas/AssignLogEntry'
                        - $ref: '#/components/schemas/DelegateLogEntry'
                        - $ref: '#/components/schemas/EscalateLogEntry'
                        - $ref: '#/components/schemas/ExhaustEscalationPathLogEntry'
                        - $ref: '#/components/schemas/NotifyLogEntry'
                        - $ref: '#/components/schemas/ReachAckLimitLogEntry'
                        - $ref: '#/components/schemas/ReachTriggerLimitLogEntry'
                        - $ref: '#/components/schemas/RepeatEscalationPathLogEntry'
                        - $ref: '#/components/schemas/ResolveLogEntry'
                        - $ref: '#/components/schemas/SnoozeLogEntry'
                        - $ref: '#/components/schemas/TriggerLogEntry'
                        - $ref: '#/components/schemas/UnacknowledgeLogEntry'
                        - $ref: '#/components/schemas/UrgencyChangeLogEntry'
                  required:
                  - log_entries
              examples:
                response:
                  summary: Response Example
                  value:
                    log_entries:
                    - id: Q02JTSNZWHSEKV
                      type: trigger_log_entry
                      summary: Triggered through the API
                      self: https://api.pagerduty.com/log_entries/Q02JTSNZWHSEKV?incident_id=PT4KHLK
                      html_url: https://subdomain.pagerduty.com/incidents/PT4KHLK/log_entries/Q02JTSNZWHSEKV
                      created_at: '2015-11-07T00:14:20Z'
                      agent:
                        id: PIJ90N7
                        type: service_reference
                        summary: My Mail Service
                        self: https://api.pagerduty.com/services/PIJ90N7
                        html_url: https://subdomain.pagerduty.com/service-directory/PIJ90N7
                      channel:
                        type: api
                      incident:
                        id: PT4KHLK
                        type: incident_reference
                        summary: '[#1234] The server is on fire.'
                        self: https://api.pagerduty.com/incidents/PT4KHLK
                        html_url: https://subdomain.pagerduty.com/incidents/PT4KHLK
                      teams:
                      - id: PQ9K7I8
                        type: team_reference
                        summary: Engineering
                        self: https://api.pagerduty.com/teams/PQ9K7I8
                        html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8
                      contexts: []
                      event_details:
                        description: Tasks::SFDCValidator - PD_Data__c - duplicates
                    limit: 1
                    offset: 0
                    more: true
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /log_entries/{id}:
    description: Get a single log entry by ID.
    get:
      x-pd-requires-scope: incidents.read
      tags:
      - Log Entries
      operationId: getLogEntry
      description: 'Get details for a specific incident log entry. This method provides additional information you can use to get at raw event data.


        A log of all the events that happen to an Incident, and these are exposed as Log Entries.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#log-entries)


        Scoped OAuth requires: `incidents.read`

        '
      summary: PagerDuty Get a log entry
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/time_zone'
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/include_log_entry'
      responses:
        '200':
          description: A single log entry.
          content:
            application/json:
              schema:
                type: object
                properties:
                  log_entry:
                    oneOf:
                    - $ref: '#/components/schemas/AcknowledgeLogEntry'
                    - $ref: '#/components/schemas/AnnotateLogEntry'
                    - $ref: '#/components/schemas/AssignLogEntry'
                    - $ref: '#/components/schemas/DelegateLogEntry'
                    - $ref: '#/components/schemas/EscalateLogEntry'
                    - $ref: '#/components/schemas/ExhaustEscalationPathLogEntry'
                    - $ref: '#/components/schemas/NotifyLogEntry'
                    - $ref: '#/components/schemas/ReachAckLimitLogEntry'
                    - $ref: '#/components/schemas/ReachTriggerLimitLogEntry'
                    - $ref: '#/components/schemas/RepeatEscalationPathLogEntry'
                    - $ref: '#/components/schemas/ResolveLogEntry'
                    - $ref: '#/components/schemas/SnoozeLogEntry'
                    - $ref: '#/components/schemas/TriggerLogEntry'
                    - $ref: '#/components/schemas/UnacknowledgeLogEntry'
                    - $ref: '#/components/schemas/UrgencyChangeLogEntry'
                required:
                - log_entry
              examples:
                response:
                  summary: Response Example
                  value:
                    log_entry:
                      id: Q02JTSNZWHSEKV
                      type: trigger_log_entry
                      summary: Triggered through the API
                      self: https://api.pagerduty.com/log_entries/Q02JTSNZWHSEKV?incident_id=PT4KHLK
                      html_url: https://subdomain.pagerduty.com/incidents/PT4KHLK/log_entries/Q02JTSNZWHSEKV
                      created_at: '2015-11-07T00:14:20Z'
                      agent:
                        id: PIJ90N7
                        type: service_reference
                        summary: My Mail Service
                        self: https://api.pagerduty.com/services/PIJ90N7
                        html_url: https://subdomain.pagerduty.com/service-directory/PIJ90N7
                      channel:
                        type: api
                      incident:
                        id: PT4KHLK
                        type: incident_reference
                        summary: '[#1234] The server is on fire.'
                        self: https://api.pagerduty.com/incidents/PT4KHLK
                        html_url: https://subdomain.pagerduty.com/incidents/PT4KHLK
                      teams:
                      - id: PQ9K7I8
                        type: team_reference
                        summary: Engineering
                        self: https://api.pagerduty.com/teams/PQ9K7I8
                        html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8
                      contexts: []
                      event_details:
                        description: Tasks::SFDCValidator - PD_Data__c - duplicates
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /log_entries/{id}/channel:
    description: Log entry channel information.
    put:
      x-pd-requires-scope: incidents.write
      tags:
      - Log Entries
      operationId: updateLogEntryChannel
      description: 'Update an existing incident log entry channel.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#log-entries)


        Scoped OAuth requires: `incidents.write`

        '
      summary: PagerDuty Update log entry channel information.
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/from_header'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                channel:
                  type: object
                  description: The parameters to update.
                  properties:
                    details:
                      type: string
                      description: New channel details
                    type:
                      type: string
                      description: Channel type. Cannot be changed and must match the present value.
                      enum:
                      - web_trigger
                      - mobile
                  required:
                  - type
                  - details
              required:
              - channel
            examples:
              request:
                summary: Request Example
                value:
                  channel:
                    type: web_trigger
                    details: New channel details
        description: The log entry channel to be updated.
      responses:
        '202':
          description: The channel information modification was accepted.
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    log_entry_is_overview:
      name: is_overview
      in: query
      description: If `true`, will return a subset of log entries that show only the most important changes to the incident.
      required: false
      schema:
        type: boolean
        default: false
    team_ids:
      name: team_ids[]
      in: query
      description: An array of team IDs. Only results related to these teams will be returned. Account must have the `teams` ability to use this parameter.
      explode: true
      schema:
        type: array
        items:
          type: string
        uniqueItems: true
    include_log_entry:
      name: include[]
      in: query
      description: Array of additional Models to include in response.
      explode: true
      schema:
        type: string
        enum:
        - incidents
        - services
        - channels
        - teams
        uniqueItems: true
    from_header:
      name: From
      in: header
      description: The email address of a valid user associated with the account making the request.
      required: true
      schema:
        type: string
        format: email
    offset_offset:
      name: offset
      in: query
      required: false
      description: Offset to start pagination search results.
      schema:
        type: integer
    header_Accept:
      name: Accept
      description: The `Accept` header is used as a versioning header.
      in: header
      required: true
      schema:
        type: string
        default: application/vnd.pagerduty+json;version=2
    header_Content-Type:
      name: Content-Type
      in: header
      required: true
      schema:
        type: string
        default: application/json
        enum:
        - application/json
    time_zone:
      name: time_zone
      in: query
      description: Time zone in which results will be rendered. This will default to the account time zone.
      schema:
        type: string
        format: tzinfo
    until:
      name: until
      in: query
      description: The end of the date range over which you want to search.
      schema:
        type: string
        format: date-time
    id:
      name: id
      description: The ID of the resource.
      in: path
      required: true
      schema:
        type: string
    offset_total:
      name: total
      in: query
      required: false
      description: 'By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.


        See our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.

        '
      schema:
        default: false
        type: boolean
    offset_limit:
      name: limit
      in: query
      required: false
      description: The number of results per page.
      schema:
        type: integer
    since:
      name: since
      in: query
      description: The start of the date range over which you want to search.
      schema:
        type: string
        format: date-time
  schemas:
    ReachAckLimitLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          type:
            type: string
            enum:
            - reach_ack_limit_log_entry
    NotifyLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          created_at:
            type: string
            format: date-time
            readOnly: true
            description: Time at which the log entry was created
          user:
            $ref: '#/components/schemas/UserReference'
          type:
            type: string
            enum:
            - notify_log_entry
    ResolveLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          type:
            type: string
            enum:
            - resolve_log_entry
    TeamReference:
      allOf:
      - $ref: '#/components/schemas/Reference'
      - type: object
        properties:
          type:
            type: string
            enum:
            - team_reference
    UnacknowledgeLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          type:
            type: string
            enum:
            - unacknowledge_log_entry
    Notification:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        type:
          type: string
          description: The type of notification.
          enum:
          - sms_notification
          - email_notification
          - phone_notification
          - push_notification
          readOnly: true
        started_at:
          type: string
          format: date-time
          description: The time at which the notification was sent
          readOnly: true
        address:
          type: string
          description: The address where the notification was sent. This will be null for notification type `push_notification`.
          readOnly: true
        user:
          $ref: '#/components/schemas/UserReference'
        conferenceAddress:
          type: string
          description: The address of the conference bridge
        status:
          type: string
        ? ''
        : type: string
    Context:
      type: object
      discriminator:
        propertyName: type
      properties:
        type:
          type: string
          description: The type of context being attached to the incident.
          enum:
          - link
          - image
        href:
          type: string
          description: The link's target url
        src:
          type: string
          description: The image's source url
        text:
          type: string
          description: The alternate display for an image
      required:
      - type
    ReachTriggerLimitLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          type:
            type: string
            enum:
            - reach_trigger_limit_log_entry
    IncidentReference:
      allOf:
      - $ref: '#/components/schemas/Reference'
      - type: object
        properties:
          type:
            type: string
            enum:
            - incident_reference
    UserReference:
      allOf:
      - $ref: '#/components/schemas/Reference'
      - type: object
        properties:
          type:
            type: string
            enum:
            - user_reference
    ExhaustEscalationPathLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          type:
            type: string
            enum:
            - exhaust_escalation_path_log_entry
    DelegateLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          assignees:
            type: array
            readOnly: true
            description: An array of assigned Users for this log entry
            items:
              $ref: '#/components/schemas/UserReference'
          type:
            type: string
            enum:
            - delegate_log_entry
    AcknowledgeLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          acknowledgement_timeout:
            type: integer
            description: Duration for which the acknowledgement lasts, in seconds. Services can contain an `acknowledgement_timeout` property, which specifies the length of time acknowledgements should last for. Each time an incident is acknowledged, this timeout is copied into the acknowledgement log entry. This property is optional, as older log entries may not contain it. It may also be `null`, as acknowledgements can be performed on incidents whose services have no `acknowledgement_timeout` set.
          type:
            type: string
            enum:
            - acknowledgement_log_entry
    Reference:
      allOf:
      - $ref: '#/components/schemas/Tag/allOf/0'
      - type: object
        required:
        - type
        - id
    LogEntry:
      allOf:
      - $ref: '#/components/schemas/Tag/allOf/0'
      - type: object
        properties:
          type:
            type: string
            enum:
            - acknowledge_log_entry
            - annotate_log_entry
            - assign_log_entry
            - delegate_log_entry
            - escalate_log_entry
            - exhaust_escalation_path_log_entry
            - notify_log_entry
            - reach_ack_limit_log_entry
            - reach_trigger_limit_log_entry
            - repeat_escalation_path_log_entry
            - resolve_log_entry
            - snooze_log_entry
            - trigger_log_entry
            - unacknowledge_log_entry
            - urgency_change_log_entry
          created_at:
            type: string
            format: date-time
            readOnly: true
            description: Time at which the log entry was created.
          channel:
            $ref: '#/components/schemas/Channel'
          agent:
            $ref: '#/components/schemas/AgentReference'
          note:
            type: string
            readOnly: true
            description: Optional field containing a note, if one was included with the log entry.
          contexts:
            type: array
            readOnly: true
            description: Contexts to be included with the trigger such as links to graphs or images.
            items:
              $ref: '#/components/schemas/Context'
          service:
            $ref: '#/components/schemas/ServiceReference'
          incident:
            $ref: '#/components/schemas/IncidentReference'
          teams:
            type: array
            readOnly: true
            description: Will consist of references unless included
            items:
              $ref: '#/components/schemas/TeamReference'
          event_details:
            type: object
            readOnly: true
            properties:
              description:
                type: string
                description: Additional details about the event.
    UrgencyChangeLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          type:
            type: string
            enum:
            - urgency_change_log_entry
    Channel:
      type: object
      description: Polymorphic object representation of the means by which the action was channeled. Has different formats depending on type, indicated by channel[type]. Will be one of `auto`, `email`, `api`, `nagios`, or `timeout` if `agent[type]` is `service`. Will be one of `email`, `sms`, `website`, `web_trigger`, or `note` if `agent[type]` is `user`. See [below](https://developer.pagerduty.com/documentation/rest/log_entries/show#channel_types) for detailed information about channel formats.
      properties:
        type:
          type: string
          description: type
        user:
          type: object
        team:
          type: object
        notification:
          $ref: '#/components/schemas/Notification'
        channel:
          type: object
          description: channel
      required:
      - type
    EscalateLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          assignees:
            type: array
            readOnly: true
            description: An array of assigned Users for this log entry
            items:
              $ref: '#/components/schemas/UserReference'
          type:
            type: string
            enum:
            - escalate_log_entry
    RepeatEscalationPathLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          type:
            type: string
            enum:
            - repeat_escalation_path_log_entry
    ServiceReference:
      allOf:
      - $ref: '#/components/schemas/Reference'
      - type: object
        properties:
          type:
            type: string
            enum:
            - service_reference
    AgentReference:
      allOf:
      - $ref: '#/components/schemas/Reference'
      - type: object
        description: The agent (user, service or integration) that created or modified the Incident Log Entry.
        properties:
          type:
            enum:
            - user_reference
            - service_reference
            - integration_reference
            type: string
        readOnly: true
    SnoozeLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          changed_actions:
            type: array
            items:
              $ref: '#/components/schemas/IncidentAction'
          type:
            type: string
            enum:
            - snooze_log_entry
    AssignLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          assignees:
            type: array
            readOnly: true
            description: An array of assigned Users for this log entry
            items:
              $ref: '#/components/schemas/UserReference'
          type:
            type: string
            enum:
            - assign_log_entry
    TriggerLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          type:
            type: string
            enum:
            - trigger_log_entry
    IncidentAction:
      description: An incident action is a pending change to an incident that will automatically happen at some future time.
      type: object
      properties:
        type:
          type: string
          enum:
          - unacknowledge
          - escalate
          - resolve
          - urgency_change
        at:
          type: string
          format: date-time
        to:
          description: The urgency that the incident will change to. This field is only present when the type is `urgency_change`.
          type: string
          enum:
          - high
      discriminator:
        propertyName: type
      required:
      - type
      - at
    Pagination:
      type: object
      properties:
        offset:
          type: integer
          description: Echoes offset pagination property.
          readOnly: true
        limit:
          type: integer
          description: Echoes limit pagination property.
          readOnly: true
        more:
          type: boolean
          description: Indicates if there are additional records to return
          readOnly: true
        total:
          type: integer
          description: The total number of records matching the given query.
          nullable: true
          readOnly: true
    AnnotateLogEntry:
      allOf:
      - $ref: '#/components/schemas/LogEntry'
      - type: object
        properties:
          type:
            type: string
            enum:
            - annotate_log_entry
    Tag:
      allOf:
      - type: object
        properties:
          id:
            type: string
            readOnly: true
          summary:
            type: string
            nullable: true
            readOnly: true
            description: A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier.
          type:
            type: string
            readOnly: true
            description: A string that determines the schema of the object. This must be the standard name for the entity, suffixed by `_reference` if the object is a reference.
          self:
            type: string
            nullable: true
            readOnly: true
            format: url
            description: the API show URL at which the object is accessible
          html_url:
            type: string
            nullable: true
            readOnly: true
            format: url
            description: a URL at which the entity is uniquely displayed in the Web app
      - type: object
        properties:
          type:
            type: string
            description: The type of object being created.
            default: tag
            enum:
            - tag
          label:
            type: string
            description: The label of the tag.
            maxLength: 191
        required:
        - label
        - type
        example:
          type: tag
          label: Batman
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
    Unauthorized:
      description: 'Caller did not supply credentials or did not provide the correct credentials.

        If you are using an API key, it may be invalid or your Authorization header may be malformed.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
    ArgumentError:
      description: Caller provided invalid arguments. Please review the response for error details. Retrying with the same arguments will *not* work.
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
    Conflict:
      description: The request conflicts with the current state of the server.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: integer
                    readOnly: true
                  message:
                    type: string
                    readOnly: true
                    description: Error message string
                  errors:
                    type: array
                    readOnly: true
                    items:
                      type: string
                      readOnly: true
                      description: Human-readable error details
                example:
                  message: Not Found
                  code: 2100
    TooManyRequests:
      description: Too many requests have been made, the rate limit has been reached.
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
    Forbidden:
      description: 'Caller is not authorized to view the requested resource.

        While your authentication is valid, the authenticated user or token does not have permission to perform this action.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header
      description: The API Key with format `Token token=<API_KEY>`