The doForms REST API provides integration with the doForms system.
The doForms SOAP API documentation can be found here.
The doForms REST API is located at
https://api-dot-mydoforms-hrd.appspot.com/api/v2
Unless noted otherwise, all requests must include an Authorization header with the value "Bearer [token]".
cURL | --header 'Authorization: Bearer [token]' |
---|---|
jQuery | "headers": {"Authorization": "Bearer [token]"} |
Python | headers = {'Authorization': 'Bearer [token]'} |
Java | httpURLConnection.setRequestProperty("Authorization", "Bearer [token]"); |
C# | httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", [token]); |
There are four options for obtaining a token:
Obtain a user token by posting web user credentials to the /tokens/user endpoint described below. Requests with a user token will inherit the rights of the user account.
Obtain a web service token by posting web service credentials to the /tokens/webservice endpoint described below. Requests with a web service token will have access to the project and form of the web service.
Build a static token by combining a web service ID and web service password separated by a colon. Requests with a static token will have access to the project and form of the web service.
Example:
Obtain a reseller token by posting reseller credentials to the /tokens/reseller endpoint described below.
Requests with a reseller token have access to account management endpoints for the customers of the reseller:
Response | Notes |
---|---|
[ | Query customer accounts. Requires a reseller token.
|
Response | Notes |
---|---|
{ | Returns information about the current account.
|
Response | Notes |
---|---|
{ | Get the account.
|
Body | Notes |
---|---|
{ | Update the account.
|
Response | Notes |
---|---|
[ | Returns all submission activity the user has access to.
|
Response | Notes |
---|---|
[ | Returns all devices the user has access to.
|
Response | Notes |
---|---|
{ | Returns the requested device.
|
Response | Notes |
---|---|
[ | Returns all submission activity for a device that the user has access to.
|
Body | Notes | |
---|---|---|
Request | { | Add a new dispatch.
|
200 OK | { |
|
Error | { |
|
Response | Notes |
---|---|
[ | Returns dispatch identifiers that match a query. See /submissions? for more details. |
Response | Notes |
---|---|
200 OK | Delete a dispatch.
|
Response | Notes |
---|---|
{ "key": "abc123", | Returns the data of a dispatch record by key or id.
|
Response | Notes |
---|---|
{ | Upload a file that can be used as a lookup table or can be sent as part of a dispatch.
Files larger than 32MB will return a 413 error. To upload a large file, leave the body empty. Two new properties will be returned:
|
Response | Notes |
---|---|
{ | Get information about a file. |
Notes |
---|
Delete a file.
|
Response | Notes |
---|---|
[ | Returns the first 1,000 forms published in projects the user or web service has access to.
|
Response | Notes |
---|---|
{ "fields": [ | Returns the form definition by either the key or the id of the form.
|
Response | Notes |
---|---|
[ | Returns all submission activity for a form that the user has access to.
|
Response | Notes |
---|---|
[ | Returns the fields array for the selected form by key or by id.
|
Response | Notes |
---|---|
{ | Returns information about the last submission generated for the form. Use to identify which submissions can be retrieved at /submissions/{id}.
|
Response | Notes |
---|---|
[ | Returns all projects the requested form is assigned to. |
Response | Notes |
---|---|
[ | Returns all groups in the account.
|
Response | Notes |
---|---|
{ | Returns the requested group by key. |
Response | Notes |
---|---|
[ | Returns all users assigned to the requested group.
|
Response | Notes |
---|---|
[ | Return all lookups in the account.
|
Body | Notes | |
---|---|---|
Request | { | Add a new lookup.
|
200 OK | { |
|
Response | Notes |
---|---|
{ | Return a lookup.
|
Body | Notes | |
---|---|---|
Request | { | Replace all rows in the lookup with the rows in the request.
|
200 OK | { |
|
400 Bad Request | { | Error code 951 indicates that there are too many existing rows in the lookup to remove in one request, or the number of rows in this request is too large to process in one request. Empty the lookup by calling DELETE /lookups/{key}/rows until complete = true, and then add the rows by calling POST /lookups/{key}/rows. |
Response | Notes |
---|---|
200 OK | Delete a lookup.
|
Response | Notes |
---|---|
[ | Return the columns in a lookup. |
Response | Notes |
---|---|
[ | Return the forms that currently use the lookup. |
Response | Notes |
---|---|
[ | Return the rows in a lookup.
|
Body | Notes | |
---|---|---|
Request | [ | Append rows to a lookup.
|
200 OK | { |
|
Response | Notes |
---|---|
{ | Delete rows from a lookup.
|
Response | Notes |
---|---|
{ | Get a single row in a lookup by id. |
Body | Notes | |
---|---|---|
Request | { | Update a row in a lookup.
|
200 OK | { |
Response | Notes |
---|---|
200 OK | Remove a row from a lookup.
|
Response | Notes |
---|---|
{ | Returns the requested webhook notification.
|
Body | Notes |
---|---|
{ |
|
Response | Notes |
---|---|
[ | Returns all projects the user or web service has access to. |
Response | Notes |
---|---|
{ | Returns the requested project. |
Response | Notes |
---|---|
[ | Returns all submission activity for a project that the user has access to.
|
Response | Notes |
---|---|
[ | Returns all forms assigned to the requested project.
|
Response | Notes |
---|---|
[ | Returns all published reports.
|
Response | Notes |
---|---|
[ | Returns reports assigned to the user. |
Response | Notes |
---|---|
{ | Returns the requested report. |
Response | Notes |
---|---|
[ | Returns all current results for the selected report.
|
Response | Notes |
---|---|
{ | Returns the details for the selected result. |
Response | Notes |
---|---|
Content-Type: application/pdf | Returns the PDF file for the selected result.
|
Response | Notes |
---|---|
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Returns the Excel file for the selected result.
|
Response | Notes |
---|---|
[ | Returns submission identifiers that match a query.
|
Response | Notes |
---|---|
200 OK | Delete a submission
|
Response | Notes |
---|---|
{ "key": "abc123", | Returns the data captured in a form submission by key or id.
|
Response | Notes |
---|---|
[ | Returns the activity of the selected submission.
|
Response | Notes |
---|---|
[ | Returns information about all attachment blobs in the form submission by the key or id of the submission. |
Notes |
---|
Delete all attachment blobs from the submission. |
Response | Notes |
---|---|
{ | Returns information about a single blob in a submission.
|
Notes |
---|
Delete the specified attachment blob. |
Response | Notes |
---|---|
application/octet-stream | Returns the binary data of a single blob in a submission.
|
Body | Notes | |
---|---|---|
Request | { | Add a new submission.
|
200 OK | Returns the complete submission after it is added. |
Body | Notes | |
---|---|---|
Request | { | Update an existing submission.
|
200 OK | Returns the complete submission after the update has been applied. |
Body | Notes | |
---|---|---|
Request | { | Start a task.
|
200 OK | { | Returns the task with the current status. Most tasks will have complete=false when created. Check the status at GET /tasks/{key}. |
Response | Notes |
---|---|
{ "blob": { | Get a task.
|
Response | Notes |
---|---|
Content-Type: application/pdf | Get the content of a PDF file generated by a task. |
Response | Notes |
---|---|
[ | Returns all device teams (also known as groups) the user has access to.
|
Response | Notes |
---|---|
{ | Returns the requested team. |
Response | Notes |
---|---|
[ | Returns all the devices assigned to the requested team.
|
Response | Notes |
---|---|
[ | Returns all Excel templates in the account. |
Response | Notes |
---|---|
{ | Returns the requested Excel template. |
Body | Notes | |
---|---|---|
Request | { |
|
200 | { |
|
401 | { |
Authorization header is not required.
Body | Notes | |
---|---|---|
Request | { |
|
Request | { |
|
200 OK | { |
|
300 Options | { |
|
401 Unauthorized | { | |
401 MFA Code Required | { |
|
403 Forbidden | { | |
403 Inactive Account | { |
Body | Notes | |
---|---|---|
Request | { |
|
200 OK | { |
|
401 Unauthorized | { | |
403 Forbidden | { | |
403 Inactive Account | { |
Response | Notes |
---|---|
[ | Returns all web users for the account.
|
Response | Notes |
---|---|
{ | Returns the requested web user by key or by email. |
Response | Notes |
---|---|
[ | Returns all web services for the account.
|
Response | Notes |
---|---|
{ | Returns the requested web service including the password.
|