Developer documentation API v1

Build with AbcSubmit

Create forms, publish them anywhere, and work with submissions through a simple REST API.

request.sh
curl https://www.abcsubmit.com/api/v1/forms/ \
  -H "JWT: $TOKEN"

Three steps

From first request to first submission

Use the examples below as a working starting point. Replace the placeholders with your own values and keep tokens server-side.

01

Authenticate

Log in to receive a token for protected requests.

Example request

curl -X POST https://www.abcsubmit.com/api/v1/users/login \
  -d "username=you@example.com" \
  -d "password=YOUR_PASSWORD"
02

Find a form

List the forms available to the authenticated account.

Example request

curl https://www.abcsubmit.com/api/v1/forms/ \
  -H "JWT: $TOKEN"
03

Submit data

Send a JSON submission to a published form.

Example request

curl -X POST https://www.abcsubmit.com/api/v1/forms/{form_id}/submit \
  -H "Content-Type: application/json" \
  -d '{"submission":{"email":"you@example.com"}}'
Authentication note: send the token returned by login in the JWT: YOUR_TOKEN header. Never expose credentials or tokens in browser code.

Before you ship

Conventions that keep integrations predictable

These rules apply across the API and help you handle requests safely in production.

Responses

Successful endpoints return JSON. Treat the HTTP status as the source of truth and parse the body only after checking it.

200 OK
Content-Type: application/json

{ "id": "form_id", "name": "Support request" }

Errors

API error responses include message, type, and file; UI exceptions may also include field. Send X-Requested-With: XMLHttpRequest when you need JSON errors.

{
  "message": "Invalid request argument",
  "type": "FormsException::ERR_INVALID_ARGUMENT"
}

HTTP status codes

Most controller exceptions become 500; missing forms use 404. Some endpoints return their own statuses such as 400, 409, 417, 429, 451, or 503. Check the endpoint reference before retrying.

GET /api/v1/forms/missing_form
→ 404 Not Found

Pagination

Submission lists accept limit and skip as query parameters. The form submission list defaults to 20 records from offset 0.

GET /api/v1/submissions/{form_id}
  ?limit=50&skip=100

Authorization

A valid JWT authenticates the caller, but form and workflow operations also check ownership or shared permissions. A user may be authenticated and still be denied access.

JWT: YOUR_TOKEN
Requires the endpoint's permission

Request and response fields

Requests use named parameters. JSON values such as submission, calendar, event, settings, and payment are sent as JSON strings; successful responses use JSON objects or arrays.

submission='{"email":"you@example.com"}'
Content-Type: application/x-www-form-urlencoded

JWT lifecycle

Login returns the token as a JSON string. Tokens expire after 14 days by default; expiration_days can request a different lifetime, with a minimum of one day. Renew before expiry.

POST /api/v1/users/login/renew
JWT: YOUR_TOKEN

Submission exports

Request an export as csv, json, xls, or pdf. Exports are queued by default and the form owner receives the download link by email. Set async=0 only for CSV, JSON, or XLS exports with at most 200 submissions.

POST /api/v1/submissions/{form_id}/export/csv
JWT: YOUR_TOKEN
async=1

Response:
{ "id": 42, "dataFormat": "csv", "status": "pending", "downloadPath": null }

Versioning & security

All documented routes are under /api/v1. Use HTTPS, keep tokens on your server, and redact credentials from logs.

Review the v1 reference →

Submission lifecycle

Send partial=1 to save a draft. Store the returned id and editUrl; its auth value is needed when finalizing or saving the draft again.

POST /api/v1/forms/{form_id}/submit
partial=1
submission=SUBMISSION_JSON

Submission response

Store the returned ID and inspect partial, state, paymentStatus, approvalStatus, and referenceId when syncing records. Partial saves also return an editUrl.

{
  "id": 123,
  "formId": "FORM_ID",
  "partial": true,
  "state": "pending",
  "submission": {},
  "editUrl": "/view/FORM_ID?action=resume-submission&submission_id=123&auth=AUTH_CODE"
}

Files & payments

Use multipart upload for files. Payment settings are gateway-specific JSON; never place secret gateway credentials in browser code.

POST /api/v1/files/{form_id}
multipart/form-data
file=@attachment.pdf

Workflow operations

After creating a workflow, use the instance endpoints to monitor execution and perform approval actions. Comments are optional on approve/reject requests.

POST /api/v1/workflows/instance/{workflow_instance_id}/approvals/{form_id}/{submission_id}/{workflow_step_id}/approve
comment=Approved

Calendar availability

For appointment fields, query availability by form, field name, and date before creating or updating calendar events.

GET /api/v1/forms/{form_id}/appointment-availability
?field=appointment&date=2026-10-01

API reference

Every endpoint, in one place

Each endpoint shows its HTTP method, path, purpose, and required parameters. Paths are relative to https://www.abcsubmit.com.

authentication

Change Password

Auth requiredpost

/api/v1/users/change-password

Changes password of a user

Example request

curl -X POST https://www.abcsubmit.com/api/v1/users/change-password \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/users/change-password');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/users/change-password', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

old_passwordOld Password
new_passwordNew password
confirm_passwordConfirm new password

authentication

Create Account

Public / optional authpost

/api/v1/users/create-account

Sign-Up?

Example request

curl -X POST https://www.abcsubmit.com/api/v1/users/create-account \
  -d user_name=YOUR_USERNAME \
  -d email=you@example.com \
  -d first_name=Your \
  -d last_name=Name \
  -d password=YOUR_PASSWORD \
  -d confirm_password=YOUR_PASSWORD

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/users/create-account');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/users/create-account', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

user_nameUsername
emailEmail
first_nameFirst name
last_nameLast name
passwordstring
confirm_passwordstrint

authentication

Forgot password

Public / optional authpost

/api/v1/users/forgot-password

Did you forgot your password?

Example request

curl -X POST https://www.abcsubmit.com/api/v1/users/forgot-password \
  -d email=you@example.com

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/users/forgot-password');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/users/forgot-password', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

emailThe email address associated to forgotten account

authentication

Login

Public / optional authpost

/api/v1/users/login

Login a user based on a username and password

Example request

curl -X POST https://www.abcsubmit.com/api/v1/users/login \
  -d username=you@example.com \
  -d password=YOUR_PASSWORD

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/users/login');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/users/login', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

username- Email or username
password- Plain text password
expiration_daysOptional token lifetime in days; defaults to 14 and cannot be less than 1

authentication

Renew login token

Auth requiredpost

/api/v1/users/login/renew

Renews the authenticated user's token before it expires

Example request

curl -X POST https://www.abcsubmit.com/api/v1/users/login/renew \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/users/login/renew');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/users/login/renew', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

No parameters documented for this endpoint.

account

Your user plan

Auth requiredget

/api/v1/users/my-plan

Show you details regarding your current plan limits

Example request

curl https://www.abcsubmit.com/api/v1/users/my-plan \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/users/my-plan');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/users/my-plan', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

No parameters documented for this endpoint.

account

Account usage

Auth requiredget

/api/v1/users/my-stats

Shows you details about your current plan usage

Example request

curl https://www.abcsubmit.com/api/v1/users/my-stats \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/users/my-stats');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/users/my-stats', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

No parameters documented for this endpoint.

account

Personalized offer

Auth requiredget

/api/v1/users/my-upgrade-plans

When you have enterprise deals with us...

Example request

curl https://www.abcsubmit.com/api/v1/users/my-upgrade-plans \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/users/my-upgrade-plans');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/users/my-upgrade-plans', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

No parameters documented for this endpoint.

account

Current public offer

Public / optional authget

/api/v1/users/plans

Use this in order to get the public offer of our plans

Example request

curl https://www.abcsubmit.com/api/v1/users/plans

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/users/plans');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/users/plans', {
    method: 'GET',
});
console.log(await response.text());

No parameters documented for this endpoint.

calendars

List calendars

Auth requiredget

/api/v1/calendars/

Lists calendars owned by the authenticated user

Example request

curl https://www.abcsubmit.com/api/v1/calendars/ \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

No parameters documented for this endpoint.

calendars

List time zones

Public / optional authget

/api/v1/calendars/timezones

Lists supported IANA time zone identifiers

Example request

curl https://www.abcsubmit.com/api/v1/calendars/timezones

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/timezones');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/timezones', {
    method: 'GET',
});
console.log(await response.text());

No parameters documented for this endpoint.

calendars

Get calendar

Auth requiredget

/api/v1/calendars/{calendar_id}

Retrieves one calendar owned by the authenticated user

Example request

curl https://www.abcsubmit.com/api/v1/calendars/{calendar_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

calendar_idThe calendar ID

calendars

Query calendar events

Auth requiredget

/api/v1/calendars/{calendar_id}/query

Queries events in a calendar owned by the authenticated user

Example request

curl https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/query \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/query');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/query', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

calendar_idThe calendar ID
from_dateOptional start date
to_dateOptional end date

calendars

Get appointment availability

Public / optional authget

/api/v1/forms/{form_id}/appointment-availability

Returns available appointment slots for an appointment field

Example request

curl "https://www.abcsubmit.com/api/v1/forms/{form_id}/appointment-availability?field=appointment&date=2026-10-01"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/{form_id}/appointment-availability');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/{form_id}/appointment-availability', {
    method: 'GET',
});
console.log(await response.text());

Parameters

form_idThe form ID
fieldThe appointment field name
dateThe date to query

calendars

Get public calendar

Public / optional authget

/api/v1/public/calendars/{calendar_id}

Retrieves the public-safe representation of a calendar

Example request

curl https://www.abcsubmit.com/api/v1/public/calendars/{calendar_id}

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/public/calendars/{calendar_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/public/calendars/{calendar_id}', {
    method: 'GET',
});
console.log(await response.text());

Parameters

calendar_idThe calendar ID

calendars

Query public calendar events

Public / optional authget

/api/v1/public/calendars/{calendar_id}/query

Queries publicly available events in a calendar

Example request

curl https://www.abcsubmit.com/api/v1/public/calendars/{calendar_id}/query

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/public/calendars/{calendar_id}/query');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/public/calendars/{calendar_id}/query', {
    method: 'GET',
});
console.log(await response.text());

Parameters

calendar_idThe calendar ID
from_dateOptional start date
to_dateOptional end date

calendars

Create calendar

Auth requiredpost

/api/v1/calendars/

Creates a calendar from a JSON calendar object

Example request

curl -X POST https://www.abcsubmit.com/api/v1/calendars/ \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

calendarCalendar definition in JSON format

calendars

Create calendar event

Auth requiredpost

/api/v1/calendars/{calendar_id}/create

Creates an event in a calendar owned by the authenticated user

Example request

curl -X POST https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/create \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/create');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/create', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

calendar_idThe calendar ID
eventEvent definition in JSON format

calendars

Update calendar

Auth requiredput

/api/v1/calendars/{calendar_id}

Updates a calendar owned by the authenticated user

Example request

curl -X PUT https://www.abcsubmit.com/api/v1/calendars/{calendar_id} \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}', {
    method: 'PUT',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

calendar_idThe calendar ID
calendarUpdated calendar definition in JSON format

calendars

Update calendar event

Auth requiredput

/api/v1/calendars/{calendar_id}/{calendar_event_id}/update

Updates an event in a calendar owned by the authenticated user

Example request

curl -X PUT https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/{calendar_event_id}/update \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/{calendar_event_id}/update');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/{calendar_event_id}/update', {
    method: 'PUT',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

calendar_idThe calendar ID
calendar_event_idThe event ID
eventUpdated event definition in JSON format

calendars

Delete calendar

Auth requireddelete

/api/v1/calendars/{calendar_id}

Deletes a calendar owned by the authenticated user

Example request

curl -X DELETE https://www.abcsubmit.com/api/v1/calendars/{calendar_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}', {
    method: 'DELETE',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

calendar_idThe calendar ID

calendars

Delete calendar event

Auth requireddelete

/api/v1/calendars/{calendar_id}/{calendar_event_id}/delete

Deletes an event from a calendar owned by the authenticated user

Example request

curl -X DELETE https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/{calendar_event_id}/delete \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/{calendar_event_id}/delete');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/calendars/{calendar_id}/{calendar_event_id}/delete', {
    method: 'DELETE',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

calendar_idThe calendar ID
calendar_event_idThe event ID

embed

Get form JS embed code

Public / optional authget

/embed/{form_id}/{seo_form_name}.js

Returns the JS code needed to embed a form

Example request

curl https://www.abcsubmit.com/embed/{form_id}/{seo_form_name}.js

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/embed/{form_id}/{seo_form_name}.js');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/embed/{form_id}/{seo_form_name}.js', {
    method: 'GET',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
seo_form_nameA string with the form name (for SEO purposes). Eg: "support-form"

files

List form files

Auth requiredget

/api/v1/storage/form/{form_id}

Lists files associated with a form

Example request

curl https://www.abcsubmit.com/api/v1/storage/form/{form_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/storage/form/{form_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/storage/form/{form_id}', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe ID of the form

files

List user files

Auth requiredget

/api/v1/storage/user

Lists files owned by the authenticated user

Example request

curl https://www.abcsubmit.com/api/v1/storage/user \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/storage/user');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/storage/user', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

No parameters documented for this endpoint.

files

Get file URL

Auth requiredget

/api/v1/storage/{file_id}

Returns the URL for an uploaded file

Example request

curl https://www.abcsubmit.com/api/v1/storage/{file_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/storage/{file_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/storage/{file_id}', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

file_idThe ID of the file

files

Upload submission file

Public / optional authpost

/api/v1/files/{form_id}

Uploads a file for a form submission

Example request

curl -X POST https://www.abcsubmit.com/api/v1/files/{form_id} \
  -H "JWT: $TOKEN" \
  -F file=@./attachment.pdf

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/files/{form_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/files/{form_id}', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
submission_idOptional submission ID
fileThe multipart uploaded file

files

Upload submission file

Public / optional authpost

/api/v1/files/{form_id}/{bytes:bytes}

Uploads a file for a form submission

Example request

curl -X POST https://www.abcsubmit.com/api/v1/files/{form_id}/{bytes:bytes} \
  -H "JWT: $TOKEN" \
  -F file=@./attachment.pdf

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/files/{form_id}/{bytes:bytes}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/files/{form_id}/{bytes:bytes}', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
submission_idOptional submission ID
fileThe multipart uploaded file

files

Upload form file

Auth requiredpost

/api/v1/storage/{form_id}

Uploads a file associated with a form using multipart form data

Example request

curl -X POST https://www.abcsubmit.com/api/v1/storage/{form_id} \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/storage/{form_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/storage/{form_id}', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
fileThe multipart uploaded file

files

Delete file

Auth requireddelete

/api/v1/storage/{file_id}

Deletes an uploaded file

Example request

curl -X DELETE https://www.abcsubmit.com/api/v1/storage/{file_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/storage/{file_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/storage/{file_id}', {
    method: 'DELETE',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

file_idThe ID of the file

forms

Forms list

Auth requiredget

/api/v1/forms/

Shows you the list with your forms

Example request

curl https://www.abcsubmit.com/api/v1/forms/ \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

No parameters documented for this endpoint.

forms

Shared forms

Auth requiredget

/api/v1/forms/shared-forms

Lists forms that have been shared with the authenticated user

Example request

curl https://www.abcsubmit.com/api/v1/forms/shared-forms \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/shared-forms');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/shared-forms', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

No parameters documented for this endpoint.

forms

Get form document

Auth requiredget

/api/v1/forms/{form_id}

Retrieve the serialized JSON of a form document

Example request

curl https://www.abcsubmit.com/api/v1/forms/{form_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/{form_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/{form_id}', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_id- The ID of the form

forms

Get form templates

Public / optional authget

/api/v1/templates

Get form templates in JSON format

Example request

curl https://www.abcsubmit.com/api/v1/templates

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/templates');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/templates', {
    method: 'GET',
});
console.log(await response.text());

No parameters documented for this endpoint.

forms

Get form template document

Public / optional authget

/api/v1/templates/{form_id}

Retrieve the serialized JSON of a form template

Example request

curl https://www.abcsubmit.com/api/v1/templates/{form_id}

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/templates/{form_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/templates/{form_id}', {
    method: 'GET',
});
console.log(await response.text());

Parameters

form_idThe ID of the form template

forms

Create or update form

Auth requiredput

/api/v1/forms/

Creates a new form or updates an existing form owned by the authenticated user

Example request

curl -X PUT https://www.abcsubmit.com/api/v1/forms/ \
  -H "JWT: $TOKEN" \
  -d name=Support_request \
  -d document=DOCUMENT_JSON \
  -d isTemplate=0

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/', {
    method: 'PUT',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

idOptional form ID. Omit it to create a new form.
nameThe form name.
documentThe serialized form document in JSON format.
isTemplateOptional flag: 1 to save as a template, otherwise 0.

forms

Delete form

Auth requireddelete

/api/v1/forms/{form_id}

Deletes a form

Example request

curl -X DELETE https://www.abcsubmit.com/api/v1/forms/{form_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/{form_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/{form_id}', {
    method: 'DELETE',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe ID of the form template

payments

List payment gateways

Public / optional authget

/api/v1/payments/gateways

Lists payment gateways enabled on the platform

Example request

curl https://www.abcsubmit.com/api/v1/payments/gateways

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/payments/gateways');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/payments/gateways', {
    method: 'GET',
});
console.log(await response.text());

No parameters documented for this endpoint.

payments

Get payment gateway

Public / optional authget

/api/v1/payments/gateways/{processor_type_id}

Retrieves one payment gateway definition

Example request

curl https://www.abcsubmit.com/api/v1/payments/gateways/{processor_type_id}

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/payments/gateways/{processor_type_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/payments/gateways/{processor_type_id}', {
    method: 'GET',
});
console.log(await response.text());

Parameters

processor_type_idThe payment gateway type ID

payments

Payment failure callback

Public / optional authget

/api/v1/payments/pay/failure/{form_id}/{payment_id}

Handles a payment cancellation or failure callback

Example request

curl https://www.abcsubmit.com/api/v1/payments/pay/failure/{form_id}/{payment_id}

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/payments/pay/failure/{form_id}/{payment_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/payments/pay/failure/{form_id}/{payment_id}', {
    method: 'GET',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
payment_idThe ID of the payment

payments

Payment success callback

Public / optional authget

/api/v1/payments/pay/success/{form_id}/{payment_id}

Handles a successful payment callback

Example request

curl https://www.abcsubmit.com/api/v1/payments/pay/success/{form_id}/{payment_id}

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/payments/pay/success/{form_id}/{payment_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/payments/pay/success/{form_id}/{payment_id}', {
    method: 'GET',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
payment_idThe ID of the payment

payments

Get form payment settings

Auth requiredget

/api/v1/payments/settings/{form_id}

Lists payment gateway settings configured for a form

Example request

curl https://www.abcsubmit.com/api/v1/payments/settings/{form_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/payments/settings/{form_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/payments/settings/{form_id}', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe ID of the form

payments

Get active form payment gateways

Public / optional authget

/api/v1/payments/{form_id}/active-gateways

Lists payment gateways active for a form

Example request

curl https://www.abcsubmit.com/api/v1/payments/{form_id}/active-gateways

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/payments/{form_id}/active-gateways');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/payments/{form_id}/active-gateways', {
    method: 'GET',
});
console.log(await response.text());

Parameters

form_idThe ID of the form

payments

Charge payment

Public / optional authput

/api/v1/payments/charge/{form_id}/{payment_id}

Charges a payment created by a form submission

Example request

curl -X PUT https://www.abcsubmit.com/api/v1/payments/charge/{form_id}/{payment_id} \
  -d payment='PAYMENT_PROCESSOR_JSON'

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/payments/charge/{form_id}/{payment_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/payments/charge/{form_id}/{payment_id}', {
    method: 'PUT',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
payment_idThe ID of the payment
paymentPayment processor data in JSON format

payments

Save form payment settings

Auth requiredput

/api/v1/payments/settings/{form_id}/{payment_gateway_type_id}

Creates or updates payment gateway settings for a form

Example request

curl -X PUT https://www.abcsubmit.com/api/v1/payments/settings/{form_id}/{payment_gateway_type_id} \
  -H "JWT: $TOKEN" \
  -d settings='PAYMENT_SETTINGS_JSON'

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/payments/settings/{form_id}/{payment_gateway_type_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/payments/settings/{form_id}/{payment_gateway_type_id}', {
    method: 'PUT',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
payment_gateway_type_idThe payment gateway type ID
settingsGateway-specific settings as JSON

payments

Delete form payment settings

Auth requireddelete

/api/v1/payments/settings/{form_id}/{payment_gateway_type_id}

Removes a payment gateway from a form

Example request

curl -X DELETE https://www.abcsubmit.com/api/v1/payments/settings/{form_id}/{payment_gateway_type_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/payments/settings/{form_id}/{payment_gateway_type_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/payments/settings/{form_id}/{payment_gateway_type_id}', {
    method: 'DELETE',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe ID of the form
payment_gateway_type_idThe payment gateway type ID

submission

Get submissions

Auth requiredget

/api/v1/submissions/{form_id}

Get form submissions

Example request

curl https://www.abcsubmit.com/api/v1/submissions/{form_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/submissions/{form_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/submissions/{form_id}', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe ID of the form
limit<optional> integer - Limit number of results returned by api
skip<optional> integer - Skip number of results

submission

Get submissions count

Auth requiredget

/api/v1/submissions/{form_id}/count

Get form number of submissions

Example request

curl https://www.abcsubmit.com/api/v1/submissions/{form_id}/count \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/submissions/{form_id}/count');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/submissions/{form_id}/count', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe ID of the form

submission

Get submission

Auth requiredget

/api/v1/submissions/{form_id}/{submission_id}

Retrieves one submission by ID when the caller has submission read access to the form

Example request

curl https://www.abcsubmit.com/api/v1/submissions/{form_id}/{submission_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/submissions/{form_id}/{submission_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/submissions/{form_id}/{submission_id}', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe ID of the form
submission_idThe ID of the submission

submission

Finalize partial submission

Public / optional authpost

/api/v1/forms/{form_id}/finalize-submission/{submission_id}

Finalizes a partial submission using its resume authorization code

Example request

curl -X POST https://www.abcsubmit.com/api/v1/forms/{form_id}/finalize-submission/{submission_id} \
  -d auth=RESUME_AUTHORIZATION_CODE \
  -d submission=SUBMISSION_JSON

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/{form_id}/finalize-submission/{submission_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/{form_id}/finalize-submission/{submission_id}', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
submission_idThe ID of the partial submission
authThe resume authorization code
submissionThe submission data in JSON format

submission

Submit data

Public / optional authpost

/api/v1/forms/{form_id}/submit

Submits data to a form

Example request

curl -X POST https://www.abcsubmit.com/api/v1/forms/{form_id}/submit \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d submission='SUBMISSION_JSON' \
  -d partial=0 \
  -d recaptcha=RECAPTCHA_TOKEN

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/{form_id}/submit');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/{form_id}/submit', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form template
recaptchaThe Google recaptcha code
submissionThe submission in JSON format

submission

Update submission

Auth requiredpost

/api/v1/forms/{form_id}/update-submission/{submission_id}

Updates an existing submission, including workflow-edit submissions

Example request

curl -X POST https://www.abcsubmit.com/api/v1/forms/{form_id}/update-submission/{submission_id} \
  -H "JWT: $TOKEN" \
  -d submission=SUBMISSION_JSON

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/{form_id}/update-submission/{submission_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/{form_id}/update-submission/{submission_id}', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
submission_idThe ID of the submission
submissionThe updated submission data in JSON format

submission

Export submissions

Auth requiredpost

/api/v1/submissions/{form_id}/export/{format}

Creates a submission export request. The export runs asynchronously by default and the form owner receives an email with a download link when it is complete.

Example request

curl -X POST "https://www.abcsubmit.com/api/v1/submissions/{form_id}/export/{format}" \
  -H "JWT: $TOKEN" \
  -d async=1

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/submissions/{form_id}/export/{format}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/submissions/{form_id}/export/{format}', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
formatCan be "json", "xls", "csv", or "pdf"
asyncOptional request parameter. Defaults to "1". Set to "0" to generate synchronously for up to 200 submissions.

submission

Toggle save for later

Auth requiredput

/api/v1/forms/{form_id}/save-for-later/{submission_id}

Enables or disables save-for-later for an owned partial submission

Example request

curl -X PUT https://www.abcsubmit.com/api/v1/forms/{form_id}/save-for-later/{submission_id} \
  -H "JWT: $TOKEN" \
  -d enabled=1

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/forms/{form_id}/save-for-later/{submission_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/forms/{form_id}/save-for-later/{submission_id}', {
    method: 'PUT',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
submission_idThe ID of the submission
enabledOptional flag: 1 to enable, 0 to disable

submission

Delete submission

Auth requireddelete

/api/v1/submissions/{form_id}/{submission_id}

Delete a submission

Example request

curl -X DELETE https://www.abcsubmit.com/api/v1/submissions/{form_id}/{submission_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/submissions/{form_id}/{submission_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/submissions/{form_id}/{submission_id}', {
    method: 'DELETE',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe ID of the form
submission_idThe ID of the submission

workflows

Get workflow analytics snapshots

Auth requiredget

/api/v1/workflows/analytics/{form_id}/snapshots

Lists workflow analytics snapshots for a form

Example request

curl https://www.abcsubmit.com/api/v1/workflows/analytics/{form_id}/snapshots \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/analytics/{form_id}/snapshots');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/analytics/{form_id}/snapshots', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe form ID

workflows

Get workflow analytics

Auth requiredget

/api/v1/workflows/analytics/{form_id}/{workflow_id}

Retrieves analytics data for one workflow

Example request

curl https://www.abcsubmit.com/api/v1/workflows/analytics/{form_id}/{workflow_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/analytics/{form_id}/{workflow_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/analytics/{form_id}/{workflow_id}', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe form ID
workflow_idThe workflow ID

workflows

Get form workflow

Auth requiredget

/api/v1/workflows/{form_id}/

Retrieves the workflow attached to a form. Requires workflow-management permission.

Example request

curl https://www.abcsubmit.com/api/v1/workflows/{form_id}/ \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/{form_id}/');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/{form_id}/', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe ID of the form
workflow_versionOptional workflow version number

workflows

Get workflow instance

Auth requiredget

/api/v1/workflows/{form_id}/{workflow_version}/{workflow_instance_id}

Retrieves the runtime state of one workflow instance

Example request

curl https://www.abcsubmit.com/api/v1/workflows/{form_id}/{workflow_version}/{workflow_instance_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/{form_id}/{workflow_version}/{workflow_instance_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/{form_id}/{workflow_version}/{workflow_instance_id}', {
    method: 'GET',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe form ID
workflow_versionThe workflow version
workflow_instance_idThe workflow instance ID

workflows

Retry workflow instance

Auth requiredpost

/api/v1/workflows/instance/{form_id}/{workflow_instance_id}/retry

Retries a failed workflow instance

Example request

curl -X POST https://www.abcsubmit.com/api/v1/workflows/instance/{form_id}/{workflow_instance_id}/retry \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/instance/{form_id}/{workflow_instance_id}/retry');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/instance/{form_id}/{workflow_instance_id}/retry', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe form ID
workflow_instance_idThe workflow instance ID

workflows

Approve workflow step

Auth requiredpost

/api/v1/workflows/instance/{workflow_instance_id}/approvals/{form_id}/{submission_id}/{workflow_step_id}/approve

Approves the current workflow approval step for a submission

Example request

curl -X POST https://www.abcsubmit.com/api/v1/workflows/instance/{workflow_instance_id}/approvals/{form_id}/{submission_id}/{workflow_step_id}/approve \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/instance/{workflow_instance_id}/approvals/{form_id}/{submission_id}/{workflow_step_id}/approve');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/instance/{workflow_instance_id}/approvals/{form_id}/{submission_id}/{workflow_step_id}/approve', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

workflow_instance_idThe workflow instance ID
form_idThe form ID
submission_idThe submission ID
workflow_step_idThe workflow step ID
commentOptional approval comment

workflows

Reject workflow step

Auth requiredpost

/api/v1/workflows/instance/{workflow_instance_id}/approvals/{form_id}/{submission_id}/{workflow_step_id}/reject

Rejects the current workflow approval step for a submission

Example request

curl -X POST https://www.abcsubmit.com/api/v1/workflows/instance/{workflow_instance_id}/approvals/{form_id}/{submission_id}/{workflow_step_id}/reject \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/instance/{workflow_instance_id}/approvals/{form_id}/{submission_id}/{workflow_step_id}/reject');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/instance/{workflow_instance_id}/approvals/{form_id}/{submission_id}/{workflow_step_id}/reject', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

workflow_instance_idThe workflow instance ID
form_idThe form ID
submission_idThe submission ID
workflow_step_idThe workflow step ID
commentOptional rejection comment

workflows

Create or update form workflow

Auth requiredpost

/api/v1/workflows/{form_id}/

Creates a new workflow version for a form. Use this endpoint to create or update a form workflow.

Example request

curl -X POST https://www.abcsubmit.com/api/v1/workflows/{form_id}/ \
  -H "JWT: $TOKEN" \
  -d workflow=WORKFLOW_JSON \
  -d allowTemplatePlaceholders=0

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/{form_id}/');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/{form_id}/', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe ID of the form
workflowThe workflow definition in JSON format
allowTemplatePlaceholdersOptional flag: 1 to allow template placeholders

workflows

Restart submission workflow

Auth requiredpost

/api/v1/workflows/{form_id}/{submission_id}/restart-workflow

Restarts the workflow associated with a submission

Example request

curl -X POST https://www.abcsubmit.com/api/v1/workflows/{form_id}/{submission_id}/restart-workflow \
  -H "JWT: $TOKEN" \
  -d REQUEST_BODY

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/{form_id}/{submission_id}/restart-workflow');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => 'REQUEST_BODY',
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    'Content-Type: application/x-www-form-urlencoded',
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/{form_id}/{submission_id}/restart-workflow', {
    method: 'POST',
    headers: {
        JWT: token,
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'REQUEST_BODY',
});
console.log(await response.text());

Parameters

form_idThe form ID
submission_idThe submission ID

workflows

Stop workflow instance

Auth requireddelete

/api/v1/workflows/instance/{form_id}/{workflow_instance_id}

Stops a running workflow instance

Example request

curl -X DELETE https://www.abcsubmit.com/api/v1/workflows/instance/{form_id}/{workflow_instance_id} \
  -H "JWT: $TOKEN"

PHP

<?php
$TOKEN = 'YOUR_TOKEN';
$ch = curl_init('https://www.abcsubmit.com/api/v1/workflows/instance/{form_id}/{workflow_instance_id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
    'JWT: ' . $TOKEN,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Node.js

const response = await fetch('https://www.abcsubmit.com/api/v1/workflows/instance/{form_id}/{workflow_instance_id}', {
    method: 'DELETE',
    headers: {
        JWT: token,
    },
});
console.log(await response.text());

Parameters

form_idThe form ID
workflow_instance_idThe workflow instance ID