Create an immutable content upload intent
const url = 'https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/content/uploads';const options = { method: 'POST', headers: { 'X-Katara-CSRF': '1', 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"store_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","object_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","previous_version":1,"integrity":"example","media_type":"text/plain","size_bytes":1,"name":"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/content/uploads \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --header 'X-Katara-CSRF: 1' \ --data '{ "store_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "object_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "previous_version": 1, "integrity": "example", "media_type": "text/plain", "size_bytes": 1, "name": "example" }'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”object
The object’s display name. A first version without one leaves the object unnamed; a later version without one keeps its name.
Responses
Section titled “Responses”Successful request
object
object
Example
{ "content": { "media_type": "text/plain" }, "state": "uploading"}Account_changed: reload and review with the signed-in account. storage_quota_exceeded: the organization’s Katara storage in this environment would pass its quota; delete content or use a connected bucket.
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" }}