API reference
Plans and quotas. The spaces a user owns count against their plan (storage, largest file, members per space, AI runs and minutes of audio and video per calendar month, UTC). A refused request answers 402 with code quota_exceeded and a message that says which limit and when it renews. Answers from the AI cache are free.
2 endpoints · Overview
curl "https://side.example.com/v1/me/plan" \
-H "Authorization: Bearer $SIDESPACE_TOKEN"{
"user_id": "usr_01JD7Q1Z3X5V7T9R1P3N5L7J9H",
"plan": {
"id": "id",
"name": "A001_C003.mov",
"description": "description",
"price_cents": 1,
"price_yearly_cents": 1,
"per_member": false,
"currency": "currency",
"public": false,
"sort": 1,
"updated_at": "2026-11-14T09:30:00Z"
},
"status": "default",
"ends_at": "2026-11-14T09:30:00Z",
"seats": 1,
"overrides": {
"storage_bytes": 1,
"ai_runs_month": 1,
"ai_media_minutes_month": 1,
"members_per_space": 1,
"max_file_bytes": 1
},
"limits": {
"storage_bytes": 1,
"ai_runs_month": 1,
"ai_media_minutes_month": 1,
"members_per_space": 1,
"max_file_bytes": 1
},
"usage": {
"stored_bytes": 1,
"stored_measured_at": "2026-11-14T09:30:00Z",
"ai_runs": 1,
"ai_media_minutes": 0.5,
"period_start": "2026-11-14T09:30:00Z",
"period_end": "2026-11-14T09:30:00Z"
},
"over": [
"storage"
],
"provider": "provider"
}200itemsPlan[]storage_bytesinteger | nullai_runs_monthinteger | nullai_media_minutes_monthinteger | nullmembers_per_spaceinteger | nullmax_file_bytesinteger | nullidstringrequirednamestringrequireddescriptionstringprice_centsintegerrequiredprice_yearly_centsintegerper_memberbooleancurrencystringrequiredpublicbooleanrequiredsortintegerupdated_atTimestampcurl "https://side.example.com/v1/plans"{
"items": [
{
"id": "id",
"name": "A001_C003.mov",
"description": "description",
"price_cents": 1,
"price_yearly_cents": 1,
"per_member": false,
"currency": "currency",
"public": false,
"sort": 1,
"updated_at": "2026-11-14T09:30:00Z"
}
]
}