GlitchTip Projects API

The Projects API from GlitchTip — 18 operation(s) for projects.

OpenAPI Specification

glitchtip-projects-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: GlitchTip Accept Projects 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: Projects
paths:
  /api/0/projects/{organization_slug}/{project_slug}/alerts/:
    get:
      operationId: apps_alerts_api_list_project_alerts
      summary: List Project Alerts
      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/ProjectAlertSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    post:
      operationId: apps_alerts_api_create_project_alert
      summary: Create Project Alert
      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
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectAlertSchema'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectAlertIn'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/alerts/{alert_id}/:
    put:
      operationId: apps_alerts_api_update_project_alert
      summary: Update Project Alert
      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: alert_id
        schema:
          title: Alert Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectAlertSchema'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectAlertIn'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    delete:
      operationId: apps_alerts_api_delete_project_alert
      summary: Delete Project Alert
      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: alert_id
        schema:
          title: Alert Id
          type: integer
        required: true
      responses:
        '204':
          description: No Content
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/alerts/{alert_id}/test/:
    post:
      operationId: apps_alerts_api_test_project_alert
      summary: Test Project Alert
      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: alert_id
        schema:
          title: Alert Id
          type: integer
        required: true
      - in: query
        name: recipient_id
        schema:
          title: Recipient Id
          nullable: true
          type: integer
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/TestAlertResultSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/files/difs/assemble/:
    post:
      operationId: apps_difs_api_difs_assemble_api
      summary: Difs Assemble Api
      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
      responses:
        '200':
          description: OK
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssemblePayload'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/reprocessing/:
    post:
      operationId: apps_difs_api_project_reprocessing
      summary: Project Reprocessing
      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
      responses:
        '200':
          description: OK
      description: Not implemented. It is a dummy API to keep `sentry-cli upload-dif` happy
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/files/dsyms/:
    get:
      operationId: apps_difs_api_list_dsyms
      summary: List Dsyms
      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/DebugFileSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    post:
      operationId: apps_difs_api_dsyms
      summary: Dsyms
      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
      responses:
        '200':
          description: OK
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  format: binary
                  title: File
                  type: string
              required:
              - file
              title: FileParams
              type: object
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/environments/:
    get:
      operationId: apps_environments_api_list_environment_projects
      summary: List Environment Projects
      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: visibility
        schema:
          default: visible
          enum:
          - all
          - hidden
          - visible
          title: Visibility
          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/EnvironmentProjectSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/environments/{name}/:
    put:
      operationId: apps_environments_api_update_environment_project
      summary: Update Environment Project
      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: name
        schema:
          title: Name
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentProjectSchema'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnvironmentProjectIn'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/:
    get:
      operationId: apps_projects_api_list_projects
      summary: List Projects
      parameters:
      - 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/ProjectOrganizationSchema'
                title: Response
                type: array
      description: List all projects that a user has access to
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/:
    get:
      operationId: apps_projects_api_get_project
      summary: Get Project
      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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectOrganizationSchema'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    put:
      operationId: apps_projects_api_update_project
      summary: Update Project
      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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectOrganizationSchema'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectIn'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    delete:
      operationId: apps_projects_api_delete_project
      summary: Delete Project
      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
      responses:
        '204':
          description: No Content
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/keys/:
    get:
      operationId: apps_projects_api_list_project_keys
      summary: List Project Keys
      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: status
        schema:
          title: Status
          nullable: true
          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/ProjectKeySchema'
                title: Response
                type: array
      description: List all DSN keys for a given project
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    post:
      operationId: apps_projects_api_create_project_key
      summary: Create Project Key
      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
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectKeySchema'
      description: Create new key for project. Rate limiting not implemented.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectKeyIn'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/keys/{key_id}/:
    get:
      operationId: apps_projects_api_get_project_key
      summary: Get Project Key
      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: key_id
        schema:
          format: uuid
          title: Key Id
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectKeySchema'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    put:
      operationId: apps_projects_api_update_project_key
      summary: Update Project Key
      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: key_id
        schema:
          format: uuid
          title: Key Id
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectKeySchema'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectKeyIn'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    delete:
      operationId: apps_projects_api_delete_project_key
      summary: Delete Project Key
      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: key_id
        schema:
          format: uuid
          title: Key Id
          type: string
        required: true
      responses:
        '204':
          description: No Content
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/teams/:
    get:
      operationId: apps_teams_api_list_project_teams
      summary: List Project Teams
      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/TeamSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/teams/{team_slug}/:
    post:
      operationId: apps_teams_api_add_team_to_project
      summary: Add Team To Project
      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: team_slug
        schema:
          title: Team Slug
          type: string
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectTeamSchema'
      description: Add team to project
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    delete:
      operationId: apps_teams_api_delete_team_from_project
      summary: Delete Team From Project
      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: team_slug
        schema:
          title: Team Slug
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectTeamSchema'
      description: Remove team from project
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/releases/:
    post:
      operationId: apps_releases_api_create_project_release
      summary: Create Project Release
      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
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseSchema'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReleaseBase'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    get:
      operationId: apps_releases_api_list_project_releases
      summary: List Project Releases
      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/ReleaseSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/releases/{version}/:
    get:
      operationId: apps_releases_api_get_project_release
      summary: Get Project Release
      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: version
        schema:
          title: Version
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseSchema'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    put:
      operationId: apps_releases_api_update_project_release
      summary: Update Project Release
      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: version
        schema:
          title: Version
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseSchema'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReleaseUpdate'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    delete:
      operationId: apps_releases_api_delete_project_release
      summary: Delete Project Release
      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: version
        schema:
          title: Version
          type: string
        required: true
      responses:
        '204':
          description: No Content
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/releases/{version}/files/:
    get:
      operationId: apps_releases_api_list_project_release_files
      summary: List Project Release Files
      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: version
        schema:
          title: Version
          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/DebugSymbolBundleSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
  /api/0/projects/{organization_slug}/{project_slug}/releases/{version}/files/{file_id}/:
    delete:
      operationId: apps_releases_api_delete_project_release_file
      summary: Delete Project Release File
      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: version
        schema:
          title: Version
          type: string
        required: true
      - in: path
        name: file_id
        schema:
          title: File Id
          type: integer
        required: true
      responses:
        '204':
          description: No Content
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
    get:
      operationId: apps_releases_api_get_project_release_file
      summary: Get Project Release File
      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: version
        schema:
          title: Version
          type: string
        required: true
      - in: path
        name: file_id
        schema:
          title: File Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DebugSymbolBundleSchema'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Projects
components:
  schemas:
    NameSlugProjectSchema:
      properties:
        name:
          maxLength: 64
          title: Name
          type: string
        slug:
          title: Slug
          nullable: true
          type: string
      required:
      - name
      title: NameSlugProjectSchema
      type: object
    KeyRateLimit:
      properties:
        window:
          title: Window
          type: integer
        count:
          title: Count
          type: integer
      required:
      - window
      - count
      title: KeyRateLimit
      type: object
    AssemblePayload:
      additionalProperties:
        $ref: '#/components/schemas/ChecksumSchema'
      title: AssemblePayload
      type: object
    ProjectKeySchema:
      description: 'A project key (DSN) provides a public authentication string used for event

        ingestion.'
      properties:
        name:
          title: Name
          nullable: true
          type: string
        rateLimit:
          nullable: true
          $ref: '#/components/schemas/KeyRateLimit'
        dateCreated:
          format: date-time
          title: Datecreated
          type: string
        id:
          format: uuid
          title: Id
          type: string
        dsn:
          additionalProperties:
            type: string
          title: Dsn
          type: object
        label:
          title: 

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