Skip to content
This is the pinned v0.9.4 reference. The current release is v0.10.0go to the latest reference or see the versions page.

intents_submit (v0.9.4)

POST
/intents
curl --request POST \
--url https://example.com/intents \
--header 'Content-Type: application/json' \
--data '{ "authorship": "Unsigned", "intent": { "attrs": { "fields": { "additionalProperty": "example" } }, "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "policy_id": "example" } }'

Submit an intent and its authorship.

The authorship is verified (a signature when present; unsigned intents are accepted where the orchestrator permits it) and the referenced policy must exist before the intent is stored.

Media type application/json

An intent together with its [Authorship].

When signed, the signature is over the JCS (JSON Canonicalization Scheme, RFC 8785) serialization of the intent. A signer serializes the intent with JCS and signs those bytes, for instance in TypeScript:

import canonicalize from "canonicalize";

const jcs = canonicalize(json_intent)
const bytes = new TextEncoder().encode(jcs)
const signed = signer.signBytes(bytes)
object
authorship
required
One of:

A signature over the JCS serialization of the intent.

object
Signed
required
One of:

Ed25519 signature

object
Ed25519
required

Ed25519 signature

object
pub_key
required

The [PubKey] of the signer

string
signature
required

The [Signature]

string
intent
required

The intent that is being authorized.

object
attrs

Attribute values that parameterize the policy.

In JSON, omit this field instead of putting "attrs": null.

object
fields
required
object
key
additional properties
id
required

Unique identifier for this intent.

string format: uuid
policy_id
required

ID of the policy that defines the rules for fulfilling this intent.

string

Intent accepted

Bad request

Media type application/json
object
message
required
string
Example generated
{
"message": "example"
}

Intent already exists

Media type application/json
object
message
required
string
Example generated
{
"message": "example"
}

Internal error

Media type application/json
object
message
required
string
Example generated
{
"message": "example"
}