Formstep · Schema
MethodCall
The request body: a method name and its parameters. `params` may be omitted; it defaults to `{}`. See `x-formstep-methods` for the list of methods.
FormsAutomationData CollectionWorkflow IntegrationSoftware-as-a-Service
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/formstep-io/json-schema/formstep-io-method-call-schema.json",
"title": "MethodCall",
"description": "The request body: a method name and its parameters. `params` may be omitted; it defaults to `{}`. See `x-formstep-methods` for the list of methods.",
"x-generated": "2026-11-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/formstep-io-openapi.json#/components/schemas/MethodCall",
"oneOf": [
{
"$ref": "#/$defs/MethodsListCall"
},
{
"$ref": "#/$defs/AnalyticsGetCall"
},
{
"$ref": "#/$defs/DocumentsCreateCall"
},
{
"$ref": "#/$defs/FieldsListCall"
},
{
"$ref": "#/$defs/FoldersCreateCall"
},
{
"$ref": "#/$defs/FoldersDeleteCall"
},
{
"$ref": "#/$defs/FoldersListCall"
},
{
"$ref": "#/$defs/FoldersUpdateCall"
},
{
"$ref": "#/$defs/FormSettingsGetCall"
},
{
"$ref": "#/$defs/FormSettingsUpdateCall"
},
{
"$ref": "#/$defs/FormsCreateCall"
},
{
"$ref": "#/$defs/FormsDeleteCall"
},
{
"$ref": "#/$defs/FormsGetCall"
},
{
"$ref": "#/$defs/FormsListCall"
},
{
"$ref": "#/$defs/FormsPublishCall"
},
{
"$ref": "#/$defs/FormsRestoreCall"
},
{
"$ref": "#/$defs/FormsUnpublishCall"
},
{
"$ref": "#/$defs/FormsUpdateCall"
},
{
"$ref": "#/$defs/MeGetCall"
},
{
"$ref": "#/$defs/RequestsCancelCall"
},
{
"$ref": "#/$defs/RequestsCreateCall"
},
{
"$ref": "#/$defs/RequestsDeleteCall"
},
{
"$ref": "#/$defs/RequestsGetCall"
},
{
"$ref": "#/$defs/RequestsListCall"
},
{
"$ref": "#/$defs/RequestsRemindCall"
},
{
"$ref": "#/$defs/RequestsReplayCallbackCall"
},
{
"$ref": "#/$defs/RequestsSampleCall"
},
{
"$ref": "#/$defs/ShareLinksCreateCall"
},
{
"$ref": "#/$defs/ShareLinksListCall"
},
{
"$ref": "#/$defs/ShareLinksUpdateCall"
},
{
"$ref": "#/$defs/SubmissionsListCall"
},
{
"$ref": "#/$defs/SubmissionsPdfCall"
},
{
"$ref": "#/$defs/SubmissionsSampleCall"
},
{
"$ref": "#/$defs/TranslationsAddLanguageCall"
},
{
"$ref": "#/$defs/TranslationsDeleteEntryCall"
},
{
"$ref": "#/$defs/TranslationsListEntriesCall"
},
{
"$ref": "#/$defs/TranslationsListLanguagesCall"
},
{
"$ref": "#/$defs/TranslationsRemoveLanguageCall"
},
{
"$ref": "#/$defs/TranslationsSetEntryCall"
},
{
"$ref": "#/$defs/WebhooksCreateCall"
},
{
"$ref": "#/$defs/WebhooksDeleteCall"
},
{
"$ref": "#/$defs/WebhooksListCall"
},
{
"$ref": "#/$defs/WorkspacesCreateInviteCall"
},
{
"$ref": "#/$defs/WorkspacesGetInviteCall"
},
{
"$ref": "#/$defs/WorkspacesListCall"
},
{
"$ref": "#/$defs/WorkspacesRevokeInviteCall"
},
{
"$ref": "#/$defs/WorkspacesUpdateInviteCall"
}
],
"$defs": {
"AnalyticsGetCall": {
"title": "analytics.get",
"type": "object",
"description": "Get aggregated analytics metrics for a form.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "analytics.get"
},
"params": {
"$ref": "#/$defs/AnalyticsGetParams"
}
}
},
"AnalyticsGetParams": {
"type": "object",
"description": "A Pro feature that follows the workspace owner's plan: if the owner is not on Pro, this returns `UPGRADE_REQUIRED`, including for history recorded while they were.",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID."
},
"from": {
"type": "integer",
"description": "Start of date range as Unix timestamp in milliseconds. Must be less than or equal to `to` when both are set.",
"minimum": 0
},
"to": {
"type": "integer",
"description": "End of date range as Unix timestamp in milliseconds. Omit both for all time.",
"minimum": 0
},
"device": {
"type": "string",
"description": "Filter by device type.",
"enum": [
"all",
"desktop",
"mobile",
"tablet"
],
"default": "all"
},
"trafficSource": {
"type": "string",
"description": "Filter by traffic source (e.g. `\"Direct\"`, `\"Google\"`).",
"maxLength": 255
},
"country": {
"type": "string",
"description": "Filter by 2-letter country code (e.g. `\"US\"`, `\"DE\"`).",
"maxLength": 10
},
"includeEvents": {
"type": "boolean",
"description": "Also return the sanitized analytics events behind the metrics. No visitor ids.",
"default": false
}
}
},
"Cover": {
"description": "Form cover. `{\"type\": \"color\", \"color\": \"#ffffff\"}`, `{\"type\": \"image\", \"url\": \"https://...\", \"offsetY\": 50}`, or `{\"type\": \"none\"}` to remove.",
"oneOf": [
{
"type": "object",
"required": [
"type",
"color"
],
"properties": {
"type": {
"const": "color"
},
"color": {
"type": "string",
"description": "Hex color, `#rgb` or `#rrggbb`.",
"pattern": "^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$"
}
}
},
{
"type": "object",
"required": [
"type",
"url"
],
"properties": {
"type": {
"const": "image"
},
"url": {
"type": "string",
"description": "An `http(s)` URL or a `data:image` URI.",
"pattern": "^(https?://|data:image/)"
},
"offsetY": {
"type": "number",
"description": "Vertical alignment, 0–100.",
"minimum": 0,
"maximum": 100,
"default": 50
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"const": "none"
}
}
}
]
},
"DocumentsCreateCall": {
"title": "documents.create",
"type": "object",
"description": "Reserve an upload for a file you will hand to one recipient through the form's Documents block.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "documents.create"
},
"params": {
"$ref": "#/$defs/DocumentsCreateParams"
}
}
},
"DocumentsCreateParams": {
"type": "object",
"description": "`PUT` the raw bytes to `uploadUrl` within the hour, with `Content-Type` set to the declared type, then reference the id from `requests.create`.",
"required": [
"formId",
"name",
"contentType",
"size"
],
"properties": {
"formId": {
"type": "string",
"description": "The form whose Documents block will show the file. Scopes the upload to that workspace."
},
"name": {
"type": "string",
"description": "Display name the recipient sees (1–200 characters). Overridable per request.",
"minLength": 1,
"maxLength": 200
},
"contentType": {
"type": "string",
"description": "`application/pdf` or an image type. Office documents are not accepted.",
"enum": [
"application/pdf",
"image/png",
"image/jpeg",
"image/webp",
"image/gif",
"image/svg+xml",
"image/avif",
"image/bmp",
"image/tiff"
]
},
"size": {
"type": "integer",
"description": "Exact byte length. Maximum 25 MB (26,214,400).",
"minimum": 1,
"maximum": 26214400
},
"sha256": {
"type": "string",
"description": "Hex digest of the bytes. Verified after upload when given."
}
}
},
"FieldsListCall": {
"title": "fields.list",
"type": "object",
"description": "List every field of a form's current published version, with the key to address each one by.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "fields.list"
},
"params": {
"$ref": "#/$defs/FieldsListParams"
}
}
},
"FieldsListParams": {
"type": "object",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID. A form that has never been published answers `published: false` with no items."
}
}
},
"FoldersCreateCall": {
"title": "folders.create",
"type": "object",
"description": "Create a folder in a workspace.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "folders.create"
},
"params": {
"$ref": "#/$defs/FoldersCreateParams"
}
}
},
"FoldersCreateParams": {
"type": "object",
"description": "Idempotent: returns the existing folder if a folder with the same name already exists.",
"required": [
"workspaceId",
"name"
],
"properties": {
"workspaceId": {
"type": "string",
"description": "Workspace ID."
},
"name": {
"type": "string",
"description": "Folder name (1–255 characters).",
"minLength": 1,
"maxLength": 255
},
"parentId": {
"type": [
"string",
"null"
],
"description": "Parent folder ID for nesting. Omit for root level."
}
}
},
"FoldersDeleteCall": {
"title": "folders.delete",
"type": "object",
"description": "Permanently delete a folder and all its contents (subfolders and forms).",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "folders.delete"
},
"params": {
"$ref": "#/$defs/FoldersDeleteParams"
}
}
},
"FoldersDeleteParams": {
"type": "object",
"required": [
"folderId"
],
"properties": {
"folderId": {
"type": "string",
"description": "Folder ID."
}
}
},
"FoldersListCall": {
"title": "folders.list",
"type": "object",
"description": "List folders in a workspace.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "folders.list"
},
"params": {
"$ref": "#/$defs/FoldersListParams"
}
}
},
"FoldersListParams": {
"type": "object",
"required": [
"workspaceId"
],
"properties": {
"workspaceId": {
"type": "string",
"description": "Workspace ID."
},
"limit": {
"type": "integer",
"description": "Page size (1–100).",
"minimum": 1,
"maximum": 100,
"default": 20
},
"cursor": {
"type": "string",
"description": "Pagination cursor from a previous response (`nextCursor`)."
}
}
},
"FoldersUpdateCall": {
"title": "folders.update",
"type": "object",
"description": "Rename a folder or move it to a different parent.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "folders.update"
},
"params": {
"$ref": "#/$defs/FoldersUpdateParams"
}
}
},
"FoldersUpdateParams": {
"type": "object",
"required": [
"folderId"
],
"properties": {
"folderId": {
"type": "string",
"description": "Folder ID."
},
"name": {
"type": "string",
"description": "New folder name (1–255 characters).",
"minLength": 1,
"maxLength": 255
},
"parentId": {
"type": [
"string",
"null"
],
"description": "New parent folder. Pass `null` to move to root."
}
}
},
"FormSettingsGetCall": {
"title": "formSettings.get",
"type": "object",
"description": "Read a form's behavior settings.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "formSettings.get"
},
"params": {
"$ref": "#/$defs/FormSettingsGetParams"
}
}
},
"FormSettingsGetParams": {
"type": "object",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID."
}
}
},
"FormSettingsUpdateCall": {
"title": "formSettings.update",
"type": "object",
"description": "Update a form's behavior settings.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "formSettings.update"
},
"params": {
"$ref": "#/$defs/FormSettingsUpdateParams"
}
}
},
"FormSettingsUpdateParams": {
"type": "object",
"description": "A partial update: only the fields you send are written. Subjects and bodies are plain text and accept `{{variable}}` placeholders; newlines become paragraphs.",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID."
},
"language": {
"type": "string",
"description": "BCP-47 form language. Default `\"en\"`."
},
"requireAuthentication": {
"type": "boolean"
},
"showBranding": {
"type": "boolean"
},
"captchaEnabled": {
"type": "boolean"
},
"passwordEnabled": {
"type": "boolean"
},
"password": {
"type": [
"string",
"null"
],
"description": "4 characters or more. A string implies `passwordEnabled: true`; `null` clears the gate.",
"minLength": 4
},
"notifyOnSubmission": {
"type": "boolean"
},
"notificationEmails": {
"type": [
"array",
"null"
],
"items": {
"type": "string",
"format": "email"
},
"maxItems": 10,
"description": "Owner notification recipients."
},
"selfNotificationSubject": {
"type": "string",
"description": "Owner emails are not translatable; write them in the language you want."
},
"selfNotificationEmailBody": {
"type": "string"
},
"pdfGenerationEnabled": {
"type": "boolean"
},
"showViewSubmissionButton": {
"type": "boolean"
},
"respondentNotificationEnabled": {
"type": "boolean"
},
"respondentNotificationTo": {
"type": [
"string",
"null"
],
"description": "The field id of an email question, or `null`."
},
"respondentNotificationSubject": {
"type": "string"
},
"respondentNotificationBody": {
"type": "string"
},
"respondentNotificationPdfEnabled": {
"type": "boolean"
},
"respondentReminderEnabled": {
"type": "boolean",
"description": "Pro."
},
"respondentReminderTo": {
"type": [
"string",
"null"
],
"description": "The field id of an email question, or `null`."
},
"respondentReminderSubject": {
"type": "string"
},
"respondentReminderBody": {
"type": "string"
},
"respondentReminderRequiredFieldIds": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"reminderSteps": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Idle offsets like `[\"1d\",\"3d\",\"1w\"]`, at most 5, sorted and deduplicated on save; `[]` for none. Applies to abandoned public-link responses and to requests alike. Pro."
},
"respondentReminderIdleWindow": {
"$ref": "#/$defs/IdleWindow",
"description": "Single-step form of `reminderSteps`, ignored when `reminderSteps` is set.",
"deprecated": true
},
"redirectUrl": {
"type": [
"string",
"null"
],
"description": "`http(s)` URL; `null` or `\"\"` clears."
},
"redirectQueryParams": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"required": [
"paramName",
"fieldId"
],
"properties": {
"paramName": {
"type": "string"
},
"fieldId": {
"type": "string"
}
}
}
},
"allowAnotherResponse": {
"type": "boolean",
"description": "Mutually exclusive with a redirect."
},
"maxSubmissionsPerRespondent": {
"type": "integer",
"description": "0 = unlimited, max 1000.",
"minimum": 0,
"maximum": 1000
},
"editAfterSubmit": {
"type": "boolean"
},
"maxEdits": {
"type": "integer",
"description": "0 = unlimited, max 3.",
"minimum": 0,
"maximum": 3
},
"draftRetentionDays": {
"type": [
"integer",
"null"
],
"description": "0–36500; `null` reverts to the default.",
"minimum": 0,
"maximum": 36500
},
"submissionRetentionDays": {
"type": [
"integer",
"null"
],
"description": "0–36500; `null` reverts to the default. Business. Setting it clears any fixed deletion date configured in the builder.",
"minimum": 0,
"maximum": 36500
},
"emailDomainId": {
"type": [
"string",
"null"
],
"description": "A verified email-domain id from `formSettings.get`, for a custom From address. `null` resets to the default sender."
}
}
},
"FormsCreateCall": {
"title": "forms.create",
"type": "object",
"description": "Create a new empty form.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "forms.create"
},
"params": {
"$ref": "#/$defs/FormsCreateParams"
}
}
},
"FormsCreateParams": {
"type": "object",
"required": [
"name",
"workspaceId"
],
"properties": {
"name": {
"type": "string",
"description": "Form name (1–255 characters).",
"minLength": 1,
"maxLength": 255
},
"workspaceId": {
"type": "string",
"description": "Workspace ID."
},
"folderId": {
"type": [
"string",
"null"
],
"description": "Place the form in a folder. Omit to create at workspace root."
}
}
},
"FormsDeleteCall": {
"title": "forms.delete",
"type": "object",
"description": "Move a form to trash.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "forms.delete"
},
"params": {
"$ref": "#/$defs/FormsDeleteParams"
}
}
},
"FormsDeleteParams": {
"type": "object",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID."
}
}
},
"FormsGetCall": {
"title": "forms.get",
"type": "object",
"description": "Get full details for a single form, including questions, cover, logo, and a preview URL.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "forms.get"
},
"params": {
"$ref": "#/$defs/FormsGetParams"
}
}
},
"FormsGetParams": {
"type": "object",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID."
}
}
},
"FormsListCall": {
"title": "forms.list",
"type": "object",
"description": "List forms in a workspace.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "forms.list"
},
"params": {
"$ref": "#/$defs/FormsListParams"
}
}
},
"FormsListParams": {
"type": "object",
"required": [
"workspaceId"
],
"properties": {
"workspaceId": {
"type": "string",
"description": "Workspace ID."
},
"folderId": {
"type": [
"string",
"null"
],
"description": "Filter by folder. Pass `null` for root-level forms only. Omit to list all."
},
"query": {
"type": "string",
"description": "Fuzzy name search. Results capped at `limit`; not cursor-paginated."
},
"limit": {
"type": "integer",
"description": "Page size (1–100).",
"minimum": 1,
"maximum": 100,
"default": 20
},
"cursor": {
"type": "string",
"description": "Pagination cursor from a previous response (`nextCursor`)."
}
}
},
"FormsPublishCall": {
"title": "forms.publish",
"type": "object",
"description": "Publish a form so it can accept responses, and freeze its field keys into a new snapshot.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "forms.publish"
},
"params": {
"$ref": "#/$defs/FormsPublishParams"
}
}
},
"FormsPublishParams": {
"type": "object",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID."
}
}
},
"FormsRestoreCall": {
"title": "forms.restore",
"type": "object",
"description": "Restore a form from trash.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "forms.restore"
},
"params": {
"$ref": "#/$defs/FormsRestoreParams"
}
}
},
"FormsRestoreParams": {
"type": "object",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID."
},
"folderId": {
"type": [
"string",
"null"
],
"description": "Where to restore it. Omit for its original folder, `null` for workspace root, or a folder ID."
}
}
},
"FormsUnpublishCall": {
"title": "forms.unpublish",
"type": "object",
"description": "Take a form offline.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "forms.unpublish"
},
"params": {
"$ref": "#/$defs/FormsUnpublishParams"
}
}
},
"FormsUnpublishParams": {
"type": "object",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID."
}
}
},
"FormsUpdateCall": {
"title": "forms.update",
"type": "object",
"description": "Update form metadata: name, folder, emoji, cover, or logo.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "forms.update"
},
"params": {
"$ref": "#/$defs/FormsUpdateParams"
}
}
},
"FormsUpdateParams": {
"type": "object",
"description": "Pass at least one of the five updatable fields. Form content is not changed here.",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "Form ID."
},
"name": {
"type": "string",
"description": "New form name (1–255 characters).",
"minLength": 1,
"maxLength": 255
},
"folderId": {
"type": [
"string",
"null"
],
"description": "Move form to a folder. Pass `null` to move to workspace root."
},
"emoji": {
"type": [
"string",
"null"
],
"description": "Form emoji (max 10 characters). Pass `null` to clear.",
"maxLength": 10
},
"cover": {
"$ref": "#/$defs/Cover"
},
"logo": {
"$ref": "#/$defs/Logo"
}
}
},
"IdleWindow": {
"type": "string",
"enum": [
"12h",
"1d",
"3d",
"1w"
]
},
"Logo": {
"description": "Form logo. `{\"type\": \"icon\", \"name\": \"HeartIcon\"}`, `{\"type\": \"image\", \"url\": \"https://...\"}`, or `{\"type\": \"none\"}` to remove.",
"oneOf": [
{
"type": "object",
"required": [
"type",
"name"
],
"properties": {
"type": {
"const": "icon"
},
"name": {
"type": "string",
"description": "Icon name.",
"enum": [
"QuestionMarkIcon",
"ListBulletsIcon",
"ChartBarIcon",
"ClockCountdownIcon",
"HeartIcon",
"LightbulbIcon",
"CheckCircleIcon",
"MagnifyingGlassIcon",
"TrendUpIcon",
"EnvelopeIcon",
"PhoneIcon",
"CalendarIcon",
"LinkIcon",
"UsersIcon"
]
}
}
},
{
"type": "object",
"required": [
"type",
"url"
],
"properties": {
"type": {
"const": "image"
},
"url": {
"type": "string",
"description": "An `http(s)` URL or a `data:image` URI.",
"pattern": "^(https?://|data:image/)"
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"const": "none"
}
}
}
]
},
"MeGetCall": {
"title": "me.get",
"type": "object",
"description": "Get information about the authenticated user.",
"required": [
"method"
],
"properties": {
"method": {
"type": "string",
"const": "me.get"
},
"params": {
"$ref": "#/$defs/MeGetParams"
}
}
},
"MeGetParams": {
"type": "object",
"properties": {},
"description": "No parameters."
},
"MethodsListCall": {
"title": "methods.list",
"type": "object",
"description": "List every method name this deployment serves, sorted.",
"required": [
"method"
],
"properties": {
"method": {
"type": "string",
"const": "methods.list"
},
"params": {
"$ref": "#/$defs/MethodsListParams"
}
}
},
"MethodsListParams": {
"type": "object",
"properties": {},
"description": "No parameters."
},
"RequestOutcome": {
"type": "string",
"description": "The recipient's verdict from a decision question.",
"enum": [
"approve",
"decline",
"changes"
]
},
"RequestStatus": {
"type": "string",
"enum": [
"pending",
"completed",
"expired",
"canceled"
]
},
"RequestsCancelCall": {
"title": "requests.cancel",
"type": "object",
"description": "Withdraw a pending request.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "requests.cancel"
},
"params": {
"$ref": "#/$defs/RequestsCancelParams"
}
}
},
"RequestsCancelParams": {
"type": "object",
"required": [
"requestId"
],
"properties": {
"requestId": {
"type": "string",
"description": "Request ID."
},
"reason": {
"type": "string",
"description": "Your note for why, kept on the request and sent in the callback."
}
}
},
"RequestsCreateCall": {
"title": "requests.create",
"type": "object",
"description": "Create a request.",
"required": [
"method",
"params"
],
"properties": {
"method": {
"type": "string",
"const": "requests.create"
},
"params": {
"$ref": "#/$defs/RequestsCreateParams"
}
}
},
"RequestsCreateParams": {
"type": "object",
"description": "Spends one unit of the workspace's monthly allowance, whether or not the recipient answers.",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"description": "The published form to assign."
},
"recipient": {
"type": "object",
"description": "An email is required when `delivery` is `\"email\"`; otherwise it only identifies the person in the Requests page and on their answers.",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"name": {
"type": "string"
}
}
},
"prefill": {
"type": "object",
"additionalProperties": true,
"description": "Initial answ
# --- truncated at 32 KB (61 KB total) ---
# Full source: https://artifacts.apis.io/formstep-io/json-schema/formstep-io-method-call-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/formstep-io-method-call"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.