GlitchTip Organizations API
The Organizations API from GlitchTip — 35 operation(s) for organizations.
The Organizations API from GlitchTip — 35 operation(s) for organizations.
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