Skip to content

Organizations

A brand owned or co-administered by the authenticated user.

{
"id": 3,
"name": "Acme Cosmetics",
"privacy_setting": "public",
"website": "https://acme.example.com",
"created_at": "2026-04-01T10:00:00Z",
"updated_at": "2026-05-01T10:00:00Z",
"url": "https://hypemarket.ai/organizations/3.json",
"logo_url": "https://hypemarket.ai/rails/active_storage/..."
}

privacy_setting is one of public, private, restricted. logo_url is omitted when no logo is attached.

GET /organizations.json

Returns the brands the authenticated user belongs to. Paginated — see Pagination.

GET /organizations/:id.json

Returns one brand. Sets an ETag — supply If-None-Match for 304 Not Modified. Returns 404 if the brand exists but you’re not a member.

POST /organizations.json
{ "organization": { "name": "Hot new brand", "privacy_setting": "public" } }

Requires a write-scoped token. The authenticated user becomes the brand’s owner. Returns 201 Created with the new brand. Logo upload requires a multipart request.

PATCH /organizations/:id.json
{ "organization": { "name": "Renamed", "website": "https://new.example.com" } }

Requires write scope and an admin role on the brand. Pass purge_logo: "1" to remove an existing logo.

DELETE /organizations/:id.json

Returns 204 No Content. Fails with 422 if the brand has an active subscription.

CodeWhen
401Missing token, or read token attempting a write
403Authenticated, but role does not permit this action
404Brand does not exist for you
422Validation failed (e.g. private brand without a logo)