Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PRD - https://canvas.connectmyapps.com/api

APIs for help

There are two APIs, which describes list of all provided APIs

GetMetaData

For getting of all provided APIs you need to send following request:

...

titleGET https://<base-url>/GetMetaData

Headers:

...

IP restriction

You can send Canvas REST API requests from any server by default.

If you want to restict access by IP addresses, then please provide your IP addresses to ConnectMyApps support for adding them into white list.

Authentication

For enabling of access to your organization data by REST API you need to set <API access> flag ON and copy provided Secret and Consumer keys. These keys are for access to Canvas REST API and you will use them in request headers. Do not share provided keys with anybody and keep them in safe place because they are not saved in Canvas and you will not be able to get them anymore.

Use following authentication request for checking your access keys:

Expand
titleGET https://<base-url>/Authenticate

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED
SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

Expand
titleResponse (status 200)
Code Block
languagejson
[
    {
        "name": "GetMetaData",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns controllers actions",
        "returns": "JSON array"
    },
    {
        "name": "Describe",
        "parameters": "String name",
        "verb": "GET",
        "authenticate": false,
        "description": "Describes object properties",
        "returns": ""
    },
    {
        "name": "Authenticate",
        "parameters": "",
        "verb": "GET",
        "authenticate": true,
        "description": "Returns access and refresh tokens",
        "returns": "JSON object"
    },
    {
        "name": "RefreshAccessToken",
        "parameters": "String refreshToken",
        "verb": "GET",
        "authenticate": true,
        "description": "Returns access and refresh tokens",
        "returns": "JSON object"
    },
    {
        "name": "DeleteToken",
        "parameters": "String refreshToken",
        "verb": "DELETE",
        "authenticate": true,
        "description": "Deletes a token by refresh token",
        "returns": "boolean"
    },
    {
        "name": "Applications",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns Canvas applications",
        "returns": "JSON Array"
    },
    {
        "name": "WorkflowTemplates",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns list of workflow templates",
        "returns": "JSON array"
    },
    {
        "name": "Clients",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns list of clients",
        "returns": "JSON array"
    },
    {
        "name": "RegApplications",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns account registerred applications",
        "returns": "JSON Array"
    },
    {
        "name": "Workflows",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns list of registered workflows",
        "returns": "JSON array"
    },
    {
        "name": "Workflow",
        "parameters": "Guid id",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns registered workflow by id",
        "returns": "JSON"
    },
    {
        "name": "RegApplication",
        "parameters": "[FromBody]AddRegApplicationApiDto regApp",
        "verb": "POST",
        "authenticate": false,
        "description": "Registers a new application and returns Id",
        "returns": "Guid"
    },
    {
        "name": "Workflow",
        "parameters": "[FromBody]AddWorkflowApiDto workflow",
        "verb": "POST",
        "authenticate": false,
        "description": "Registers a new workflow based on template and returns Id",
        "returns": "Guid"
    },
    {
        "name": "DeleteWorkflow",
        "parameters": "Guid id",
        "verb": "GET",
        "authenticate": false,
        "description": "Deletes workflow by Id",
        "returns": "Guid"
    },
    {
        "name": "RunWorkflow",
        "parameters": "[FromBody]RunMetadataApiDto metadata",
        "verb": "POST",
        "authenticate": false,
        "description": "Runs workflow",
        "returns": "Guid"
    },
    {
        "name": "WorkflowScheduler",
        "parameters": "[FromBody]UpdateWorkfowSchedulerApiDto scheduler",
        "verb": "POST",
        "authenticate": false,
        "description": "Updates the workflow scheduler",
        "returns": ""
    },
    {
        "name": "Account",
        "parameters": "[FromBody]AddAccountApiDto data",
        "verb": "POST",
        "authenticate": false,
        "description": "Account registration",
        "returns": ""
    true
Expand
titleResponse (status 401)

Returned if the Consumer or SecretKey are incorrect or missing.

APIs for help

There are two APIs, which describes list of all provided APIs

GetMetaData

For getting of all provided APIs you need to send following request:

Expand
titleGET https://<base-url>/GetMetaData

Headers:

no header

Expand
titleResponse (status 200)
Code Block
languagejson
[
    {
        "name": "GetMetaData",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns controllers actions",
        "returns": "JSON array"
    },
    {
        "name": "Describe",
        "parameters": "String name",
        "verb": "GET",
        "authenticate": false,
        "description": "Describes object properties",
        "returns": ""
    },
    {
        "name": "Authenticate",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Checks authentification",
        "returns": "boolean"
    },
    {
        "name": "Applications",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns Canvas applications",
        "returns": "JSON Array"
    },
    {
        "name": "WorkflowTemplates",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns list of workflow templates",
        "returns": "JSON array"
    },
    {
        "name": "Accounts",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns list of accounts in the organization",
        "returns": "JSON array"
    },
    {
        "name": "RegApplications",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns account registerred applications",
        "returns": "JSON Array"
    },
    {
        "name": "Workflows",
        "parameters": "",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns list of registered workflows",
        "returns": "JSON array"
    },
    {
        "name": "Workflow",
        "parameters": "Guid id",
        "verb": "GET",
        "authenticate": false,
        "description": "Returns registered workflow by id",
        "returns": "JSON"
    },
    {
        "name": "RegApplication",
        "parameters": "[FromBody]AddRegApplicationApiDto regApp",
        "verb": "POST",
        "authenticate": false,
        "description": "Registers a new application and returns Id",
        "returns": "Guid"
    },
    {
        "name": "Workflow",
        "parameters": "[FromBody]AddWorkflowApiDto workflow",
        "verb": "POST",
        "authenticate": false,
        "description": "Registers a new workflow based on template and returns Id",
        "returns": "Guid"
    },
    {
        "name": "DeleteWorkflow",
        "parameters": "Guid id",
        "verb": "GET",
        "authenticate": false,
        "description": "Deletes workflow by Id",
        "returns": "Guid"
    },
    {
        "name": "RunWorkflow",
        "parameters": "[FromBody]RunMetadataApiDto metadata",
        "verb": "POST",
        "authenticate": false,
        "description": "Runs workflow",
        "returns": "Guid"
    },
    {
        "name": "WorkflowScheduler",
        "parameters": "[FromBody]UpdateWorkfowSchedulerApiDto scheduler",
        "verb": "POST",
        "authenticate": false,
        "description": "Updates the workflow scheduler",
        "returns": ""
    },
    {
        "name": "Account",
        "parameters": "[FromBody]AddAccountApiDto data",
        "verb": "POST",
        "authenticate": false,
        "description": "Account registration",
        "returns": ""
    }
]

Describe

For getting of description about APIs parameters you can use following request:

...

Expand
titleResponse (status 200)
Code Block
languagejson
[
    {
        "typeName": "guid",
        "propertyName": "workflowTemplateId",
        "genericParameters": "",
        "isRequired": true
    },
    {
        "typeName": "string",
        "propertyName": "name",
        "genericParameters": "",
        "isRequired": truefalse
    },
    {
        "typeName": "string",
        "propertyName": "description",
        "genericParameters": "",
        "isRequired": false
    },
    {
        "typeName": "dictionary",
        "propertyName": "applications",
        "genericParameters": "string,guid",
        "isRequired": true
    },
    {
        "typeName": "iEnumerable",
        "propertyName": "chain",
        "genericParameters": "chainApiDto",
        "isRequired": false
    }
]

APIs for authentication

There are three APIs for working with authentication tokens

Authentication

For enabling of access to your organization data by REST API you need to set <API access> flag ON and copy provided Secret and Consumer keys. Do not share provided keys with anybody and keep them in safe place because they are not saved in Canvas and you will not be able to get them anymore.

Authentication request:

Expand
titleGET https://<base-url>/Authenticate

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED
SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

Expand
titleResponse (status 200)
Code Block
languagejson
{
  "access_token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzYzI4YjFkYy05ZDA1LTQ5ZDgtYTMyNC1kNGI2N2IxYTg3MmQiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODA4MiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY4OTgxLCJhdWQiOiJjbWEtdXNlcnMifQ.SllrAi0m1DR__9tYuSZJ4-qTk3pnxEi2G5vs6_cSvCE",
  "accessTokenExpiresDateTime": "2022-04-27T14:16:21.9458102+00:00",
  "refresh_token": "6ed6d7ba271d43a0843f8f363fe27279",     
  "refreshTokenExpiresDateTime": "2022-04-28T14:01:21.9458102+00:00"
}
Expand
titleResponse (status 401)

Returned if the Consumer or SecretKey are incorrect or missing.

Refresh token

For refreshing of access token you need to send following request:

Expand
titleGET https://<base-url>/RefreshAccessToken?refreshToken=6ed6d7ba271d43a0843f8f363fe27279

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED
SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

Expand
titleResponse (status 200)
Code Block
languagejson
{
    "access_token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wE",
    "accessTokenExpiresDateTime": "2022-04-27T14:26:09.3528117+00:00",
    "refresh_token": "886be8d80a65477b8ce9b4b643fe6994",
    "refreshTokenExpiresDateTime": "2022-04-28T14:16:09.3528117+00:00"
}
Expand
titleResponse (status 401)

Returned if the Consumer or SecretKey are incorrect or missing.

Expand
titleResponse (status 404)

Returned if refresh token is not found

Delete authentication tokens

For deleting of authentication tokens you need to send following request:

Expand
titleDELETE https://<base-url>/DeleteToken?refreshToken=6ed6d7ba271d43a0843f8f363fe27279

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED
SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

Expand
titleResponse (status 200)
Code Block
true
Expand
titleResponse (status 401)

Returned if the Consumer or SecretKey are incorrect or missing.

Expand
titleResponse (status 404)

Returned if refresh token is not found

: "chain",
        "genericParameters": "chainApiDto",
        "isRequired": false
    }
]

APIs for organization administration

...

Headers:
Expand
titleGET https://<base-url>/Accounts
/Accounts

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wE

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

Expand
titleResponse (status 200)
Code Block
languagejson
[
    {
        "id": "41a31538-1120-4bdf-a6cb-675eeedd7d2d",
        "firstName": "Nathan",
        "lastName": "Bray",
        "email": "nathan.bray@connectmyapps.com",
        "organizationId": "00000000-0000-0000-0000-000000000000",
        "organizationName": "CMA Customer Bench",
        "roleId": "349889ad-4277-42d0-a268-5cd27230cfc5",
        "role": "User",
        "dateCreated": "2020-05-07T19:10:36.69"
    },
    {
        "id": "18cc3b9f-c14e-4c7d-892b-7cc5545abac0",
        "firstName": "Igor",
        "lastName": "Kostian",
        "email": "igor.kostian@connectmyapps.com",
        "organizationId": "00000000-0000-0000-0000-000000000001",
        "organizationName": "ConnectMyApps AS",
        "roleId": "9c525665-df99-4aee-9e52-1a55853db03b",
        "role": "Admin",
        "dateCreated": "2017-03-01T08:51:32.31"
    },
    {
        "id": "a305c3a2-cba5-4554-bb5d-ab7fcd5b4a4c",
        "firstName": "Luke",
        "lastName": "Buckley",
        "email": "luke.buckley@connectmyapps.com",
        "organizationId": "00000000-0000-0000-0000-000000000000",
        "organizationName": "CMA Customer Bench",
        "roleId": "9c525665-df99-4aee-9e52-1a55853db03b",
        "role": "Admin",
        "dateCreated": "2013-06-01T18:56:22.763"
    }
]

Account

Registers a new inactive account Registers a new account and returns account Id. The If account is created as inactive then an email to complete activation will be send by corresponded address.

Expand
titlePOST https://<base-url>/Account

Body JSON structure:

AddAccountApiDto

Body example:

Code Block
languagejson
{
    "firstName": "John",
    "lastName": "Smeet",
    "email": "john.smmet@сompany.com",
    "phone":"+470568765432",
    "roleName":"SuperPartner",
    "countryKey":"DE",
    "globalNotifications":true,
    "defaultNotificationEmail":"support@connectmyapps.com",    
    "activated":true
}

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wE

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titleGET https://<base-url>/Applications

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wE

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titleGET https://<base-url>/RegApplications

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wE

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titlePOST https://<base-url>/RegApplication

Body JSON structure:

AddRegApplicationApiDto

Body example 1:

Code Block
languagejson
{
    "applicationId": "97cbc3b3-32c7-4e4a-b788-a332ea82aeff",
    "tagText": "Quinyx 2022-04-28",
    "credentialsJson": "{\"apikey\":\"01d6-3e54-cff2-c7d8\",\"environment\": \"test\"}"
}

Body example 2:

Code Block
languagejson
{
    "applicationId": "5f814909-01ea-4395-96ee-5ba7614128fc",
    "tagText": "FTP 2022-05-03",
    "credentialsJson": "{\"username\": null,\"password\": null,\"port\": null,\"address\": null,\"secure\": true}"
}

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wE

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titleGET https://<base-url>/WorkflowTemplates

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wE

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titleGET https://<base-url>/Workflows

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wE

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titleGET https://<base-url>/Workflow/b459cf22-ad18-44bf-80dc-6e8b78be1cc5

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

ManagedAccountIdSecretKey:6fa122e4a5ae515d-0d4cd53b-4a1d478c-886990bd-7c0a86a37bf1060c616d37b7

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wEManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titlePOST https://<base-url>/Workflow

Body JSON structure:

AddWorkflowApiDto

Body example:

Code Block
languagejson
{   
   "workflowTemplateId": "bbe52876-aca2-4ece-ba31-11e0d98ddc19",
   "name": "Test Quinyx Employee Export Into FTP(CSV)",
   "applications": {"QUIN":"e3320a16-4b20-4e33-840f-2f5d28e3e1ca", "FTP":"0741b73d-2b13-4a4a-a0c2-2ffad9548e06"},
   "chain":[
            {
                "uniqueBlockId": "02d1424a-da90-4c12-9c28-96162e624bd7",
                "variables": {
                    "apiKeys": ["xxxx-xxxx-xxxx-xxxx"],
                    "badgeNo": null
                }
            }
        ]
}       
Headers:

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:6fa122e4a4ba9a9b-0d4cce81-4a1d4f06-886981c6-7c0a86a37bf1

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wE

032bf7d648f5

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titleGET https://<base-url>/DeleteWorkflow/7b2dee52-5781-49bf-9895-d6d2b2b43e2c

Headers:

ManagedAccountId:6fa122e4-0d4c-4a1d-8869-7c0a86a37bf1

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wEConsumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titlePOST https://<base-url>/WorkflowRunWorkflow

Body JSON structure:

RunMetadataApiDto

Body example 1 for running by default:

Code Block
languagejson
{   
   "workflowId": "0fdfd78c-258f-49ed-9e8c-faef9d6598fa"
}            

Body example 2 for running from start till block #2:

Code Block
languagejson
{   
   "workflowId": "0fdfd78c-258f-49ed-9e8c-faef9d6598fa",
   "runTillBlock": 2
}            

Body example 3 for running of blocks between #2 and #4:

Code Block
languagejson
{   
   "workflowId": "0fdfd78c-258f-49ed-9e8c-faef9d6598fa",
   "runFromBlock": 2,
   "runTillBlock": 4 
}             

Headers:

ManagedAccountId:6fa122e4-0d4c-4a1d-8869-7c0a86a37bf1

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wEConsumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

SecretKey:a5ae515d-d53b-478c-90bd-060c616d37b7

ManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...

Expand
titlePOST https://<base-url>/WorkflowScheduler

Body JSON structure:

UpdateWorkfowSchedulerApiDto

Body example:

Code Block
languagejson
{   
   "workflowId": "0fdfd78c-258f-49ed-9e8c-faef9d6598fa",
   "isScheduled": true,
   "scheduleFrequency": "{\"cronSchedule\":\"0 0/5 * ? * * *\"}"
}          

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED

ManagedAccountIdSecretKey:6fa122e4a5ae515d-0d4cd53b-4a1d478c-886990bd-7c0a86a37bf1060c616d37b7

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMDAxZDFlZS1jOWUxLTRhMDctOTZkNi1hNTMyNGEzMjczY2UiLCJpc3MiOiJodHRwOi8vY2FudmFzdGVzdC5jb25uZWN0bXlhcHBzLmNvbSIsImlhdCI6MTY1MTA2ODk2OSwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvZW1haWxhZGRyZXNzIjoibmF0YWxpYS55dWRuaWtvdmFAb3V0bG9vay5jb20iLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoiNmZhMTIyZTQtMGQ0Yy00YTFkLTg4NjktN2MwYTg2YTM3YmYxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW4iLCJMb2dnZWRTdXBwb3J0ZWRCeUNtYSI6IlRydWUiLCJNYW5hZ2VkU3VwcG9ydGVkQnlDbWEiOiJUcnVlIiwiZXhwIjoxNjUxMDY5NTY5LCJhdWQiOiJjbWEtdXNlcnMifQ.v2Tbnw4bKuQSMAjtj36eVjrcMoE1vH93C6axpN9Y4wEManagedAccountId:a4ba9a9b-ce81-4f06-81c6-032bf7d648f5

Info

ManagedAccountId - is an optional header. You need to use it if you want to manage some account and get data to which account has access

...