Skip to main content
PATCH
Update Organization

Authorizations

Authorization
string
header
required

Mixpeek API key, sent as Authorization: Bearer mxp_sk_.... Create one in Studio under Settings → API Keys, or with an admin key via POST /v1/organizations/users/{user_email}/api-keys. A missing, malformed, unknown, revoked, inactive or expired key returns 401; a key without the permission, scope or plan an operation needs returns 403.

Body

application/json

Keys this body does not declare are ignored, and the response's warnings name them, until 2026-11-02; from 2026-11-02 they are refused with 422 extra_forbidden naming the accepted keys.

Partial update payload for organization metadata.

organization_name
string | null

Updated display name for the organization.

logo_url
string | null

Updated organization logo URL (e.g., custom logo to override auto-generated logo).

billing_email
string<email> | null

Updated billing contact email.

notifications_email
string<email> | null

Set the opt-in single address that receives alert/system notifications (None leaves it unchanged via exclude_unset).

metadata
Metadata · object | null

Replace metadata with provided dictionary when set.

rate_limit_overrides
BaseRateLimits · object | null

Per-org rate-limit overrides (merged on top of tier defaults).

default_llm_credentials
Default Llm Credentials · object | null

Map of provider names to secret names for org-wide LLM credentials.

spend_limits
SpendLimitsUpdate · object | null

Set the organization's spend budget and the default budget every namespace gets. Each value is in USD of metered spend; null resets it to the plan default. The organization budget cannot exceed the plan's safety ceiling without Mixpeek support, and a namespace default cannot exceed the organization budget. Every change is recorded with who made it, when, and the prior value.

nsfw_check_enabled
boolean | null

Toggle NSFW upload classification + hard-reject for this organization. Applies only to SHARED-plane tenants (infrastructure is None). None leaves the current setting unchanged.

nsfw_fail_closed
boolean | null

Toggle fail-closed behaviour for the NSFW gate (reject uploads when the classifier is unavailable instead of allowing them). None leaves the current setting unchanged.

workload_identity_providers
WorkloadIdentityProviderInput · object[] | null

Replace the organization's workload identity providers. Send the full list: keep each existing provider's provider_id to preserve it, omit provider_id to add one, leave a provider out to remove it. Requires admin.

Response

Successful Response

Response model for organization endpoints.

SECURITY: Does NOT expose internal_id to prevent leakage of high-entropy secrets. Only organization_id (public identifier) is included in API responses.

organization_id
string
required
organization_name
string
required
account_type
enum<string>
required

Account tier (2026-07 pricing overhaul).

Current tiers (CC-required, tier minimum is a billing floor): BUILD: $25/mo min — 100K objects/mo (managed) / 1M vectors (MVS) SCALE: $250/mo min — 1M objects/mo (managed) / 25M vectors (MVS) ENTERPRISE: Custom — dedicated compute, SLA

LEGACY tiers — still stored on unmigrated orgs; resolvable until the Phase-4 migration completes (do NOT remove before then — org records in Mongo carry these strings): FREE (→ Build or read-only), PRO (→ Build), TEAM (→ Scale)

Available options:
build,
scale,
enterprise,
free,
pro,
team
credit_count
integer
required
rate_limits
BaseRateLimits · object
required

Rate limits by operation type (requests per minute).

The rate limiting system uses 5 categories aligned with actual resource consumption:

Categories: metadata: Infrastructure and configuration operations (namespaces, collections, retrievers, taxonomies, clusters CRUD). Zero-credit operations with highest rate limits.

Rate Limit Strategy: Higher limits for low-cost operations (metadata, data) Lower limits for high-cost operations (upload, compute) This aligns API throttling with actual infrastructure costs

Examples: - Creating a namespace: Uses 'metadata' category (fast, cheap) - Uploading a file: Uses 'upload' category (slow, expensive per MB) - Executing a retriever: Uses 'search' category (moderate cost) - Running batch processing: Uses 'compute' category (very expensive)

created_at
string<date-time>
required
updated_at
string<date-time>
required
logo_url
string | null
effective_monthly_credit_cap
integer | null
onboarding_answers
Onboarding Answers · object | null
metadata
Metadata · object
billing_email
string<email> | null
notifications_email
string<email> | null
notifications_email_delivery_status
Notifications Email Delivery Status · object | null

Delivery health of notifications_email. Set when the email vendor reports the address undeliverable; cleared when the address is re-saved. None = no known problem.

auto_billing_enabled
boolean
default:false
billing_cycle_start
integer
default:1
current_month_usage
integer
default:0
users
Users · object[] | null
auth_provider_org_id
string | null
default_llm_credentials
Default Llm Credentials · object
workload_identity_providers
WorkloadIdentityProvider · object[]
api_url
string | null
spend_limits
Spend Limits · object | null

The organization's effective spend budget: daily_usd, monthly_usd, the namespace defaults, the plan's safety ceilings, spend to date, headroom, where each number comes from, and the change history.

requires_plan
boolean
default:false

True when this workspace must pick a plan before it can create namespaces or run billable work. When gated, write endpoints return 403 PlanRequiredError linking to https://studio.mixpeek.com/signup/plan where the workspace picks one.

is_internal
boolean
default:false

True when this org is Mixpeek-internal (team/dogfood/ops), derived server-side at read time. Analytics consumers should exclude internal orgs from customer metrics.