Skip to content

Identifying records

Customers, subscriptions, subscription items, prices and plans each have a Summerbase id, a UUID. Wherever the API takes the id of one of them — in a path, in customer_id or subscription_id, or as a subscription item’s id — it takes a source’s own id for it as well, written <source slug>:<id in that source>:

Terminal window
curl https://api.summerbase.com/v1/customers/stripe:cus_QX7bN2kLp4Rt9v \
-H "Authorization: Bearer $SUMMERBASE_API_KEY"

A record’s identities lists every source’s id for it. An id with no source in front of it is always a Summerbase id.

A PATCH to a record named by one of your source’s own ids creates it when it does not exist yet, so the first write and every later one are the same request. A Summerbase id that names nothing is answered with 404, since nothing can be created under an id Summerbase did not assign.

Everything else — projects, sources, API keys, memberships — is named by its Summerbase id alone.