Agreement programs: sign, terminate
The Agreement Verbs sign, terminate as MCP do programs, with inputs, result, refusals and an example.
Reference for Agreement, one group of Agreement programs.
Agreement.sign
Sign executes an Agreement for one Party and records the signature, the signer and the time. Verb page.
do: return await $.Agreement.sign(input)Emits Agreement.signed.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
agreement | Agreement | required | The Agreement to sign. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
agreement | Agreement | required | The Agreement, in force once every party signs. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
{
"name": "do",
"arguments": {
"code": "return await $.Agreement.sign({ agreement: 'agreement_zHIUnX8LwY' })"
}
}Agreement.terminate
Terminate ends an Agreement under its own term, records the reason and the date, and keeps the signed record. Verb page.
do: return await $.Agreement.terminate(input)Emits Agreement.terminated.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
agreement | Agreement | required | The Agreement in force. |
reason | text | required | The term it ends under and why. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
agreement | Agreement | required | The terminated Agreement, kept forever. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record changed since it was read, so the write would overwrite a newer version. | conflict | Read the record again, then retry the write against its current state. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
{
"name": "do",
"arguments": {
"code": "return await $.Agreement.terminate({ agreement: 'agreement_zHIUnX8LwY', reason: 'Example reason' })"
}
}