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.

Agents

Define a form using AI assistance

Uses AI to generate or refine a form definition based on the provided prompt.

Authorizations:
JWTBearerAuth
Request Body schema: application/json
required
prompt
required
string [ 0 .. 10000 ] characters

The prompt to guide the AI in form definition.

definition
string or null [ 0 .. 100000 ] characters

Optional existing form definition to refine or modify.

agentName
string

Optional assistant ID for continuing a conversation.

threadId
integer or null <int64>

Optional thread ID for continuing a conversation.

formId
integer or null <int64>

Optional form ID to associate the conversation with a specific form.

Responses

Request samples

Content type
application/json
{
  • "prompt": "string",
  • "definition": "string",
  • "agentName": "string",
  • "threadId": 0,
  • "formId": 0
}

Response samples

Content type
application/json
{
  • "agentResponse": "string",
  • "definition": "string",
  • "agentId": "string",
  • "threadId": "string"
}

Get messages for conversation

Gets all messages for the specified conversation for the current user.

Authorizations:
JWTBearerAuth
path Parameters
conversationId
required
integer <int64>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get latest conversation for form

Gets the most recent conversation for the specified form for the current user.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "conversationId": 0,
  • "agentId": 0,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModified": "2019-08-24T14:15:22Z",
  • "resultJson": "string"
}

Users

Assign a role to a user

Assigns the specified role to a user. Admin-only access.

Authorizations:
JWTBearerAuth
path Parameters
userId
required
integer <int64>

The ID of the user to assign the role to.

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

The name of the role to assign.

Responses

Request samples

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

Response samples

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

Get roles assigned to a user

Retrieves all roles assigned to the specified user. Admin-only access.

Authorizations:
JWTBearerAuth
path Parameters
userId
required
integer <int64>

The ID of the user to get roles for.

Responses

Response samples

Content type
application/json
[
  • "string"
]

Remove a role from a user

Removes the specified role from a user. Admin-only access.

Authorizations:
JWTBearerAuth
path Parameters
userId
required
integer <int64>

The ID of the user to remove the role from.

roleName
required
string

The name of the role to remove.

Responses

Response samples

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

Themes

Create a new theme

Creates a new theme with the provided data.

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

The name of the theme.

description
string or null

The description of the theme (optional).

jsonData
required
string >= 2 characters

The JSON data representing theme properties (optional).

Responses

Request samples

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

Response samples

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

List themes

Lists all themes with optional pagination and filtering.

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

The page number (1-based).

pageSize
integer or null <int32>

The number of items per page.

filter
Array of strings or null

Filter expressions.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete a theme

Deletes a theme by its ID.

Authorizations:
JWTBearerAuth
path Parameters
themeId
required
integer <int64>

The ID of the theme to delete.

Responses

Response samples

Content type
application/json
"string"

Get a theme by ID

Gets a theme by its ID.

Authorizations:
JWTBearerAuth
path Parameters
themeId
required
integer <int64>

The ID of the theme.

Responses

Response samples

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

Partially update a theme

Updates specific fields of a theme as provided in the request.

Authorizations:
JWTBearerAuth
path Parameters
themeId
required
integer <int64>

The ID of the theme to update.

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

The name of the theme (optional).

description
string or null

The description of the theme (optional).

jsonData
string or null

The JSON data representing theme properties (optional).

Responses

Request samples

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

Response samples

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

Update a theme

Updates a theme with the provided data.

Authorizations:
JWTBearerAuth
path Parameters
themeId
required
integer <int64>

The ID of the theme to update.

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

The name of the theme.

description
string or null

The description of the theme (optional).

jsonData
required
string >= 2 characters

The JSON data representing theme properties (optional).

Responses

Request samples

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

Response samples

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

Tenant-Settings

Get tenant settings for the current tenant

Retrieves tenant configuration settings including.

Authorizations:
JWTBearerAuth

Responses

Response samples

Content type
application/json
{
  • "tenantId": 0,
  • "submissionTokenExpiryHours": 0,
  • "isSubmissionTokenValidAfterCompletion": true,
  • "slackSettings": {
    },
  • "webHookSettings": {
    },
  • "modifiedAt": "2019-08-24T14:15:22Z"
}

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> >= 0

Current page if the form has multiple pages. Optional

jsonData
string or null >= 2 characters

Stringified form submission data

metadata
string or null >= 2 characters

Stringified metadata related to the form submission

reCaptchaToken
string or null

reCAPTCHA v3 token for bot protection

Responses

Request samples

Content type
application/json
{
  • "isComplete": true,
  • "currentPage": 0,
  • "jsonData": "string",
  • "metadata": "string",
  • "reCaptchaToken": "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",
  • "submittedBy": "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
[
  • {
    }
]

Delete a submission

Deletes a submission.

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>

The ID of the form.

submissionId
required
integer <int64>

The ID of the submission to delete.

Responses

Response samples

Content type
application/json
"string"

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",
  • "submittedBy": "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",
  • "submittedBy": "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",
  • "submittedBy": "string"
}

Export submissions

Export submissions for a given form

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>
Request Body schema: application/json
required
exportFormat
string or null

Responses

Request samples

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

Response samples

Content type
application/problem+json
{
  • "statusCode": 400,
  • "message": "One or more errors occurred!",
  • "errors": {
    }
}

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",
  • "submittedBy": "string"
}

Update a form submission by token

Updates a form submission for a given form by token.

path Parameters
formId
required
integer <int64>
submissionToken
required
string

The token of the submission that will be updated

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> >= 0

Current page if the form has multiple pages. Optional

jsonData
string or null >= 2 characters

Stringified form submission data

metadata
string or null >= 2 characters

Stringified metadata related to the form submission

reCaptchaToken
string or null

reCAPTCHA v3 token for bot protection

Responses

Request samples

Content type
application/json
{
  • "isComplete": true,
  • "currentPage": 0,
  • "jsonData": "string",
  • "metadata": "string",
  • "reCaptchaToken": "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",
  • "submittedBy": "string"
}

Download files for a submission

Downloads use uploaded files for a given submission

Authorizations:
JWTBearerAuth
path Parameters
formId
required
integer <int64>
submissionId
required
integer <int64>
Request Body schema: application/json
required
fileNamesPrefix
string or null [ 0 .. 100 ] characters

Responses

Request samples

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

Response samples

Content type
application/problem+json
{
  • "statusCode": 400,
  • "message": "One or more errors occurred!",
  • "errors": {
    }
}

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
string or null >= 2 characters
Deprecated

The JSON data of the active form definition as a string.

formDefinitionSchema
any or null

The active form definition schema as a JSON object.

webHookSettingsJson
string or null
Deprecated

The JSON data containing webhook configuration settings for this form as a string.

webHookSettings
any or null

The webhook configuration settings as a JSON object.

Responses

Request samples

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

Response samples

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

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.

filter
Array of strings or null

The filter expressions

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,
  • "themeId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "modifiedAt": "2019-08-24T14:15:22Z",
  • "submissionsCount": 0,
  • "webHookSettingsJson": "string",
  • "webHookSettings": null
}

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.

themeId
integer or null <int64>

The ID of the theme to update.

webHookSettingsJson
string or null

The JSON data containing webhook configuration settings for this form.

Responses

Request samples

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

Response samples

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

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.

webHookSettingsJson
string or null

The JSON data containing webhook configuration settings for this form.

Responses

Request samples

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

Response samples

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

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",
  • "themeModel": "string",
  • "customQuestions": [
    ],
  • "requiresReCaptcha": true
}

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",
  • "themeModel": "string",
  • "customQuestions": [
    ],
  • "requiresReCaptcha": true
}

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",
  • "themeModel": "string",
  • "customQuestions": [
    ],
  • "requiresReCaptcha": true
}

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",
  • "themeModel": "string",
  • "customQuestions": [
    ],
  • "requiresReCaptcha": true
}

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",
  • "themeModel": "string",
  • "customQuestions": [
    ],
  • "requiresReCaptcha": true
}

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",
  • "themeModel": "string",
  • "customQuestions": [
    ],
  • "requiresReCaptcha": true
}

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",
  • "themeModel": "string",
  • "customQuestions": [
    ],
  • "requiresReCaptcha": true
}

Roles

Create a new role with permissions

Creates a new role for the current tenant with the specified permissions. Admin-only access.

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

The name of the role to create.

description
string or null [ 0 .. 500 ] characters

The description of the role.

permissions
required
Array of strings non-empty

The list of permission names to assign to the role.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Response samples

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

Delete a role

Deletes the specified role for the current tenant. Admin-only access.

Authorizations:
JWTBearerAuth
path Parameters
roleName
required
string

The name of the role to delete.

Responses

Response samples

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

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"
}

Form-Templates

Create a new form template

Creates a new form template.

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

The name of the form template.

description
string or null

Optional description of the form template.

isEnabled
required
boolean non-empty

Indicates if the form template is enabled.

jsonData
required
string >= 2 characters

The JSON data representing the form template structure.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "isEnabled": true,
  • "jsonData": "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",
  • "jsonData": "string"
}

List form templates

Lists all form templates 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 template

Deletes a form template.

Authorizations:
JWTBearerAuth
path Parameters
formTemplateId
required
integer <int64>

The ID of the form template to delete.

Responses

Response samples

Content type
application/json
"string"

Get a form template by ID

Gets a form template by its ID.

Authorizations:
JWTBearerAuth
path Parameters
formTemplateId
required
integer <int64>

The ID of the form template to get.

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",
  • "jsonData": "string"
}

Partially update a form template

Partially updates a form template.

Authorizations:
JWTBearerAuth
path Parameters
formTemplateId
required
integer <int64>

The ID of the form template.

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

The name of the form template.

description
string or null

The description of the form template.

isEnabled
boolean or null

Indicates if the form template is enabled.

jsonData
string or null

The JSON data representing the form template structure.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "isEnabled": true,
  • "jsonData": "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",
  • "jsonData": "string"
}

Questions

Create a new custom question

Creates a new custom question with the provided data.

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

The name of the custom question.

description
string or null

The description of the custom question (optional).

jsonData
required
string >= 2 characters

The JSON data representing custom question properties.

Responses

Request samples

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

Response samples

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

List custom questions

Lists all custom questions for the current tenant.

Authorizations:
JWTBearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Auth

Sign 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
string

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"
}

Get current user information

Returns current authenticated user information including roles, permissions, and tenant context. Permissions are resolved server-side for freshness and accuracy.

Authorizations:
JWTBearerAuth

Responses

Response samples

Content type
application/json
{
  • "userId": "string",
  • "tenantId": 0,
  • "roles": [
    ],
  • "permissions": [
    ],
  • "isAdmin": true,
  • "cachedAt": "2019-08-24T14:15:22Z",
  • "expiresAt": "2019-08-24T14:15:22Z",
  • "eTag": "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.

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"
}

Send verification email

Sends a verification email to the specified email address if the user exists and is not already verified.

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

The email address to send the verification email to.

Responses

Request samples

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

Response samples

Content type
application/json
"string"

Verify email address

Verifies a user's email address using a verification token.

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

The verification token.

Responses

Request samples

Content type
application/json
{
  • "token": "abc123def456..."
}

Response samples

Content type
application/json
"string"

Account

Forgot password

Sends a password reset email to the user.

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

Responses

Request samples

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

Response samples

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

Reset password

Resets a user's password.

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

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "resetCode": "string",
  • "newPassword": "string",
  • "confirmPassword": "string"
}

Response samples

Content type
application/json
"string"