GlitchTip Users API
The Users API from GlitchTip — 6 operation(s) for users.
The Users API from GlitchTip — 6 operation(s) for users.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/glitchtip:glitchtip-users-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: GlitchTip Users API
version: 1.0.0
description: ''
servers: []
tags:
- name: Users
paths:
/api/0/users/{user_id}/notifications/alerts/:
get:
operationId: apps_projects_api_user_notification_alerts
summary: User Notification Alerts
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StrKeyIntValue'
description: 'Returns dictionary of project_id: status. Now project_id status means it''s "default"
To update, submit `{project_id: status}` where status is -1 (default), 0, or 1'
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
put:
operationId: apps_projects_api_update_user_notification_alerts
summary: Update User Notification Alerts
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'204':
description: No Content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StrKeyIntValue'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
/api/0/users/:
get:
operationId: apps_users_api_list_users
summary: List Users
parameters:
- in: query
name: limit
schema:
anyOf:
- type: integer
- type: 'null'
description: Number of results to return per page.
title: Limit
required: false
description: Number of results to return per page.
- in: query
name: cursor
schema:
anyOf:
- type: string
- type: 'null'
description: The pagination cursor value.
title: Cursor
required: false
description: The pagination cursor value.
responses:
'200':
description: OK
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserSchema'
title: Response
type: array
description: 'Exists in Sentry OSS, unsure what the use case is
We make it only list the current user'
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
/api/0/users/{user_id}/:
get:
operationId: apps_users_api_get_user
summary: Get User
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailSchema'
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
delete:
operationId: apps_users_api_delete_user
summary: Delete User
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'204':
description: No Content
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
put:
operationId: apps_users_api_update_user
summary: Update User
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserSchema'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserIn'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
/api/0/users/{user_id}/emails/:
get:
operationId: apps_users_api_list_emails
summary: List Emails
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
items:
$ref: '#/components/schemas/EmailAddressSchema'
title: Response
type: array
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
post:
operationId: apps_users_api_create_email
summary: Create Email
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/EmailAddressSchema'
description: 'Create a new unverified email address. Will return 400 if the email already exists
and is verified.'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmailAddressIn'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
put:
operationId: apps_users_api_set_email_as_primary
summary: Set Email As Primary
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EmailAddressSchema'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmailAddressIn'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
delete:
operationId: apps_users_api_delete_email
summary: Delete Email
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'204':
description: No Content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmailAddressIn'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
/api/0/users/{user_id}/emails/confirm/:
post:
operationId: apps_users_api_send_confirm_email
summary: Send Confirm Email
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'204':
description: No Content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmailAddressIn'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
/api/0/users/{user_id}/notifications/:
get:
operationId: apps_users_api_get_notifications
summary: Get Notifications
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationsSchema'
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
put:
operationId: apps_users_api_update_notifications
summary: Update Notifications
parameters:
- in: path
name: user_id
schema:
anyOf:
- const: me
type: string
- type: integer
title: User Id
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationsSchema'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationsSchema'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Users
components:
schemas:
SocialAccountSchema:
properties:
email:
anyOf:
- format: email
type: string
- type: 'null'
title: Email
username:
anyOf:
- type: string
- type: 'null'
title: Username
id:
anyOf:
- type: integer
- type: 'null'
title: ID
provider:
maxLength: 200
title: Provider
type: string
uid:
maxLength: 191
title: Uid
type: string
lastLogin:
format: date-time
title: Last Login
type: string
dateJoined:
format: date-time
title: Date Joined
type: string
required:
- email
- username
- provider
- uid
- lastLogin
- dateJoined
title: SocialAccountSchema
type: object
UserNotificationsSchema:
properties:
subscribeByDefault:
default: true
description: Subscribe to project notifications by default. Overrides project settings
title: Subscribe By Default
type: boolean
title: UserNotificationsSchema
type: object
StrKeyIntValue:
additionalProperties:
type: integer
title: StrKeyIntValue
type: object
EmailAddressIn:
properties:
email:
format: email
title: Email
type: string
required:
- email
title: EmailAddressIn
type: object
UserIn:
properties:
options:
$ref: '#/components/schemas/UserOptions'
name:
anyOf:
- maxLength: 255
type: string
- type: 'null'
title: Name
required:
- options
title: UserIn
type: object
UserSchema:
properties:
id:
title: Id
type: string
options:
$ref: '#/components/schemas/UserOptions'
username:
format: email
title: Username
type: string
dateJoined:
format: date-time
title: Datejoined
type: string
email:
format: email
title: Email
type: string
hasPasswordAuth:
title: Haspasswordauth
type: boolean
identities:
items:
$ref: '#/components/schemas/SocialAccountSchema'
title: Identities
type: array
lastLogin:
anyOf:
- format: date-time
type: string
- type: 'null'
title: Last Login
isSuperuser:
default: false
description: Designates that this user has all permissions without explicitly assigning them.
title: Superuser Status
type: boolean
isActive:
default: true
description: Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
title: Active
type: boolean
name:
anyOf:
- maxLength: 255
type: string
- type: 'null'
title: Name
required:
- id
- options
- username
- dateJoined
- email
- hasPasswordAuth
- identities
title: UserSchema
type: object
UserOptions:
properties:
timezone:
anyOf:
- type: string
- type: 'null'
title: Timezone
stacktraceOrder:
anyOf:
- type: integer
- type: 'null'
title: Stacktraceorder
language:
anyOf:
- type: string
- type: 'null'
title: Language
clock24Hours:
anyOf:
- type: boolean
- type: 'null'
title: Clock24Hours
preferredTheme:
anyOf:
- type: string
- type: 'null'
title: Preferredtheme
title: UserOptions
type: object
EmailAddressSchema:
properties:
isPrimary:
title: Isprimary
type: boolean
isVerified:
title: Isverified
type: boolean
email:
maxLength: 254
title: Email Address
type: string
required:
- isPrimary
- isVerified
- email
title: EmailAddressSchema
type: object
UserDetailSchema:
properties:
id:
title: Id
type: string
options:
$ref: '#/components/schemas/UserOptions'
username:
format: email
title: Username
type: string
dateJoined:
format: date-time
title: Datejoined
type: string
email:
format: email
title: Email
type: string
hasPasswordAuth:
title: Haspasswordauth
type: boolean
identities:
items:
$ref: '#/components/schemas/SocialAccountSchema'
title: Identities
type: array
lastLogin:
anyOf:
- format: date-time
type: string
- type: 'null'
title: Last Login
isSuperuser:
default: false
description: Designates that this user has all permissions without explicitly assigning them.
title: Superuser Status
type: boolean
isActive:
default: true
description: Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
title: Active
type: boolean
name:
anyOf:
- maxLength: 255
type: string
- type: 'null'
title: Name
chatwootIdentifierHash:
anyOf:
- type: string
- type: 'null'
title: Chatwootidentifierhash
required:
- id
- options
- username
- dateJoined
- email
- hasPasswordAuth
- identities
title: UserDetailSchema
type: object
securitySchemes:
TokenAuth:
type: http
scheme: bearer
SessionAuth:
type: apiKey
in: cookie
name: sessionid
x-provenance:
method: harvested
publisher: GlitchTip
source: https://app.glitchtip.com/api/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)