Skip to content

Form.update

Changes a Form’s fields; submissions already in keep the fields they had.

Action class
None
Approval
Runs on its own
Emits
Form.updated
Price
Free
PATCH https://api.sb/{your-domain}/forms/{id}

It extends the hub’s record call Form.update, which every Form takes. It is one of the Verbs of Forms and waitlists.

Inputs

NameTypeMeaning
idstringRequired. The id of the Form.
fieldsjsonThe fields and their types. Optional.

The hub inherits this call on every Noun: it takes the Form’s own Properties, listed on the hub’s Form page.

Outputs

FieldTypeWhat null means
formFormNever null: the Form as the call leaves it.

Effects

Action class

None: no approval rule names it, so it runs within its seat’s Permissions and Limits

Modes
  • try: Runs every check and returns the record as it would be; nothing is stored.
  • send: Returns a pending Action at once; Form.updated fires when it is done.
  • do: Waits for the Action to finish and returns the record.
Idempotency

Only with a key: the same Idempotency-Key and input return the first Action, and the same key with other input returns 409.

Saved or shared

The Form is saved as the call leaves it, with the Action that changed it.

Emits

Form.updated with { form }

Performed by

Whichever seat calls it

Price

Free on your own account: the platform charges nothing for the call.

On each Venue

It acts on your own records and reaches no Venue, so every account answers the same way.

What try does

Runs every check the call meets and returns the record as it would be; nothing is stored, sent or posted.

Refuses when

The hub sets no guard of its own on this call: it refuses only on the shared checks every write meets (a missing record, a Permission the seat lacks).

When it waits

Returns in one response; nothing waits.

Example

In send mode the call returns its pending Action at once, and Form.updated delivers the result.

You, to your agent
Add a “How many units?” field to the demo form.
Response, in send mode
{
  "mode": "send",
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/action_Sd3kQ9vT2w",
    "operation": "Form.update",
    "status": "pending",
    "reason": "running"
  }
}

To retry, send the same Idempotency-Key: the retry returns the first answer for $0. A new key reads again.

Used by

None.