GlitchTip Issues API

The Issues API from GlitchTip — 17 operation(s) for issues.

OpenAPI Specification

glitchtip-issues-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: GlitchTip Accept Issues API
  version: 1.0.0
  description: ''
  contact:
    email: sales@glitchtip.com
    url: https://glitchtip.com/
  license:
    name: MIT
  x-api-id: glitchtip
servers:
- url: https://app.glitchtip.com
  description: GlitchTip production server
tags:
- name: Issues
paths:
  /api/0/issues/{issue_id}/comments/:
    get:
      operationId: apps_issue_events_api_comments_list_comments
      summary: List Comments
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: query
        name: limit
        schema:
          description: Number of results to return per page.
          title: Limit
          nullable: true
          type: integer
        required: false
        description: Number of results to return per page.
      - in: query
        name: cursor
        schema:
          description: The pagination cursor value.
          title: Cursor
          nullable: true
          type: string
        required: false
        description: The pagination cursor value.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/CommentSchema'
                title: Response
                type: array
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
    post:
      operationId: apps_issue_events_api_comments_add_comment
      summary: Add Comment
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentSchema'
      tags:
      - Issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCommentSchema'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/issues/{issue_id}/comments/{comment_id}/:
    put:
      operationId: apps_issue_events_api_comments_update_comment
      summary: Update Comment
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: path
        name: comment_id
        schema:
          title: Comment Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentSchema'
      tags:
      - Issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCommentSchema'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
    delete:
      operationId: apps_issue_events_api_comments_delete_comment
      summary: Delete Comment
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: path
        name: comment_id
        schema:
          title: Comment Id
          type: integer
        required: true
      responses:
        '204':
          description: No Content
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/issues/{issue_id}/events/:
    get:
      operationId: apps_issue_events_api_events_list_issue_event
      summary: List Issue Event
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: query
        name: limit
        schema:
          description: Number of results to return per page.
          title: Limit
          nullable: true
          type: integer
        required: false
        description: Number of results to return per page.
      - in: query
        name: cursor
        schema:
          description: The pagination cursor value.
          title: Cursor
          nullable: true
          type: string
        required: false
        description: The pagination cursor value.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IssueEventSchema'
                title: Response
                type: array
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/issues/{issue_id}/events/latest/:
    get:
      operationId: apps_issue_events_api_events_get_latest_issue_event
      summary: Get Latest Issue Event
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueEventDetailSchema'
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/issues/{issue_id}/events/{event_id}/:
    get:
      operationId: apps_issue_events_api_events_get_issue_event
      summary: Get Issue Event
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: path
        name: event_id
        schema:
          format: uuid
          title: Event Id
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueEventDetailSchema'
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/projects/{organization_slug}/{project_slug}/events/:
    get:
      operationId: apps_issue_events_api_events_list_project_issue_event
      summary: List Project Issue Event
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: project_slug
        schema:
          title: Project Slug
          type: string
        required: true
      - in: query
        name: limit
        schema:
          description: Number of results to return per page.
          title: Limit
          nullable: true
          type: integer
        required: false
        description: Number of results to return per page.
      - in: query
        name: cursor
        schema:
          description: The pagination cursor value.
          title: Cursor
          nullable: true
          type: string
        required: false
        description: The pagination cursor value.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IssueEventSchema'
                title: Response
                type: array
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/projects/{organization_slug}/{project_slug}/events/{event_id}/:
    get:
      operationId: apps_issue_events_api_events_get_project_issue_event
      summary: Get Project Issue Event
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: project_slug
        schema:
          title: Project Slug
          type: string
        required: true
      - in: path
        name: event_id
        schema:
          format: uuid
          title: Event Id
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueEventDetailSchema'
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/organizations/{organization_slug}/issues/{issue_id}/events/{event_id}/json/:
    get:
      operationId: apps_issue_events_api_events_get_event_json
      summary: Get Event Json
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: path
        name: event_id
        schema:
          format: uuid
          title: Event Id
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueEventJsonSchema'
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/issues/{issue_id}/:
    get:
      operationId: apps_issue_events_api_issues_get_issue
      summary: Get Issue
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueDetailSchema'
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
    put:
      operationId: apps_issue_events_api_issues_update_issue
      summary: Update Issue
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueDetailSchema'
      tags:
      - Issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateIssueSchema'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
    delete:
      operationId: apps_issue_events_api_issues_delete_issue
      summary: Delete Issue
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      responses:
        '204':
          description: No Content
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/issues/{issue_id}/commits/:
    get:
      operationId: apps_issue_events_api_issues_list_issue_commits
      summary: List Issue Commits
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/CommitSchema'
                title: Response
                type: array
      description: Return commits from the release where this issue first appeared.
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/organizations/{organization_slug}/issues/{issue_id}/:
    put:
      operationId: apps_issue_events_api_issues_update_organization_issue
      summary: Update Organization Issue
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueDetailSchema'
      tags:
      - Issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateIssueSchema'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/organizations/{organization_slug}/issues/:
    get:
      operationId: apps_issue_events_api_issues_list_issues
      summary: List Issues
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: query
        name: id
        schema:
          title: Id
          nullable: true
          items:
            type: integer
          type: array
        required: false
      - in: query
        name: start
        schema:
          title: Start
          nullable: true
          format: date-time
          type: string
        required: false
      - in: query
        name: end
        schema:
          title: End
          nullable: true
          format: date-time
          type: string
        required: false
      - in: query
        name: project
        schema:
          title: Project
          nullable: true
          items:
            type: integer
          type: array
        required: false
      - in: query
        name: environment
        schema:
          title: Environment
          nullable: true
          items:
            type: string
          type: array
        required: false
      - in: query
        name: query
        schema:
          title: Query
          nullable: true
          type: string
        required: false
      - in: query
        name: sort
        schema:
          default: -last_seen
          enum:
          - last_seen
          - first_seen
          - count
          - priority
          - -last_seen
          - -first_seen
          - -count
          - -priority
          title: Sort
          type: string
        required: false
      - in: query
        name: limit
        schema:
          description: Number of results to return per page.
          title: Limit
          nullable: true
          type: integer
        required: false
        description: Number of results to return per page.
      - in: query
        name: cursor
        schema:
          description: The pagination cursor value.
          title: Cursor
          nullable: true
          type: string
        required: false
        description: The pagination cursor value.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IssueSchema'
                title: Response
                type: array
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
    delete:
      operationId: apps_issue_events_api_issues_delete_issues
      summary: Delete Issues
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: query
        name: id
        schema:
          title: Id
          nullable: true
          items:
            type: integer
          type: array
        required: false
      - in: query
        name: start
        schema:
          title: Start
          nullable: true
          format: date-time
          type: string
        required: false
      - in: query
        name: end
        schema:
          title: End
          nullable: true
          format: date-time
          type: string
        required: false
      - in: query
        name: project
        schema:
          title: Project
          nullable: true
          items:
            type: integer
          type: array
        required: false
      - in: query
        name: environment
        schema:
          title: Environment
          nullable: true
          items:
            type: string
          type: array
        required: false
      - in: query
        name: query
        schema:
          title: Query
          nullable: true
          type: string
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateIssueSchema'
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
    put:
      operationId: apps_issue_events_api_issues_update_issues
      summary: Update Issues
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: query
        name: id
        schema:
          title: Id
          nullable: true
          items:
            type: integer
          type: array
        required: false
      - in: query
        name: start
        schema:
          title: Start
          nullable: true
          format: date-time
          type: string
        required: false
      - in: query
        name: end
        schema:
          title: End
          nullable: true
          format: date-time
          type: string
        required: false
      - in: query
        name: project
        schema:
          title: Project
          nullable: true
          items:
            type: integer
          type: array
        required: false
      - in: query
        name: environment
        schema:
          title: Environment
          nullable: true
          items:
            type: string
          type: array
        required: false
      - in: query
        name: query
        schema:
          title: Query
          nullable: true
          type: string
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateIssueSchema'
      tags:
      - Issues
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateIssueSchema'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/projects/{organization_slug}/{project_slug}/issues/:
    get:
      operationId: apps_issue_events_api_issues_list_project_issues
      summary: List Project Issues
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: project_slug
        schema:
          title: Project Slug
          type: string
        required: true
      - in: query
        name: id
        schema:
          title: Id
          nullable: true
          items:
            type: integer
          type: array
        required: false
      - in: query
        name: start
        schema:
          title: Start
          nullable: true
          format: date-time
          type: string
        required: false
      - in: query
        name: end
        schema:
          title: End
          nullable: true
          format: date-time
          type: string
        required: false
      - in: query
        name: project
        schema:
          title: Project
          nullable: true
          items:
            type: integer
          type: array
        required: false
      - in: query
        name: environment
        schema:
          title: Environment
          nullable: true
          items:
            type: string
          type: array
        required: false
      - in: query
        name: query
        schema:
          title: Query
          nullable: true
          type: string
        required: false
      - in: query
        name: sort
        schema:
          default: -last_seen
          enum:
          - last_seen
          - first_seen
          - count
          - priority
          - -last_seen
          - -first_seen
          - -count
          - -priority
          title: Sort
          type: string
        required: false
      - in: query
        name: limit
        schema:
          description: Number of results to return per page.
          title: Limit
          nullable: true
          type: integer
        required: false
        description: Number of results to return per page.
      - in: query
        name: cursor
        schema:
          description: The pagination cursor value.
          title: Cursor
          nullable: true
          type: string
        required: false
        description: The pagination cursor value.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IssueSchema'
                title: Response
                type: array
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/issues/{issue_id}/tags/:
    get:
      operationId: apps_issue_events_api_issues_list_issue_tags
      summary: List Issue Tags
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: query
        name: key
        schema:
          title: Key
          nullable: true
          type: string
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IssueTagSchema'
                title: Response
                type: array
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/organizations/{organization_slug}/issues-stats/:
    get:
      operationId: apps_issue_events_api_issues_issue_stats
      summary: Retrieve Statistics for a Set of Issues
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: query
        name: groups
        schema:
          items:
            type: integer
          title: Groups
          type: array
        required: true
      - in: query
        name: statsPeriod
        schema:
          default: 24h
          enum:
          - 14d
          - 24h
          title: Statsperiod
          type: string
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IssueStatsResponse'
                title: Response
                type: array
      description: 'Retrieves aggregated statistics for a given list of issue groups.


        This endpoint returns data for the last 24 hours, formatted as a series of

        [timestamp, count] pairs.'
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/issues/{issue_id}/user-reports/:
    get:
      operationId: apps_issue_events_api_user_reports_list_user_reports
      summary: List User Reports
      parameters:
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: query
        name: limit
        schema:
          description: Number of results to return per page.
          title: Limit
          nullable: true
          type: integer
        required: false
        description: Number of results to return per page.
      - in: query
        name: cursor
        schema:
          description: The pagination cursor value.
          title: Cursor
          nullable: true
          type: string
        required: false
        description: The pagination cursor value.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/UserReportSchema'
                title: Response
                type: array
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
  /api/0/organizations/{organization_slug}/issues/{issue_id}/hashes/:
    get:
      operationId: apps_issue_events_api_hashes_list_issue_hashes
      summary: List Issue Hashes
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: query
        name: limit
        schema:
          description: Number of results to return per page.
          title: Limit
          nullable: true
          type: integer
        required: false
        description: Number of results to return per page.
      - in: query
        name: cursor
        schema:
          description: The pagination cursor value.
          title: Cursor
          nullable: true
          type: string
        required: false
        description: The pagination cursor value.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IssueHashSchema'
                title: Response
                type: array
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
    delete:
      operationId: apps_issue_events_api_hashes_delete_hash
      summary: Delete Hash
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: issue_id
        schema:
          title: Issue Id
          type: integer
        required: true
      - in: query
        name: id
        schema:
          items:
            format: uuid
            type: string
          title: Id
          type: array
        required: true
      responses:
        '202':
          description: Accepted
      tags:
      - Issues
      security:
      - TokenAuth: []
      - SessionAuth: []
components:
  schemas:
    Request:
      properties:
        apiTarget:
          title: Apitarget
          nullable: true
          type: string
        bodySize:
          title: Bodysize
          nullable: true
          type: integer
        cookies:
          anyOf:
          - type: string
          - items:
              items:
                nullable: true
                type: string
              type: array
            type: array
          - additionalProperties:
              nullable: true
              type: string
            type: object
          title: Cookies
          nullable: true
        data:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          - {}
          title: Data
          nullable: true
        env:
          title: Env
          nullable: true
          additionalProperties: true
          type: object
        fragment:
          title: Fragment
          nullable: true
          type: string
        method:
          title: Method
          nullable: true
          type: string
        protocol:
          title: Protocol
          nullable: true
          type: string
        url:
          title: Url
          nullable: true
          type: string
        headers:
          title: Headers
          nullable: true
          items:
            items:
              nullable: true
              type: string
            type: array
          type: array
        query:
          title: Query
          nullable: true
          items:
            items:
              nullable: true
              type: string
            type: array
          type: array
        inferredContentType:
          readOnly: true
          title: Inferredcontenttype
          nullable: true
          type: string
      required:
      - inferredContentType
      title: Request
      type: object
    CultureContext:
      properties:
        type:
          const: culture
          default: culture
          type: string
        calendar:
          nullable: true
          type: string
        display_name:
          nullable: true
          type: string
        locale:
          nullable: true
          type: string
        is_24_hour_format:
          nullable: true
          type: boolean
        timezone:
          nullable: true
          type: string
      type: object
    PostCommentSchema:
      properties:
        data:
          additionalProperties:
            type: string
          propertyNames:
            const: text
          title: Data
          type: object
      required:
      - data
      title: PostCommentSchema
      type: object
    ResponseContext:
      properties:
        type:
          const: response
          default: response
          title: Type
          type: string
        status_code:
          title: Status Code
          type: integer
      required:
      - status_code
      title: ResponseContext
      type: object
    IssueDetailSchema:
      properties:
        id:
          title: Id
          type: string
        count:
          title: Count
          type: string
        type:
          $ref: '#/components/schemas/IssueEventTypeDisplay'
        level:
          $ref: '#/components/schemas/LogLevelDisplay'
        status:
          $ref: '#/components/schemas/EventStatusDisplay'
        metadata:
          additionalProperties: true
          title: Metadata
          type: object
        project:
          $ref: '#/components/schemas/ProjectReference'
        shortId:
          title: Shortid
          type: string
        numComments:
          title: Numcomments
          type: integer
        stats:
          default:
            24h: []
          title: Stats
          nullable: true
          additionalProperties:
            items:
              items:
                type: number
              type: array
            type: array
          type: object
        shareId:
          title: Shareid
          nullable: true
          type: integer
        logger:
          title: Logger
          nullable: true
          type: string
        permalink:
          default: Not implemented
          title: Permalink
          nullable: true
          type: string
        statusDetails:
          title: Statusdetails
          nullable: true
          additionalProperties:
            type: string
          type: object
        subscriptionDetails:
          title: Subscriptiondetails
          nullable: true
          type: string
        userCount:
          default: 0
          title: Usercount
          nullable: true
          type: integer
        matchingEventId:
          title: Matchingeventid
          nullable: true
          type: string
        firstRelease:
          nullable: true
          $ref: '#/components/schemas/IssueReleaseSchema'
        lastRelease:
          nullable: true
          $ref: '#/components/schemas/IssueReleaseSchema'
        firstSeen:
          format: date-time
          title: Firstseen
          type: string
        lastSeen:
          format: date-time
          title: Lastseen
          type: string
        assignedTo:
          nullable: true
          $ref: '#/components/schemas/IssueActorSchema'
        title:
          maxLength: 255
          title: Title
          type: string
        culprit:
          title: Culprit
          nullable: true
          maxLength: 1024
          type: string
        userReportCount:
          title: Userreportcount
          type: integer
      required:
      - id
      - count
      - type
      - level
      - status
      - metadata
      - project
      - shortId
      - numComments
      - firstSeen
      - lastSeen
      - title
      - userReportCount
      title: IssueDetailSchema
      type: object
    AppContext:
      properties:
        type:
          const: app
   

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/glitchtip/refs/heads/main/openapi/glitchtip-issues-api-openapi.yml