---
title: "Get Organization Targets"
method: GET
path: "/v1/organizations/targets"
tags: ["Organization Targets"]
---

# Get Organization Targets

`GET /v1/organizations/targets`

Get this organization's resource + SLO targets.

Tenancy (dedicated vs shared) is resolved SERVER-SIDE from the org —
never from a client-supplied header (BACKE-2564). ``targets_writable``
is the capability flag a client should read rather than infer from
``plane``: shared-plane orgs are always read-only by platform policy;
dedicated orgs may write once the write path ships (not this
endpoint).

## Response `200`

Successful Response

- TargetSpec — Per-tenant (or plane) resource targets + SLO block. TENANCY RULE (Ethan 2026-07-31, baked into the audit): dedicated tenants get write access to their own TargetSpec (once the write path ships — not this card); shared tenants are read-only, scoped to their own workloads, and cannot set utilization targets at all — shared-plane targets are platform policy, since one tenant's aggressiveness is another tenant's starvation. ``targets_writable`` is an explicit CAPABILITY the client reads rather than infers from ``plane`` (studio-plg's binding contract note, 2026-08-03): the client will not reconstruct dedicated-vs-shared logic itself.
  - `internal_id` string, required
  - `plane` 'shared' | 'dedicated', required
  - `resource_targets` ResourceTarget[], required
    - `dimension` 'cpu_utilization' | 'mem_utilization' | 'gpu_duty_cycle' | 'ray_replicas', required — The resource dimensions the audit names as in scope for phase 1 (§5, proposed shape). Per-extractor/per-serve-instance granularity is deliberately deferred (G8) — same doctrine BACKE-3125's rollup already applied to SLO surfaces.
    - `target_min` number, required — Lower bound of the target band.
    - `target_max` number, required — Upper bound of the target band.
    - `unit` 'ratio' | 'count', required — 'ratio' for a 0-1 utilization fraction, 'count' for a unit quantity (e.g. Ray replicas).
  - `slo_targets` SLOTarget[], required
    - `surface` 'indexing' | 'retrieval' | 'clustering', required — The three surfaces BACKE-3125's SLO rollup already computes attainment INPUTS for — kept identical here so a future attainment computation (reading both TargetSpec and slo_rollup_hourly) never has to reconcile two different surface vocabularies.
    - `p95_latency_ms_target` number, nullable — Target p95 latency in milliseconds for this surface.
    - `error_budget_pct` number, nullable — Target maximum error rate (percent) for this surface.
  - `is_platform_default` boolean, required — True when no org-specific TargetSpec has been written yet and these values are the platform default band for this org's plane. Always true today — no write path exists.
  - `targets_writable` boolean, required — Whether this org CAN write its own TargetSpec (once the write path ships). Always false for shared-plane orgs by design, regardless of is_platform_default.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/mixpeek/apis/mixpeek-api.md) · [All operations](https://skmtc.net/mixpeek/apis/mixpeek-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixpeek/mixpeek-api/revisions/220a3b263fda/schema)
