Skip to main content

Endatix Platform REST API (0.1.1)

Download OpenAPI specification:Download

The Endatix Platform is an open-source .NET library for data collection and management. This product is actively developed, and some API design characteristics may evolve. For more information, visit Endatix Documentation.

Forms

Create a new submission

Creates a new form submission

path Parameters
formId
required
integer <int64>

The ID of the form for which the submission is made.

Request Body schema: application/json
required
isComplete
boolean or null

Boolean flag to indicate if a submission is complete. Optional

currentPage
integer or null <int32>

Current page if the form has multiple pages. Optional

jsonData
required
string >= 2 characters

Stringified form submission data

metadata
string or null

Stringified metadata related to the form submission

Responses

Request samples

Content type
application/json
{
  • "isComplete": true,
  • "currentPage": 0,
  • "jsonData": "string",
  • "metadata": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "isComplete": true,
  • "jsonData": "string",
  • "formId": "string",
  • "formDefinitionId": "string",
  • "currentPage": 0,
  • "metadata": "string",
  • "token": "string",
  • "completedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Get a list of Submissions for a given form

Returns all submissions for a form given formId. Includes all Form Definitions as well as complete and non-complete responses

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

query Parameters
page
integer or null <int32>

The number of the page

pageSize
integer or null <int32>

The number of items to take.

filter
Array of strings or null

The filter expressions

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a single submission

Gets a single submission based of its Id and its respective formId

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

submissionId
required
integer <int64>

The ID of the form submission.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "isComplete": true,
  • "jsonData": "string",
  • "formId": "string",
  • "formDefinitionId": "string",
  • "currentPage": 0,
  • "metadata": "string",
  • "token": "string",
  • "completedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "formDefinition": {
    }
}

Update a form submission

Updates a form submission for a given form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form for which the submission is made.

submissionId
required
integer <int64>

The ID the submission that will be updated

Request Body schema: application/json
required
jsonData
string or null >= 2 characters

Stringified form submission data

isComplete
boolean or null

Boolean flag to mark the form completion status

currentPage
integer or null <int32> > 0

The current page of the form

metadata
string or null

Stringified metadata related to the form submission

Responses

Request samples

Content type
application/json
{
  • "jsonData": "string",
  • "isComplete": true,
  • "currentPage": 0,
  • "metadata": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "isComplete": true,
  • "jsonData": "string",
  • "formId": "string",
  • "formDefinitionId": "string",
  • "currentPage": 0,
  • "metadata": "string",
  • "token": "string",
  • "completedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Update a form submission

Updates a form submission for a given form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form for which the submission is made.

submissionId
required
integer <int64>

The ID the submission that will be updated

Request Body schema: application/json
required
jsonData
required
string >= 2 characters

Stringified form submission data

isComplete
boolean or null

Boolean flag to mark the form completion status

currentPage
integer or null <int32> > 0

The current page of the form

metadata
string or null

Stringified metadata related to the form submission

Responses

Request samples

Content type
application/json
{
  • "jsonData": "string",
  • "isComplete": true,
  • "currentPage": 0,
  • "metadata": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "isComplete": true,
  • "jsonData": "string",
  • "formId": "string",
  • "formDefinitionId": "string",
  • "currentPage": 0,
  • "metadata": "string",
  • "token": "string",
  • "completedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Get a single submission by token

Gets a single submission based on its token and its respective formId

path Parameters
formId
required
integer <int64>

The ID of the form.

submissionToken
required
string

The token of the form submission.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "isComplete": true,
  • "jsonData": "string",
  • "formId": "string",
  • "formDefinitionId": "string",
  • "currentPage": 0,
  • "metadata": "string",
  • "token": "string",
  • "completedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Update a form submission by token

Updates a form submission for a given form by token.

path Parameters
formId
required
integer <int64>

The ID of the form for which the submission is made.

submissionToken
required
string

The token of the submission that will be updated

Request Body schema: application/json
required
jsonData
string or null >= 2 characters

Stringified form submission data

isComplete
boolean or null

Boolean flag to mark the form completion status

currentPage
integer or null <int32> >= 0

The current page of the form

metadata
string or null

Stringified metadata related to the form submission

Responses

Request samples

Content type
application/json
{
  • "jsonData": "string",
  • "isComplete": true,
  • "currentPage": 0,
  • "metadata": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "isComplete": true,
  • "jsonData": "string",
  • "formId": "string",
  • "formDefinitionId": "string",
  • "currentPage": 0,
  • "metadata": "string",
  • "token": "string",
  • "completedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "status": "string"
}

Update submission status

Updates the status of a form submission.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

submissionId
required
integer <int64>

The ID of the submission to update.

Request Body schema: application/json
required
status
required
string [ 0 .. 16 ] characters

The status of the submission.

Responses

Request samples

Content type
application/json
{
  • "status": "string"
}

Response samples

Content type
application/json
{
  • "submissionId": 0,
  • "status": "string"
}

Create a new form

Creates a new form and an active form definition for it.

Authorizations:
JWTBearerAuth
Request Body schema: application/json
required
name
required
string [ 2 .. 100 ] characters

The name of the form.

description
string or null

The description of the form.

isEnabled
required
boolean non-empty

Indicates if the form is enabled.

formDefinitionJsonData
required
string >= 2 characters

The JSON data of the active form definition.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "isEnabled": true,
  • "formDefinitionJsonData": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "isEnabled": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "submissionsCount": 0
}

List forms

Lists all forms with optional pagination.

Authorizations:
JWTBearerAuth
query Parameters
page
integer or null <int32>

The number of the page

pageSize
integer or null <int32>

The number of items to take.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete a form

Deletes a form and all its definitions and submissions.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form to delete.

Responses

Response samples

Content type
application/json
"string"

Get a form by ID

Gets a form by its ID.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "isEnabled": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "submissionsCount": 0
}

Partially update a form

Partially updates a form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

Request Body schema: application/json
required
name
string or null

The name of the form.

description
string or null

The description of the form.

isEnabled
boolean or null

Indicates if the form is enabled.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "isEnabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "isEnabled": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "submissionsCount": 0
}

Update a form

Updates a form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

Request Body schema: application/json
required
name
required
string [ 2 .. 100 ] characters

The name of the form.

description
string or null

The description of the form.

isEnabled
required
boolean non-empty

Indicates if the form is enabled.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "isEnabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "isEnabled": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "submissionsCount": 0
}

Create a new form definition

Creates a new form definition for a given form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

Request Body schema: application/json
required
isDraft
required
boolean non-empty

Indicates if the form definition is a draft.

jsonData
required
string >= 2 characters

The JSON data of the form definition.

Responses

Request samples

Content type
application/json
{
  • "isDraft": true,
  • "jsonData": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "isDraft": true,
  • "jsonData": "string",
  • "formId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z"
}

List form definitions

Lists all form definitions for a given form with optional pagination.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

query Parameters
page
integer or null <int32>

The number of the page

pageSize
integer or null <int32>

The number of items to take.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the active form definition

Gets the active form definition for a given form.

path Parameters
formId
required
integer <int64>

The ID of the form.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "isDraft": true,
  • "jsonData": "string",
  • "formId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z"
}

Partially update the active form definition

Partially updates the active form definition for a given form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

Request Body schema: application/json
required
isDraft
boolean or null

Indicates if the form definition is a draft.

jsonData
string or null

The JSON data of the form definition.

Responses

Request samples

Content type
application/json
{
  • "isDraft": true,
  • "jsonData": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "isDraft": true,
  • "jsonData": "string",
  • "formId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z"
}

Update the active form definition

Updates the active form definition for a given form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

Request Body schema: application/json
required
isDraft
required
boolean non-empty

Indicates if the form definition is a draft.

jsonData
required
string non-empty

The JSON data of the form definition.

Responses

Request samples

Content type
application/json
{
  • "isDraft": true,
  • "jsonData": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "isDraft": true,
  • "jsonData": "string",
  • "formId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z"
}

Get a form definition by ID

Gets a form definition by its ID for a given form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

definitionId
required
integer <int64>

The ID of the form definition.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "isDraft": true,
  • "jsonData": "string",
  • "formId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z"
}

Partially update a form definition

Partially updates a form definition for a given form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

definitionId
required
integer <int64>

The ID of the form definition.

Request Body schema: application/json
required
isDraft
boolean or null

Indicates if the form definition is a draft.

jsonData
string or null

The JSON data of the form definition.

Responses

Request samples

Content type
application/json
{
  • "isDraft": true,
  • "jsonData": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "isDraft": true,
  • "jsonData": "string",
  • "formId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z"
}

Update a form definition

Updates a form definition for a given form.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

definitionId
required
integer <int64>

The ID of the form definition.

Request Body schema: application/json
required
isDraft
required
boolean non-empty

Indicates if the form definition is a draft.

jsonData
required
string non-empty

The JSON data of the form definition.

Responses

Request samples

Content type
application/json
{
  • "isDraft": true,
  • "jsonData": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "isDraft": true,
  • "jsonData": "string",
  • "formId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z"
}

My-Account

Changes a user's password

Allows an authenticated user to change their password.

Authorizations:
JWTBearerAuth
Request Body schema: application/json
required
currentPassword
required
string non-empty

The user's current password

newPassword
required
string non-empty

The new password to set

confirmPassword
required
string non-empty

The new password to set

Responses

Request samples

Content type
application/json
{
  • "currentPassword": "string",
  • "newPassword": "string",
  • "confirmPassword": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Slacktoken

Receives a Slack token

Receives a Slack token

Request Body schema: application/json
required
token
string or null

The name of the form.

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
"string"

Auth

Log in

Authenticates a user based on valid credentials and returns JWT token and refresh token

Request Body schema: application/json
required
email
required
string <email> non-empty ^[^@]+@[^@]+$

The Email of the user. Must be a valid email address

password
required
string >= 8 characters

The Password of the account

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "Password123!"
}

Response samples

Content type
application/json
{
  • "email": "string",
  • "accessToken": "string",
  • "refreshToken": "string"
}

Logs out the authenticated user

Initiates the logout process for the authenticated user.

Authorizations:
JWTBearerAuth

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Refresh the access token

Generates a new access token using a valid refresh token.

Request Body schema: application/json
required
refreshToken
required
string non-empty

The refresh token used to obtain a new access token.

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "example-refresh-token"
}

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "refreshToken": "string"
}

Register a new user

Creates a new user account in the Endatix application using the provided email and password.

Authorizations:
JWTBearerAuth
Request Body schema: application/json
required
email
required
string <email> non-empty ^[^@]+@[^@]+$

The email address of the user.

password
string

The password chosen by the user.

confirmPassword
required
string non-empty

The confirmation of the password chosen by the user.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "Password123!",
  • "confirmPassword": "Password123!"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string"
}