Skip to content

Organizations & Workspaces

Overview

qr3.app uses a two-level hierarchy:

Organization (company/agency)
└── Workspace 1 (Client A)
└── Workspace 2 (Client B)
└── Workspace 3 (Internal team)
  • Organization — top level, tied to a Stripe account and plan
  • Workspace — isolated scope for QR codes, scans, and API keys

Organizations API

GET /v1/organizations

Returns the organization the current API key belongs to.

Terminal window
curl https://qr3.app/v1/organizations \
-H "Authorization: Bearer qr3_sk_..."

GET /v1/organizations/usage

Returns the organization’s live usage against its plan limits — summed across all workspaces and computed live: scans for the current billing month (vs max_scans_per_month) and dynamic_codes, the count of active dynamic codes (vs max_dynamic_codes). Neither is blocked at the limit, so use this to power usage meters and upgrade prompts.

Terminal window
curl https://qr3.app/v1/organizations/usage \
-H "Authorization: Bearer qr3_sk_..."
{
"data": {
"scans": {
"used": 4120,
"limit": 5000,
"usage_pct": 82,
"remaining": 880,
"period": "2026-06",
"period_start": "2026-06-01T00:00:00.000Z"
},
"dynamic_codes": {
"used": 142,
"limit": 500,
"usage_pct": 28,
"remaining": 358
}
}
}

POST /v1/organizations

Creates a new organization.

Terminal window
curl -X POST https://qr3.app/v1/organizations \
-H "Authorization: Bearer qr3_sk_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Digital Heroes Ltd",
"slug": "digital-heroes"
}'

PATCH /v1/organizations/:id

Updates name, slug, or settings.

DELETE /v1/organizations/:id

Soft-deletes the organization and all associated workspaces.


Workspaces API

GET /v1/workspaces

Lists all workspaces in the current organization.

POST /v1/workspaces

Terminal window
curl -X POST https://qr3.app/v1/workspaces \
-H "Authorization: Bearer qr3_sk_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Client A — Campaign Q2",
"description": "All QR codes for campaign"
}'

PATCH /v1/workspaces/:id

Update name, description, or settings.

DELETE /v1/workspaces/:id

Soft-deletes the workspace. Cannot delete the default workspace.


Plan Limits

PlanWorkspacesAPI keys per workspace
Free12
Pro510
Business2550
AgencyUnlimitedUnlimited