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.