Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Register a service draft

/api/v1/owner/workspace/servicesPOST
Saves inventory only. Does not contact the URL or configure routing, credentials or enforcement.
Examples are synthetic and illustrate response shape; IDs, signatures, and credentials are not usable authority.
Authorization
ownerSession *cookie halfspan_session
Authenticated HttpOnly owner session. Not an executor credential.
Request Bodyapplication/jsonrequired
name *string
Min length: 2Max length: 100
environment *"demo" | "staging" | "production"
origin?string (uri)
Max length: 500
Response
200 · Successful response. A paused run is an application outcome, not an HTTP error.
id *string
name *string
environment *"demo" | "staging" | "production"
adapter *"merchant" | "bank" | "broker" | null
target *"local" | "hosted" | null
origin *stringnull
gateway *stringnull
channels *"browser" | "http" | "mcp" | "webmcp"[]
operations *object[]
Show item properties
id *string
label *string
endpoint *string
disclosure *string
effect *"read" | "write"
callerRequirement *string
integration *string
400 · Request validation failed.
error *string
reasonCode?string
401 · Sign in to the Halfspan workspace.
error *string
reasonCode?string
403 · Console requests must come from the local owner workspace.
error *string
reasonCode?string
500 · The local service could not complete this request.
error *string
reasonCode?string
Request example
curl -X POST "https://service.example.com/api/v1/owner/workspace/services" \ -H "x-halfspan-owner: 1" \ -b "halfspan_session=<token>" \ -H "Content-Type: application/json" \ -d '{ "name": "Orders API", "environment": "staging" }'
Response example
{ "id": "00000000-0000-4000-8000-000000000002", "name": "Orders API", "environment": "staging", "adapter": null, "target": null, "origin": null, "gateway": null, "channels": [], "operations": [], "callerRequirement": "Not configured", "integration": "Install a backend adapter." }