Set up a first agent and start its first run
const url = 'https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/setup';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', 'X-Katara-CSRF': '1', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"starter":"assistant","instructions":"example","first_task":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/setup \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --header 'X-Katara-CSRF: 1' \ --data '{ "starter": "assistant", "instructions": "example", "first_task": "example" }'Requires an owner or admin in a signed-in session, in a Test environment. Creates an agent, uses or creates a content store, activates a starter policy when the environment has none, writes the starter’s instructions, schemas and first input, funds a one-credit budget for thirty days, issues the grants a run needs, publishes the agent’s first version, gives it read access to that version’s content and admits a first run. Each finished step is kept. A person has one setup under way per environment: starting again with the same request continues it whatever the idempotency key, a different request answers setup_in_progress until it finishes or is discarded, and a repeated key returns its own setup once finished. An interruption such as a stale sign-in or access not yet delivered is returned as an error.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”Browser cookie mutations require value 1 and an allowed Origin. Session bearer clients may omit this header.
Required for cookie-authenticated changes. Use the UUID of the account that loaded the application. A different current cookie account returns account_changed before the handler runs. Session bearer and API key clients do not require this header.
Request Bodyrequired
Section titled “Request Bodyrequired”The starter agent to set up. A blank agent also carries the instructions and first task the person wrote; the other starters carry neither.
object
Responses
Section titled “Responses”Successful request
How far a setup has come and the request it was started with. A setup is done once its first run is admitted and discarded once its person gives it up; while running, starting again with the same request continues it.
object
The starter agent to set up. A blank agent also carries the instructions and first task the person wrote; the other starters carry neither.
object
One step of a setup and whether it has finished.
object
Example
{ "starter": "assistant", "request": { "starter": "assistant" }, "state": "running", "steps": [ { "name": "agent" } ]}Account_changed: reload and review with the signed-in account.
default
Section titled “default”Request error
object
object
Stable; branch on it. Any operation can answer invalid_request, with param naming the refused field when there is one; human_session_required, when an API key, service account or workload calls an operation only a signed-in person may perform; reauthentication_required, when a person’s sign-in is too old for the operation; permission_denied; route_not_found and method_not_allowed, when no operation matches the path or method; and feature_unavailable, when the operation’s service is not enabled on this deployment.
The request field a refusal is about, such as the agent_id or run_id query parameter; null when the refusal is not about one field.
Example
{ "error": { "action": "sign_in" }}