Forms: browser forms
7 routes. Paths are relative to https://api.intersink.com/v1.
- GET/forms/channels/{channelId}/definitionsThe channel's browser form definitions (channel managers)
- GET/forms/channels/{channelId}/definitions/{formKey}One browser form definition (channel managers)
- PUT/forms/channels/{channelId}/definitions/{formKey}Create or replace a browser form definition (channel managers)
- DELETE/forms/channels/{channelId}/definitions/{formKey}Remove a browser form definition; what it already filed stays (channel managers)
- GET/public/forms/{formKey}A browser form's public definition: fields, consent wording and version, success message, the Turnstile site key and CV limits (Public, app key)
- POST/public/forms/{formKey}/cv-uploadApplication forms: a 10-minute signed URL to PUT the CV to (PDF or .docx, type and size signed) and the cv_token to send as the file field's value (Public, app key)
- POST/public/forms/{formKey}/submitSend a browser form straight from the page: Turnstile, origin, honeypot, field schema and consent are checked, then it files a CRM lead or a job application. Same answer whether or not the address is known (Public, app key)
The channel's browser form definitions (channel managers)
GET/forms/channels/{channelId}/definitions
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path |
Response
200. data is object[].
One browser form definition (channel managers)
GET/forms/channels/{channelId}/definitions/{formKey}
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path | |
| formKeyrequired | string, path |
Response
200. The payload in data is of type object.
Create or replace a browser form definition (channel managers)
PUT/forms/channels/{channelId}/definitions/{formKey}
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path | |
| formKeyrequired | string, path |
Request body application/json
Schema: object.
Response
200. The payload in data is of type object.
Remove a browser form definition; what it already filed stays (channel managers)
DELETE/forms/channels/{channelId}/definitions/{formKey}
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path | |
| formKeyrequired | string, path |
Response
200. The payload in data is not described in the spec yet.
A browser form's public definition: fields, consent wording and version, success message, the Turnstile site key and CV limits (Public, app key)
GET/public/forms/{formKey}
Public: no sign-in needed.
Parameters
| Name | Type | Description |
|---|---|---|
| X-App-Key | string, header | The channel's publishable app key (kk_app_live_…). Never a server key. |
| formKeyrequired | string, path |
Response
200. The payload in data is not described in the spec yet.
Application forms: a 10-minute signed URL to PUT the CV to (PDF or .docx, type and size signed) and the cv_token to send as the file field's value (Public, app key)
POST/public/forms/{formKey}/cv-upload
Public: no sign-in needed.
Parameters
| Name | Type | Description |
|---|---|---|
| X-App-Key | string, header | The channel's publishable app key (kk_app_live_…). Never a server key. |
| formKeyrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| job_id | number | Application forms without a fixed job: the job applied for (submit must name the same one) Minimum 1. |
| filenamerequired | string | The file's name as picked; its extension must fit content_type At least 1 characters, at most 200 characters. |
| content_typerequired | string | One of: "application/pdf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document". |
| sizerequired | number | Exact size in bytes (1 to 5242880) Minimum 1, maximum 5242880. |
Response
201. The payload in data is not described in the spec yet.
Send a browser form straight from the page: Turnstile, origin, honeypot, field schema and consent are checked, then it files a CRM lead or a job application. Same answer whether or not the address is known (Public, app key)
POST/public/forms/{formKey}/submit
Public: no sign-in needed.
Parameters
| Name | Type | Description |
|---|---|---|
| X-App-Key | string, header | The channel's publishable app key (kk_app_live_…). Never a server key. |
| formKeyrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| fields | object | The answers, keyed by the form's field keys (see GET /public/forms/:formKey) |
| consent | boolean | The visitor ticked the consent box shown with the form's consent.text |
| consent_version | string | consent.version the page showed; a stale one is refused with 409 FORM_CHANGED At most 32 characters. |
| captcha_token | string | Cloudflare Turnstile token from the widget on the page (single use) At most 2048 characters. |
| website | string | Honeypot: render it hidden and leave it empty At most 500 characters. |
| job_id | number | Application forms without a fixed job: the job applied for Minimum 1. |
| page_url | string | Page the form was sent from At most 500 characters. |
| utm_source | string | At most 200 characters. |
| utm_medium | string | At most 200 characters. |
| utm_campaign | string | At most 200 characters. |
| utm_term | string | At most 200 characters. |
| utm_content | string | At most 200 characters. |
Response
202. The payload in data is not described in the spec yet.