Skip to content

Manifest Key Reference

This annex indexes every key of a connector manifest, with its operational consequence, for a connector author and for a manifest linter. The connector manifest section is the definition.

An implementation MUST reject a manifest that holds a key which this annex does not list, unless the key begins with x-.

Key Type Required Consequence
manifest int yes The manifest format version. An implementation that does not support it rejects the manifest.
connector name yes The namespace of every connector.action and connector.event reference.
version semver yes What a version-pinned reference selects, and what the resolution records.
self_hosted bool no Permits a host parameter with no pattern, and requires the deployment host policy.
auth map yes See auth.
connection map no See connection.<name>.
schemas map no Named schemas, referenced by $ref. See schemas.<name>.
actions map no See actions.<name>.
triggers map no See triggers.<name>.
Key Type Required Consequence
type name yes Gives meaning to every scope string. Opaque to this standard.
scopes list[string] no The baseline that every action and trigger requires.

A field declaration, plus:

Key Type Required Consequence
source enum[user, auth] no user means the account holder supplies the value. auth means the authorization flow returns it. Default user.
prompt string no The text shown when a source: user value is requested.
in enum[host, path] no Declares that the parameter contributes to the address. in: host requires pattern, unless the manifest declares self_hosted.
Key Type Required Consequence
scopes list[string] no Added to the baseline for this action alone. Verified against the connection before execution.
input map of field declarations no Arguments are validated against it before dispatch.
output map of field declarations no The shape that the step’s binding takes, and what expression paths resolve against.
idempotent bool no Permits on_unknown: retry, and satisfies the redo-set rule. Default false.
idempotency_param name no The argument that a step’s idempotency_key supplies. Absent, idempotent: true promises natural idempotency.
deterministic bool no Permits caching under a declared cache key, and nothing else. Default false.
validated_output bool no Requires output validation before binding, and permits an exhaustively-checked route over an enum output. Default false.
rate_limit { rps, burst } no Advisory. Implementations SHOULD respect it. It does not affect a result.
retry map no The default retry policy. See retry and errors.
errors map no Classifies each producible code. See retry and errors.
sample path no A recorded example output, for tooling and the suite. It is not a schema.
Key Type Required Consequence
kind enum[webhook, poll, schedule, manual] yes Selects the trigger machinery. A poll trigger owns its cursor.
binds name yes The default binding name, which lets a file omit as.
input map of field declarations no The configuration keys of an on entry are validated against it.
correlate_on list[name] no The fields that a wait_for or a subscription supplies in match. Without it, no suspended run can await this event.
scopes list[string] no Added to the baseline for this trigger alone.
output map or $ref no The payload shape that expressions resolve against.
sample path no A recorded example payload.
Key Type Required Consequence
retry.attempts positive int yes Total attempts, counting the first.
retry.backoff enum[none, fixed, exponential] yes The delay schedule.
retry.initial / retry.max duration no The first delay and the ceiling.
errors.<code>.class enum[retryable, fatal, unknown] yes Decides whether a failure is re-issued, is final, or invokes on_unknown.
errors.<code>.message string no Diagnostic text for the author.

An errors key is an exact code, or a pattern of the form <digit>xx. An exact key takes precedence. An unlisted code is classified unknown.

Key Type Required Consequence
defined_by enum[connection] no Marks the entry as an extension point. A value of that schema is an extension region, refined per connection by an overlay.

An entry without defined_by is an ordinary named schema, expressed as JSON Schema draft 2020-12.