Saved Targets
Test a store

Saved Targets

Save the stores you test as targets — reusable across the Inspector, Agent runs, and the API, and shared with your team when you work in one.

A target is the harness's noun for the thing under test. Saving one keeps the domain, an optional label, discovered UCP MCP and REST endpoints, and notes together under a stable ID, so the next run doesn't start from a blank domain field.

Saving one

  • From the Agent rail — once connected, a Save as target card appears under the endpoint card. It stores the domain and the endpoints discovery just found.
  • From the API — POST /api/v1/targets. Pass from_session with one of your session IDs to seed the domain and endpoint from a run you just did.

Saving a domain that already exists in the workspace returns the existing target's ID instead of creating a duplicate — one domain, one target, per workspace.

Workspace scoping and roles

Targets live in exactly one workspace: your personal space, or the team you had active when you saved. The two sets are disjoint — a team target doesn't appear in your personal list. In a team, every member can use targets and read them; creating, editing, and removing them requires an admin or owner, same as the rest of the role matrix.

Environments

Every target carries an environment: public, demo, reference, or local. If you don't set one, the harness infers it — endpoints pointing at localhost, LAN addresses, or local-only hostnames are stamped local, everything else public. Environment drives probe gating: undeclared production gets the strictest treatment.

Note

A target with only a domain resolves through normal endpoint discovery on every use. A target with stored endpoints skips discovery — which is what makes local targets usable at all, since a localhost endpoint has no public manifest to discover.

A target stores UCP endpoints only. The store page's WebMCP tools aren't saved: they are read from the page each time a run or the Inspector loads it.

The Targets page

When the Targets page is enabled for your workspace, it lists your saved stores sorted by last use, each with its environment and transport pills, when it was last used, and one-click links into the Inspector or an Agent run, pre-filled with the domain (plus the Conformance readout where that page is enabled). Remove deletes a target. Reference stores and a set of public stores sit alongside — the public list is production stores, which are not yours to declare. Whether or not the page is enabled, the Agent-rail Save as target button and the API routes below always work.

API

EndpointAbility
GET /api/v1/targetstargets:read
POST /api/v1/targetstargets:write
GET /api/v1/targets/{id}targets:read
PATCH /api/v1/targets/{id}targets:write
DELETE /api/v1/targets/{id}targets:write

IDs are ULIDs. The serialized target carries id, domain, label, mcp_endpoint, rest_endpoint, environment, is_owned, notes, last_used_at, and created_at. See the API Reference for shapes and the token abilities that gate each route.