API Reference
Organizations
Organizations let you manage multiple brands, locations, or clients under a single 3QPR account. Team members can be invited with role-based access. Enterprise plans support unlimited organizations with SSO and custom domains.
GET
/v1/organizationsList organizations
Returns all organizations the authenticated API key has access to.
curl https://api.3qpr.com/v1/organizations \
-H "Authorization: Bearer YOUR_API_KEY"Response 200json
{
"organizations": [
{
"id": "org_01HABC",
"name": "Grand Meridian Hotels",
"slug": "grand-meridian",
"plan": "enterprise",
"qpr_codes_count": 48,
"members_count": 6,
"created_at": "2026-01-10T09:00:00Z"
}
],
"total": 1
}POST
/v1/organizationsCreate an organization
Request body
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Display name for the organization |
| slug | string | No | URL-safe identifier — auto-generated if omitted |
| metadata | object | No | Arbitrary key-value pairs |
curl -X POST https://api.3qpr.com/v1/organizations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Grand Meridian Hotels", "slug": "grand-meridian"}'Response 201json
{
"id": "org_01HABC",
"name": "Grand Meridian Hotels",
"slug": "grand-meridian",
"plan": "free",
"qpr_codes_count": 0,
"members_count": 1,
"created_at": "2026-03-20T12:00:00Z"
}Members
GET
/v1/organizations/:id/membersList members
curl https://api.3qpr.com/v1/organizations/org_01HABC/members \
-H "Authorization: Bearer YOUR_API_KEY"Response 200json
{
"members": [
{
"id": "mem_01HXYZ",
"email": "alice@grandmeridian.com",
"role": "admin",
"joined_at": "2026-01-10T09:00:00Z"
},
{
"id": "mem_01HABC",
"email": "bob@grandmeridian.com",
"role": "editor",
"joined_at": "2026-02-14T11:30:00Z"
}
]
}POST
/v1/organizations/:id/membersInvite a member
Sends an email invitation. Roles: owner, admin, editor, viewer.
curl -X POST https://api.3qpr.com/v1/organizations/org_01HABC/members \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "charlie@grandmeridian.com", "role": "editor"}'Response 200json
{
"invitation_id": "inv_01HXYZ",
"email": "charlie@grandmeridian.com",
"role": "editor",
"expires_at": "2026-03-27T12:00:00Z"
}Organization object
| Field | Type | Description |
|---|---|---|
| id | string | Unique organization ID |
| name | string | Display name |
| slug | string | URL-safe identifier used in the Studio and API |
| plan | string | Current billing plan: free | starter | professional | enterprise |
| qpr_codes_count | number | Total QPR Codes in this organization |
| members_count | number | Number of active members |
| created_at | string | ISO-8601 creation timestamp |