24
HTTP API

Schema, Submission, Upload, and Resolve

Read and submit forms, stage files, and resolve effective schema.

Schema

  • GET /forms/{key}
  • GET /forms/{key}/versions
  • GET /forms/{key}/versions/{version}

Submission

  • POST /forms/{key}/submit
  • POST /forms/{key}/versions/{version}/submit

Upload (staged)

  • POST /forms/{key}/uploads/stage
  • POST /forms/{key}/versions/{version}/uploads/stage

Resolve

  • POST /forms/{key}/resolve
  • POST /forms/{key}/versions/{version}/resolve
  • POST /forms/{key}/validate-field
  • POST /forms/{key}/versions/{version}/validate-field

validate-field checks a single field value in isolation. Unlike submit, it does not validate or persist a full form payload.

Request body:

{
  "field": "email",
  "value": "john@example.com"
}

Success response:

{
  "valid": true,
  "errors": [],
  "validated": {
    "email": "john@example.com"
  }
}

Failure response:

{
  "valid": false,
  "errors": [
    "The email must be a valid email address."
  ],
  "validated": []
}

If field is missing from the request body, validation fails with a 422 response from the request validator.

Drafts

  • POST /forms/{key}/drafts
  • GET /forms/{key}/drafts/current
  • DELETE /forms/{key}/drafts/current