GlitchTip Organizations API

The Organizations API from GlitchTip — 35 operation(s) for organizations.

OpenAPI Specification

glitchtip-organizations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: GlitchTip Accept Organizations 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: Organizations
paths:
  /api/0/organizations/{organization_slug}/environments/:
    get:
      operationId: apps_environments_api_list_environments
      summary: List Environments
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization 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/EnvironmentSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/chunk-upload/:
    get:
      operationId: apps_files_api_get_chunk_upload_info
      summary: Get Chunk Upload Info
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      responses:
        '200':
          description: OK
      description: Get server settings for chunk file upload
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
    post:
      operationId: apps_files_api_chunk_upload
      summary: Chunk Upload
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      responses:
        '200':
          description: OK
      description: Upload one more more gzipped files to save
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file_gzip:
                  items:
                    format: binary
                    type: string
                  title: File Gzip
                  type: array
              required:
              - file_gzip
              title: FileParams
              type: object
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/logs/:
    get:
      operationId: apps_logs_api_list_logs
      summary: List Logs
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: query
        name: project
        schema:
          description: Filter by project IDs
          title: Project
          nullable: true
          items:
            type: integer
          type: array
        required: false
        description: Filter by project IDs
      - in: query
        name: level
        schema:
          description: Filter by log levels
          title: Level
          nullable: true
          items:
            type: string
          type: array
        required: false
        description: Filter by log levels
      - in: query
        name: service
        schema:
          description: Filter by service name
          title: Service
          nullable: true
          type: string
        required: false
        description: Filter by service name
      - in: query
        name: environment
        schema:
          description: Filter by environment
          title: Environment
          nullable: true
          type: string
        required: false
        description: Filter by environment
      - in: query
        name: host
        schema:
          description: Filter by host name
          title: Host
          nullable: true
          type: string
        required: false
        description: Filter by host name
      - in: query
        name: traceId
        schema:
          description: Filter by trace ID
          title: Traceid
          nullable: true
          type: string
        required: false
        description: Filter by trace ID
      - in: query
        name: query
        schema:
          description: Search in log body
          title: Query
          nullable: true
          type: string
        required: false
        description: Search in log body
      - in: query
        name: start
        schema:
          description: Start of time range
          title: Start
          nullable: true
          format: date-time
          type: string
        required: false
        description: Start of time range
      - in: query
        name: end
        schema:
          description: End of time range
          title: End
          nullable: true
          format: date-time
          type: string
        required: false
        description: End of time range
      - in: query
        name: cursor
        schema:
          description: Pagination cursor
          title: Cursor
          nullable: true
          type: string
        required: false
        description: Pagination cursor
      - in: query
        name: limit
        schema:
          default: 100
          description: Results per page
          maximum: 200
          minimum: 1
          title: Limit
          type: integer
        required: false
        description: Results per page
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LogEventSchema'
                title: Response
                type: array
      description: 'List log events for an organization with optional filtering.


        Queries hot storage (PostgreSQL) for recent data and cold storage

        (S3 Parquet via DuckDB) for older data seamlessly.


        Supports filtering by:

        - project: List of project IDs

        - level: List of log levels (trace, debug, info, warn, error, fatal)

        - service: Service name (exact match)

        - environment: Environment name (exact match)

        - host: Host name (exact match)

        - traceId: Trace ID for correlation

        - query: Full-text search in log body

        - start/end: Time range filtering (defaults to last 7 days)

        - cursor: Pagination cursor for "load more"

        - limit: Results per page (1-200, default 100)'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/logs/{log_id}/:
    get:
      operationId: apps_logs_api_get_log
      summary: Get Log
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: log_id
        schema:
          format: uuid
          title: Log Id
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogEventSchema'
      description: Get a single log event by ID (searches both hot and cold storage).
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/logs/stats/:
    get:
      operationId: apps_logs_api_get_log_stats
      summary: Get Log Stats
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: query
        name: project
        schema:
          description: Filter by project IDs
          title: Project
          nullable: true
          items:
            type: integer
          type: array
        required: false
        description: Filter by project IDs
      - in: query
        name: level
        schema:
          description: Filter by log levels
          title: Level
          nullable: true
          items:
            type: string
          type: array
        required: false
        description: Filter by log levels
      - in: query
        name: service
        schema:
          description: Filter by service names
          title: Service
          nullable: true
          items:
            type: string
          type: array
        required: false
        description: Filter by service names
      - in: query
        name: environment
        schema:
          description: Filter by environment names
          title: Environment
          nullable: true
          items:
            type: string
          type: array
        required: false
        description: Filter by environment names
      - in: query
        name: start
        schema:
          description: Start of time range
          title: Start
          nullable: true
          format: date-time
          type: string
        required: false
        description: Start of time range
      - in: query
        name: end
        schema:
          description: End of time range
          title: End
          nullable: true
          format: date-time
          type: string
        required: false
        description: End of time range
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogStatsSchema'
      description: 'Get log statistics for an organization.


        Returns hourly counts grouped by level for charting.

        Supports filtering by project and level.

        Time range defaults to last 7 days, max 90 days.'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/logs/resources/:
    get:
      operationId: apps_logs_api_list_log_resources
      summary: List Log Resources
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: query
        name: resource_type
        schema:
          title: Resource Type
          nullable: true
          type: string
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LogResourceSchema'
                title: Response
                type: array
      description: 'List unique resource names (service, environment, host) for an organization.


        Returns resources ordered by last_seen (most recent first).

        Used to populate filter dropdowns in the UI.'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/:
    get:
      operationId: apps_organizations_ext_api_list_organizations
      summary: List Organizations
      parameters:
      - in: query
        name: owner
        schema:
          title: Owner
          nullable: true
          type: boolean
        required: false
      - in: query
        name: query
        schema:
          title: Query
          nullable: true
          type: string
        required: false
      - in: query
        name: sortBy
        schema:
          title: Sortby
          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/OrganizationSchema'
                title: Response
                type: array
      description: Return list of all organizations the user has access to.
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
    post:
      operationId: apps_organizations_ext_api_create_organization
      summary: Create Organization
      parameters: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationDetailSchema'
      description: 'Create new organization

        The first organization on a server is always allowed to be created.

        Afterwards, ENABLE_OPEN_USER_REGISTRATION is checked.

        Superusers are always allowed to create organizations.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationInSchema'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/:
    get:
      operationId: apps_organizations_ext_api_get_organization
      summary: Get Organization
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationDetailSchema'
      description: Return Organization with project and team details.
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
    put:
      operationId: apps_organizations_ext_api_update_organization
      summary: Update Organization
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationDetailSchema'
      description: Update an organization.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationInSchema'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
    delete:
      operationId: apps_organizations_ext_api_delete_organization
      summary: Delete Organization
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      responses:
        '204':
          description: No Content
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/members/:
    get:
      operationId: apps_organizations_ext_api_list_organization_members
      summary: List Organization Members
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization 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/OrganizationUserSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
    post:
      operationId: apps_organizations_ext_api_create_organization_member
      summary: Create Organization Member
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationUserInviteSchema'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationUserIn'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/members/{member_id}/:
    get:
      operationId: apps_organizations_ext_api_get_organization_member
      summary: Get Organization Member
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: member_id
        schema:
          title: Member Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationUserDetailSchema'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
    delete:
      operationId: apps_organizations_ext_api_delete_organization_member
      summary: Delete Organization Member
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: member_id
        schema:
          title: Member Id
          type: integer
        required: true
      responses:
        '204':
          description: No Content
      description: Remove member (user) from organization
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
    put:
      operationId: apps_organizations_ext_api_update_organization_member
      summary: Update Organization Member
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: member_id
        schema:
          title: Member Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationUserDetailSchema'
      description: Update member role within organization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationUserUpdateSchema'
        required: true
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/members/{member_id}/set_owner/:
    post:
      operationId: apps_organizations_ext_api_set_organization_owner
      summary: Set Organization Owner
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: member_id
        schema:
          title: Member Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationUserDetailSchema'
      description: 'Set this team member as the one and only one Organization owner

        Only an existing Owner or user with the "org:admin" scope is able to perform this.

        GlitchTip specific API, no sentry api compatibility'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/transaction-groups/:
    get:
      operationId: apps_performance_api_list_transaction_groups
      summary: List Transaction Groups
      parameters:
      - 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: sort
        schema:
          default: -avg_duration
          enum:
          - created
          - -created
          - avg_duration
          - -avg_duration
          - count
          - -count
          title: Sort
          type: string
        required: false
      - in: query
        name: project
        schema:
          default: []
          items:
            type: integer
          title: Project
          type: array
        required: false
      - in: query
        name: query
        schema:
          title: Query
          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.
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/TransactionGroupSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/transaction-groups/{id}/:
    get:
      operationId: apps_performance_api_get_transaction_group
      summary: Get Transaction Group
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: id
        schema:
          title: Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionGroupSchema'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/transaction-groups/{id}/spans/:
    get:
      operationId: apps_performance_api_list_transaction_spans
      summary: List Transaction Spans
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: id
        schema:
          title: Id
          type: integer
        required: true
      - 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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SpanGroupSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/span-groups/:
    get:
      operationId: apps_performance_api_list_span_groups
      summary: List Span Groups
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - 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:
          default: []
          items:
            type: integer
          title: Project
          type: array
        required: false
      - in: query
        name: op
        schema:
          title: Op
          nullable: true
          type: string
        required: false
      - in: query
        name: sort
        schema:
          default: -total_time
          enum:
          - total_time
          - -total_time
          - avg_duration
          - -avg_duration
          - count
          - -count
          title: Sort
          type: string
        required: false
      - in: query
        name: limit
        schema:
          default: 50
          title: Limit
          type: integer
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SpanGroupSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/n-plus-one/:
    get:
      operationId: apps_performance_api_list_n_plus_one_patterns
      summary: List N Plus One Patterns
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - 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:
          default: []
          items:
            type: integer
          title: Project
          type: array
        required: false
      - in: query
        name: op
        schema:
          default: db
          title: Op
          nullable: true
          type: string
        required: false
      - in: query
        name: threshold
        schema:
          default: 5.0
          title: Threshold
          type: number
        required: false
      - in: query
        name: limit
        schema:
          default: 50
          title: Limit
          type: integer
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/NPlusOnePatternSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/transaction-groups/{id}/trend/:
    get:
      operationId: apps_performance_api_get_transaction_trend
      summary: Get Transaction Trend
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: path
        name: id
        schema:
          title: Id
          type: integer
        required: true
      - 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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/TransactionTrendSchema'
                title: Response
                type: array
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/projects/:
    get:
      operationId: apps_projects_api_list_organization_projects
      summary: List Organization Projects
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: query
        name: query
        schema:
          title: Query
          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/ProjectTeamSchema'
                title: Response
                type: array
      description: 'Fetch list of organizations for a project

        Contains team information

        query: Filter on team, ex: ?query=!team:burke-software'
      security:
      - TokenAuth: []
      - SessionAuth: []
      tags:
      - Organizations
  /api/0/organizations/{organization_slug}/stats_v2/:
    get:
      operationId: apps_stats_api_stats_v2
      summary: Stats V2
      parameters:
      - in: path
        name: organization_slug
        schema:
          title: Organization Slug
          type: string
        required: true
      - in: query
        name: category
        schema:
          enum:
          - error
          - transaction
          title: Category
          type: string
        required: true
      - in: query
        name: interval
        schema:
          default: 1h
          title: Interval
          nullable: true
          enum:
          - 1d
          - 1h
          - 1m
          type: string
        required: false
      - in: query
        name: project
        schema:
          t

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