GlitchTip Stripe API
The Stripe API from GlitchTip — 7 operation(s) for stripe.
The Stripe API from GlitchTip — 7 operation(s) for stripe.
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-stripe-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 Stripe API
version: 1.0.0
description: ''
servers: []
tags:
- name: Stripe
paths:
/api/0/stripe/products/:
get:
operationId: apps_stripe_api_list_stripe_products
summary: List Stripe Products
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
items:
$ref: '#/components/schemas/StripeProductExpandedPriceSchema'
title: Response
type: array
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Stripe
/api/0/stripe/subscriptions/{organization_slug}/:
get:
operationId: apps_stripe_api_get_stripe_subscription
summary: Get Stripe Subscription
parameters:
- in: path
name: organization_slug
schema:
title: Organization Slug
type: string
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/StripeSubscriptionSchema'
- type: 'null'
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Stripe
/api/0/stripe/organizations/{organization_slug}/create-stripe-subscription-checkout/:
post:
operationId: apps_stripe_api_create_stripe_session
summary: Create Stripe Session
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/StripeCheckoutSessionSchema'
description: 'Create Stripe Checkout, send to client for redirecting to Stripe
See https://stripe.com/docs/api/checkout/sessions/create'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PriceIDSchema'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Stripe
/api/0/stripe/organizations/{organization_slug}/create-billing-portal/:
post:
operationId: apps_stripe_api_stripe_billing_portal_session
summary: Stripe Billing Portal Session
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/StripePortalSessionSchema'
description: See https://stripe.com/docs/billing/subscriptions/integrating-self-serve-portal
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Stripe
/api/0/stripe/subscriptions/:
post:
operationId: apps_stripe_api_stripe_create_subscription
summary: Stripe Create Subscription
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSubscriptionResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionIn'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Stripe
/api/0/stripe/subscriptions/{organization_slug}/events_count/period/:
get:
operationId: apps_stripe_api_subscription_events_count_for_period
summary: Subscription Events Count For Period
parameters:
- in: path
name: organization_slug
schema:
title: Organization Slug
type: string
required: true
- in: query
name: periods_ago
schema:
default: 0
title: Periods Ago
type: integer
required: false
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionUsageSchema'
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Stripe
/api/0/stripe/subscriptions/{organization_slug}/events_count/daily/:
get:
operationId: apps_stripe_api_subscription_events_count_daily
summary: Subscription Events Count Daily
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/DailyEventsCountSchema'
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Stripe
/api/0/stripe/subscriptions/{organization_slug}/overage/:
get:
operationId: apps_stripe_api_get_overage_status
summary: Get Overage Status
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/OverageStatusSchema'
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Stripe
/api/0/stripe/organizations/{organization_slug}/overage/:
post:
operationId: apps_stripe_api_configure_overage
summary: Configure Overage
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/OverageStatusSchema'
description: 'Enable/disable metered overage billing and set the spend cap (owner-only).
Enabling attaches the metered overage price as a second subscription item,
whose own Stripe billing period becomes the organization''s usage window
from then on (see ``billing_window``). Disabling only clears the flag: the
item stays attached (dormant, billing zero), so a re-enable within the
same cycle can''t re-bill reported usage and toggling never moves the
window. Either way a throttle re-check is enqueued so the new headroom (or
block) takes effect promptly.'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OverageConfigIn'
required: true
security:
- TokenAuth: []
- SessionAuth: []
tags:
- Stripe
components:
schemas:
CreateSubscriptionResponse:
properties:
price:
title: Price
type: string
organization:
title: Organization
type: string
subscription:
$ref: '#/components/schemas/StripeSubscriptionSchema'
required:
- price
- organization
- subscription
title: CreateSubscriptionResponse
type: object
StripeNestedPriceSchema:
properties:
stripeID:
title: Stripeid
type: string
price:
title: Price
type: string
interval:
default: month
maxLength: 20
title: Interval
type: string
required:
- stripeID
- price
title: StripeNestedPriceSchema
type: object
StripeCheckoutSessionSchema:
properties:
url:
title: Url
type: string
required:
- url
title: StripeCheckoutSessionSchema
type: object
StripeProductExpandedPriceSchema:
properties:
stripeID:
title: Stripeid
type: string
defaultPrice:
$ref: '#/components/schemas/StripeNestedPriceSchema'
prices:
items:
$ref: '#/components/schemas/StripeNestedPriceSchema'
title: Prices
type: array
marketingFeatures:
items:
type: string
title: Marketingfeatures
type: array
events:
title: Events
type: integer
name:
title: Name
type: string
description:
title: Description
type: string
required:
- stripeID
- defaultPrice
- prices
- marketingFeatures
- events
- name
- description
title: StripeProductExpandedPriceSchema
type: object
StripeProductSchema:
properties:
stripeID:
title: Stripeid
type: string
events:
title: Events
type: integer
name:
title: Name
type: string
description:
title: Description
type: string
default_price_id:
anyOf:
- type: string
- type: 'null'
title: Default Price
required:
- stripeID
- events
- name
- description
title: StripeProductSchema
type: object
PriceIDSchema:
properties:
price:
title: Price
type: string
required:
- price
title: PriceIDSchema
type: object
OverageStatusSchema:
description: Current overage state for an org, for rendering the choice at the limit.
properties:
enabled:
title: Enabled
type: boolean
eligible:
title: Eligible
type: boolean
configured:
title: Configured
type: boolean
active:
title: Active
type: boolean
capCents:
title: Capcents
type: integer
maxCapCents:
title: Maxcapcents
type: integer
capUnits:
title: Capunits
type: integer
quota:
title: Quota
type: integer
usage:
title: Usage
type: integer
overageUnits:
title: Overageunits
type: integer
overageCostCents:
title: Overagecostcents
type: integer
throttleRate:
title: Throttlerate
type: integer
required:
- enabled
- eligible
- configured
- active
- capCents
- maxCapCents
- capUnits
- quota
- usage
- overageUnits
- overageCostCents
- throttleRate
title: OverageStatusSchema
type: object
DailyEventsCountSchema:
properties:
data:
items:
$ref: '#/components/schemas/DailyEventCountEntry'
title: Data
type: array
required:
- data
title: DailyEventsCountSchema
type: object
DailyEventCountEntry:
properties:
date:
format: date
title: Date
type: string
eventCount:
title: Eventcount
type: integer
transactionEventCount:
title: Transactioneventcount
type: integer
uptimeCheckEventCount:
title: Uptimecheckeventcount
type: number
logEventCount:
title: Logeventcount
type: number
required:
- date
- eventCount
- transactionEventCount
- uptimeCheckEventCount
- logEventCount
title: DailyEventCountEntry
type: object
StripePortalSessionSchema:
properties:
url:
title: Url
type: string
required:
- url
title: StripePortalSessionSchema
type: object
SubscriptionIn:
properties:
price:
title: Price
type: string
organization:
title: Organization
type: string
required:
- price
- organization
title: SubscriptionIn
type: object
StripeSubscriptionSchema:
properties:
stripeID:
title: Stripeid
type: string
product:
$ref: '#/components/schemas/StripeProductSchema'
price:
$ref: '#/components/schemas/StripeNestedPriceSchema'
status:
anyOf:
- $ref: '#/components/schemas/SubscriptionStatus'
- type: 'null'
collectionMethod:
$ref: '#/components/schemas/CollectionMethod'
created:
format: date-time
title: Created
type: string
currentPeriodStart:
format: date-time
title: Current Period Start
type: string
currentPeriodEnd:
format: date-time
title: Current Period End
type: string
startDate:
format: date-time
title: Start Date
type: string
subscriptionCycleStart:
anyOf:
- format: date-time
type: string
- type: 'null'
title: Subscription Cycle Start
subscriptionCycleEnd:
anyOf:
- format: date-time
type: string
- type: 'null'
title: Subscription Cycle End
required:
- stripeID
- product
- price
- status
- collectionMethod
- created
- currentPeriodStart
- currentPeriodEnd
- startDate
title: StripeSubscriptionSchema
type: object
OverageConfigIn:
properties:
enabled:
title: Enabled
type: boolean
capCents:
default: 0
title: Capcents
type: integer
required:
- enabled
title: OverageConfigIn
type: object
CollectionMethod:
enum:
- charge_automatically
- send_invoice
title: CollectionMethod
type: string
SubscriptionUsageSchema:
properties:
total:
title: Total
type: integer
eventCount:
title: Eventcount
type: integer
transactionEventCount:
title: Transactioneventcount
type: integer
uptimeCheckEventCount:
title: Uptimecheckeventcount
type: number
logEventCount:
title: Logeventcount
type: number
fileSizeMb:
title: Filesizemb
type: integer
required:
- total
- eventCount
- transactionEventCount
- uptimeCheckEventCount
- logEventCount
- fileSizeMb
title: SubscriptionUsageSchema
type: object
SubscriptionStatus:
enum:
- incomplete
- incomplete_expired
- trialing
- active
- past_due
- canceled
- unpaid
- paused
title: SubscriptionStatus
type: string
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)