Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API 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.
openapi: 3.2.0
info:
title: Connections Icu Products API
version: 1.0.0
description: 'Operations tagged Products across 4 of this provider''s published API definitions: connections-icu-product-openapi-original.json, connections-icu-studio-openapi-original.json, connections-icu-product-openapi.yml, connections-icu-studio-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.connectionsapi.com/v1
- url: https://studio.connectionsapi.com
tags:
- name: Products
paths:
/products:
get:
summary: List registration products
description: Lists active Connections-platform products and products from the connected Stripe account that this workspace can use for imported Stripe tiers or existing-membership bypasses. Requires events:read.
responses:
'200':
description: Product catalog visible to the active credential.
content:
application/json:
schema:
$ref: '#/components/schemas/ProductCatalogResponse'
tags:
- Products
security:
- ApiKey: []
- OAuth2: []
operationId: getProducts
x-operation-id-source: derived
servers:
- url: https://api.connectionsapi.com/v1
/api/products:
get:
summary: List active products + prices across your linked accounts (the catalog).
security:
- apiKey: []
servers:
- url: https://pay.connectionsapi.com
x-contract-source: https://pay.connectionsapi.com/api/openapi.json
externalDocs:
url: https://pay.connectionsapi.com/api/openapi.json
description: The owning plane publishes this endpoint's request and response schema.
tags:
- Products
operationId: getApiProducts
x-operation-id-source: derived
servers:
- url: https://studio.connectionsapi.com
components:
schemas:
ProductCatalogResponse:
type: object
required:
- products
- connect
properties:
products:
type: array
description: Products eligible for registration bypasses or imported product selection. Use id as stripe_product_id and defaultPrice.priceId as stripe_price_id when stripe_mode is imported.
items:
type: object
properties:
id:
type: string
description: Stripe product ID.
name:
type: string
source:
type: string
enum:
- platform
- connect
defaultPrice:
type:
- object
- 'null'
properties:
priceId:
type:
- string
- 'null'
description: Stripe price ID when available.
unitAmount:
type: integer
currency:
type: string
interval:
type:
- string
- 'null'
enum:
- day
- week
- month
- year
- null
intervalCount:
type: integer
connect:
type: object
properties:
connected:
type: boolean
chargesEnabled:
type: boolean
error:
type: string
description: Sanitized reason connected Stripe products could not load.
securitySchemes:
ApiKey:
type: http
scheme: bearer
description: Connections workspace API key.
x-connections-credential: connections-key
OAuth2:
type: http
scheme: bearer
description: Connections OAuth access token.
x-connections-credential: oauth-access-token
memberSession:
type: http
scheme: bearer
description: The member's Connections session access token, exactly as this product's app sends it. Only operations that declare this scheme accept one.
x-connections-credential: member-session
aegisBearer:
type: http
scheme: bearer
bearerFormat: JWT
description: The AEGIS SSO access token (Cognito JWT from the shared sign-in) presented as a Bearer on every /v1 call.
apiKey:
type: http
scheme: bearer
bearerFormat: cnx_live_* | cnx_pub_*
description: 'A key minted in the console, sent as a bearer token. `cnx_live_` carries cross-plane data scopes AND (when granted) Studio management scopes (apps:*, keys:*, projects:*, webhooks:*) that authorize the console-management operations below. `cnx_pub_` is the publishable, browser-safe tier (Stripe''s pk_ model): mint-time capped to :read scopes, requires a non-empty allowed-origins allowlist, refused on any non-GET/HEAD route, and rate-limited - safe to embed in client-side code.'
oauthUserToken:
type: http
scheme: bearer
description: EITHER (a) a Sign-in-with-Connections USER access token issued by accounts.connectionsapi.com to a registered OAuth app - the app acts on behalf of its signed-in user, rows are keyed by the token's own sub + client_id; OR (b) an app-bound publishable key (cnx_pub_, minted with an appId) presented on X-Connections-Api-Key ALONGSIDE the signed-in user's own plain AEGIS bearer on Authorization - the server derives (app_id, sub) from the two verified credentials. The publishable key alone authorizes nothing; both credentials are required. This second form is for a developer who wants the locker without standing up a full OAuth client - mint one publishable key bound to a registered app instead.
x-refined-from:
- connections-icu-product-openapi-original.json
- connections-icu-studio-openapi-original.json
- connections-icu-product-openapi.yml
- connections-icu-studio-openapi.yml