Skip to main content

Canvas REST API

The Canvas REST API enables your organization to interact with Canvas programmatically. Use this API to register new accounts and build integration workflows between third-party applications.

This page documents the REST resources available in Canvas, including the HTTP response codes and example requests and responses:

Base URL for environments:

DEV - https://canvastest.connectmyapps.com/api

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

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:

GET https://<base-url>/Authenticate

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

Response (status 200)

true

Response (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:

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

Headers: no header

Response (status 200)

[
{
"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:

GET https://<base-url>/Describe?name=AddWorkflowApiDto Header: no header

Response (status 200)

[
{
"typeName": "guid",
"propertyName": "workflowTemplateId",
"genericParameters": "",
"isRequired": true
},
{
"typeName": "string",
"propertyName": "name",
"genericParameters": "",
"isRequired": false
},
{
"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 organization administration

Accounts

Returns list of all active accounts in your organization

GET https://<base-url>/Accounts

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

[
{
"id": "aae3f328-a561-4171-a0e9-19f6047c154b",
"firstName": "John",
"lastName": "Smith",
"email": "John.Smith@connectmyapps.com",
"organizationId": "00000000-0000-0000-0000-000000000000",
"organizationName": "ConnectMyApps AS",
"roleId": "cff56fc9-854b-4b63-b06f-5c447b93e305",
"role": "User",
"dateCreated": "2020-05-07T19:10:36.69"
},
{
"id": "dedf618d-53a7-42af-bb4a-d78ec8e6dbdc",
"firstName": "Walter",
"lastName": "Benedicte",
"email": "Walter.Benedicte@connectmyapps.com",
"organizationId": "00000000-0000-0000-0000-000000000000",
"organizationName": "ConnectMyApps AS",
"roleId": "cff56fc9-854b-4b63-b06f-5c447b93e305",
"role": "User",
"dateCreated": "2017-03-01T08:51:32.31"
},
{
"id": "387c0680-d4d2-43c6-b802-49419d88260b",
"firstName": "Petter",
"lastName": "Charlotte",
"email": "Petter.Charlotte@connectmyapps.com",
"organizationId": "00000000-0000-0000-0000-000000000000",
"organizationName": "ConnectMyApps AS",
"roleId": "cff56fc9-854b-4b63-b06f-5c447b93e305",
"role": "User",
"dateCreated": "2013-06-01T18:56:22.763"
}
]

Account

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

POST https://<base-url>/Account

Body JSON structure: AddAccountApiDto

Body example:

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

Headers:

Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

"e39bc2a3-a730-4cc9-949c-9a5cb516008e"

Response (status 401) Status Code: 401; Unauthorized

Response (status 400)

Account has already been created

Response (status 400)

Role Admin is not supported. Please use SuperPartner or User

Application APIs

Applications

Returns list of all third-part applications supported by CMA

GET https://<base-url>/Applications

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

[
{
"id": "07ffd13d-ba57-4d1b-9c46-03c5c919eed0",
"name": "Talentsoft",
"shortName": "TASO",
"description": "HR",
"vendorUrl": "https://www.talentsoft.com/",
"credentialFields": [
{
"ShortName": "baseUrl",
"Name": "Base url",
"Type": "text",
"Value": "",
"Optional": false,
"Desc": "Talentsoft API url.",
"Hidden": false
},
{
"ShortName": "client_id",
"Name": "Client ID",
"Type": "text",
"Value": "",
"Optional": false,
"Desc": "Talentsoft client ID.",
"Hidden": false
},
{
"ShortName": "client_secret",
"Name": "Client secret",
"Type": "text",
"Value": "",
"Optional": false,
"Desc": "Talentsoft client secret.",
"Hidden": false
}
],
"credentialsJson": {
"baseUrl": null,
"client_id": null,
"client_secret": null
},
"tag": "Hr, Premium",
"sessionTimeMins": 0,
"sessionSlidingExpiry": false
},
{
"id": "97cbc3b3-32c7-4e4a-b788-a332ea82aeff",
"name": "Quinyx",
"shortName": "QUIN",
"description": "Workforce planning",
"vendorUrl": "http://www.quinyx.com",
"credentialFields": [
{
"ShortName": "apikey",
"Name": "API key",
"Type": "text",
"Value": "",
"Optional": false,
"Desc": "Your Quinyx API key",
"Hidden": false
},
{
"ShortName": "environment",
"Name": "Environment",
"Type": "select",
"Value": "",
"Options": "live|Live Environment,test|Test Environment",
"Optional": false,
"Desc": "Choose which Quinyx environment you wish to use, live or test.",
"Hidden": false
}
],
"credentialsJson": {
"apikey": null,
"environment": null
},
"tag": "Scheduling,Planning,Premium",
"sessionTimeMins": 0,
"sessionSlidingExpiry": false
},
...,
{
"id": "b5a4a9ed-a686-4b1e-af30-ffd84b7fb2e0",
"name": "Talent Manager",
"shortName": "HRTM",
"description": "HR solution",
"vendorUrl": "http://www.hr-manager.net",
"credentialFields": [
{
"ShortName": "customeralias",
"Name": "Customer alias",
"Type": "text",
"Value": "",
"Optional": false,
"Desc": "Your customer alias.",
"Hidden": false
},
{
"ShortName": "apikey",
"Name": "Your API key",
"Type": "text",
"Value": "",
"Optional": false,
"Desc": "Your API key.",
"Hidden": false
}
],
"credentialsJson": {
"customeralias": null,
"apikey": null
},
"tag": "HR",
"sessionTimeMins": 0,
"sessionSlidingExpiry": false
}
]

Response (status 401) Returned if the Authorization is incorrect or missing.

RegApplications

Returns account registerred applications

GET https://<base-url>/RegApplications

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

[
{
"id": "fda1f9ee-4c7f-4e0a-a459-2e434dbbef7d",
"shortName": "QUIN",
"accountId": "e39bc2a3-a730-4cc9-949c-9a5cb516008e",
"applicationId": "97cbc3b3-32c7-4e4a-b788-a332ea82aeff",
"name": "Quinyx",
"tagText": "N-Quinyx",
"description": "Workforce planning",
"isAuthenticated": true,
"isOAuthApp": false,
"dateModified": "2022-04-19T15:56:22.1133746",
"dateTimeUtcAuthenticated": "2022-04-19T15:56:22.0345429",
"dateTimeForReAuth": "2022-04-19T15:56:22.0345429",
"sessionTimeMins": 0,
"sessionSlidingExpiry": false,
"faulted": false
},
{
"id": "4a80a49e-d26d-4594-9853-15d569dc95a4",
"shortName": "MSQL",
"accountId": "e39bc2a3-a730-4cc9-949c-9a5cb516008e",
"applicationId": "276511d9-f07f-4fa6-b109-fdb4d62b2429",
"name": "Microsoft SQL On-premise",
"tagText": "N-Microsoft SQL On-premise",
"description": "Database engine",
"isAuthenticated": true,
"isOAuthApp": false,
"dateModified": "2021-09-06T13:30:11.2590869",
"dateTimeUtcAuthenticated": "2021-04-14T10:27:22.1672672",
"dateTimeForReAuth": "2021-04-14T10:27:22.1672672",
"sessionTimeMins": 0,
"sessionSlidingExpiry": false,
"faulted": false
},
{
"id": "9d164191-4ebb-49b3-89dd-b9e2bdc22328",
"shortName": "CMAF",
"accountId": "78e83bd6-32b1-41b6-b172-9e6dc88d6477",
"applicationId": "9b6a04b3-c91f-4255-9033-6ac7b7a6f935",
"name": "File Hub",
"tagText": "File Hub",
"description": "File automation",
"isAuthenticated": true,
"isOAuthApp": false,
"dateModified": "2022-04-20T14:00:27.1912258",
"dateTimeUtcAuthenticated": null,
"dateTimeForReAuth": null,
"sessionTimeMins": 0,
"sessionSlidingExpiry": false,
"faulted": false
},
{
"id": "a067c363-7339-4fed-b1ad-456fd7603986",
"shortName": "FTP",
"accountId": "78e83bd6-32b1-41b6-b172-9e6dc88d6477",
"applicationId": "5f814909-01ea-4395-96ee-5ba7614128fc",
"name": "FTP Server",
"tagText": "N-FTP Server",
"description": "File upload and download",
"isAuthenticated": true,
"isOAuthApp": false,
"dateModified": "2022-02-01T15:33:49.9987294",
"dateTimeUtcAuthenticated": "2022-02-01T15:33:49.9919226",
"dateTimeForReAuth": "2022-02-01T15:33:49.9919226",
"sessionTimeMins": 0,
"sessionSlidingExpiry": false,
"faulted": false
},
]

RegApplication

Registers a new application and returns Id

POST https://<base-url>/RegApplication

Body JSON structure: AddRegApplicationApiDto

Body example 1:

{
"applicationId": "97cbc3b3-32c7-4e4a-b788-a332ea82aeff",
"tagText": "Quinyx 2022-04-28",
"credentialsJson": "{\"apikey\":\"e16d092b-577a-4d49-ae1e-87b993dc5fa9\",\"environment\": \"test\"}"
}

Body example 2:

{
"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:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

"eea37d64-5a93-478c-8216-6231c0a37f0a"

Response (status 401) Status Code: 401; Unauthorized

Response (status 400)

Authentication Error: You must enter a value for User name.
You must enter a value for Password.
You must enter a value for Port.
You must enter a value for Server address.

Updates (rename/reauth) registered application

POST https://<base-url>/RegApplication/c97f96bf-c372-4acf-b596-74ce037e0b68

Body JSON structure: EditRegApplicationApiDto

Body example 1:

{
"tagText": "Quinyx 2022-04-28",
"credentialsJson": "{\"apikey\":\"e16d092b-577a-4d49-ae1e-87b993dc5fa9\",\"environment\": \"test\"}"
}

DeleteRegApplication

GET https://<base-url>/DeleteRegApplication/c97f96bf-c372-4acf-b596-74ce037e0b68

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

true

Response (status 401) Status Code: 401; Unauthorized

Response (status 500)

{
"State": 500,
"Msg": "Undeclared RegisteredApplication"
}

Response (status 400)

Deletion error: 
We're unable to delete the application (c97f96bf-c372-4acf-b596-74ce037e0b68) because it is in use within an active workflow(s): fd66448b-5c0b-41c5-ab22-0c5b550d5854, 86bf89a1-ef5c-40fd-88a7-2a825cd14aba
Please ensure that the application is not being utilized in any workflows and try again.
If you need further assistance, please contact support.

Workflow APIs

WorkflowTemplates

Returns list of workflow templates provided by CMA and your organization GET https://<base-url>/WorkflowTemplates

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

[
{
"id": "bbe52876-aca2-4ece-ba31-11e0d98ddc19",
"name": "Quinyx Employee Export Into FTP(CSV)",
"description": "Quinyx Employee Export Into FTP(CSV)",
"dateCreated": "2020-08-14T17:12:29.7856246",
"dateModified": "2022-03-17T13:54:07.0394189",
"state": "Published",
"version": "0.1.7",
"draftIsCommitted": false,
"dateCommitted": "2021-02-26T16:51:29.3588575",
"organizationId": null,
"applications": [
"QUIN",
"FTP"
],
"chain": [
{
"uniqueBlockId": "02d1424a-da90-4c12-9c28-96162e624bd7",
"blockName": "API - Get Employees",
"variables": {
"apiKeys": [],
"badgeNo": null
}
},
{
"uniqueBlockId": "25782580-aabe-4a03-be1c-bc45dacd7e60",
"blockName": "FTP Upload",
"variables": {
"filename": "NY_Employees_{date:yyyy-MM-dd-HH-mm}",
"fileformat": "csv",
"filepath": "/"
}
}
]
},
{
"id": "3b76ca61-bca9-4995-90ba-7190c1dd567b",
"name": "MyStore Customers Send email",
"description": "MyStore Customers Send email",
"dateCreated": "2021-11-08T11:39:58.814",
"dateModified": "2021-11-09T15:14:14.836809",
"state": "Published",
"version": "0.0.7",
"draftIsCommitted": true,
"dateCommitted": "2021-11-09T15:14:18.6103605",
"organizationId": null,
"applications": [
"MYST2",
"CMAF"
],
"chain": [
{
"uniqueBlockId": "729e4eb5-8022-43bb-b75b-524b1cb5f5b5",
"blockName": "MyStore Get Customers",
"variables": {}
},
{
"uniqueBlockId": "a510ddbf-2350-4ab6-9014-c81d0aa3f013",
"blockName": "Send email",
"variables": {
"subject": "MyStore Customers",
"fileName": "AllCustomers",
"note": "Please see your customers in MyStore"
}
}
]
},
{
"id": "018fda95-a62f-4f0b-af12-3cfcd9146def",
"name": "Transferring of Orders & Customers",
"description": "Transferring of Orders & Customers",
"dateCreated": "2020-08-14T17:22:57.2244016",
"dateModified": "2020-12-10T13:02:23.1685229",
"state": "Draft",
"version": null,
"draftIsCommitted": null,
"dateCommitted": null,
"organizationId": null,
"applications": [
"MYST2",
"FIKE"
],
"chain": [
{
"uniqueBlockId": "a43e433d-9def-4062-9e89-6ff01824f980",
"blockName": "MyStore Get orders",
"variables": {
"status": "2",
"age": null
}
},
{
"uniqueBlockId": "d362db53-c46f-4cf8-8bee-9a105ecde130",
"blockName": "Get all contacts",
"variables": {
"testValue": "name"
}
},
{
"uniqueBlockId": "6cf1b697-4145-4659-985c-4c9b76a57710",
"blockName": "Post orders & customers",
"variables": {
"shippingtext": "Shipping"
}
}
]
}
]

WorkflowTemplate

Returns list of workflow templates provided by CMA and your organization GET https://<base-url>/WorkflowTemplate/c35de990-ccfa-4aab-966e-96e0b3044d71?isDraft=false

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

{
"chain": [
{
"uniqueBlockId": "bab5609e-cc2d-4c22-b1a8-21b65e6c419d",
"blockName": "Get Employees",
"variables": {
"amountToObtain": {
"tagName": "amountToObtain",
"name": "Amount to obtain",
"description": "Specify how many employees should be obtained",
"type": "INPUT",
"isRequired": true,
"options": null,
"optionsPath": null,
"optionsName": null,
"dataSource": null,
"dataTarget": null,
"multiple": false,
"variableSource": 2,
"variableName": "amountToObtainWfQ",
"value": "10"
}
}
},
{
"uniqueBlockId": "91c36eb8-ddc2-4429-9a77-83bbdcc44e08",
"blockName": "Mapper",
"variables": {}
},
{
"uniqueBlockId": "436294d6-d14d-4b71-bc88-fa50213c2a48",
"blockName": "Post Employees",
"variables": {}
}
],
"variables": {
"amountToObtainWfQ": {
"tagName": "amountToObtainWfQ",
"name": "What amount of employees should be obtained?",
"description": "The \"Get Employees\" block requires a number to obtain. The value you enter here will be passed to the block",
"value": "10",
"type": "INPUT",
"isRequired": true,
"options": null,
"optionsPath": null,
"optionsName": null,
"dataSource": null,
"dataTarget": null,
"multiple": false
},
"locationsMapping": {
"tagName": "LocationsMapping",
"name": "Locaitons",
"description": null,
"value": {
"table": [
{
"source": "Oslo",
"target": null
},
{
"source": "Bergen",
"target": null
}
],
"default": null
},
"type": "LOOKUP_TABLE",
"isRequired": true,
"options": [],
"optionsPath": null,
"optionsName": null,
"dataSource": null,
"dataTarget": null,
"multiple": false
}
},
"id": "c35de990-ccfa-4aab-966e-96e0b3044d71",
"name": "Demo workflow",
"description": "",
"dateCreated": "2022-09-28T11:54:58.444",
"dateModified": "2024-04-28T18:22:52.4183776",
"state": "Published",
"version": "0.0.6",
"draftIsCommitted": true,
"dateCommitted": "2024-04-28T18:22:52.4183776",
"organizationId": null,
"applications": [
"TEST"
]
}

Workflows

Returns list of registered workflows

GET https://<base-url>/Workflows

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

[
{
"id": "ef6a56e6-448f-4787-b58d-47b063d6e988",
"name": "Quinyx Employee Export Into FTP(CSV)",
"description": "Quinyx Employee Export Into FTP(CSV)",
"status": "Ready",
"isScheduled": false,
"schedulerFrequency": "{ \"cronSchedule\": \"0 0 * ? * *\"}",
"workflowTemplateId": "bbe52876-aca2-4ece-ba31-11e0d98ddc19",
"isCustomizedStructure": true,
"accountId": "be4f3f1e-0e6d-4f68-b8d8-546163c5dfad",
"organizationId": "00000000-0000-0000-0000-000000000000",
"dateCreated": "2022-02-22T15:29:22.3525209",
"dateModified": "2022-04-13T06:30:56.2625076",
"dateLastRun": "2022-04-12T10:35:32.731+00:00",
"dateNextSchedule": null,
"regApplicationIds": [
"1710ff47-f590-43db-b0de-015676e99615",
"fa2ee993-03cf-4baf-a8a0-684e92e74ded"
],
"currentBlock": 5
},
{
"id": "b459cf22-ad18-44bf-80dc-6e8b78be1cc5",
"name": "Order transferring",
"description": "Transfer orders from MyStore into Tripletex invoices with payments",
"status": "Ready",
"isScheduled": false,
"schedulerFrequency": "{\"cronSchedule\":\"0 0 0/1 ? * * *\"}",
"workflowTemplateId": null,
"isCustomizedStructure": false,
"accountId": "be4f3f1e-0e6d-4f68-b8d8-546163c5dfad",
"organizationId": "00000000-0000-0000-0000-000000000000",
"dateCreated": "2022-03-24T18:08:22.2543998",
"dateModified": "2022-04-12T10:36:56.478261",
"dateLastRun": "2022-04-12T10:36:57.877+00:00",
"dateNextSchedule": "2022-04-05T17:00:00+00:00",
"regApplicationIds": [
"281686d9-aedd-4359-89b4-8f878ad43b35",
"03548816-f945-4bb2-b66e-950dff826fb8"
],
"currentBlock": 3
},
{
"id": "a78cee1b-adca-4777-9261-f86e4640e7db",
"name": "QuinyxRandom",
"description": "random",
"status": "Ready",
"isScheduled": true,
"schedulerFrequency": "{\"cronSchedule\":\"0 0 2,6 ? * TUE *\"}",
"workflowTemplateId": null,
"isCustomizedStructure": false,
"accountId": "be4f3f1e-0e6d-4f68-b8d8-546163c5dfad",
"organizationId": "00000000-0000-0000-0000-000000000000",
"dateCreated": "2021-04-02T08:33:15.3238045",
"dateModified": "2022-04-12T10:19:50.2024988",
"dateLastRun": "2022-04-26T06:00:28.976+00:00",
"dateNextSchedule": "2022-05-03T02:00:00+00:00",
"regApplicationIds": [
"1710ff47-f590-43db-b0de-015676e99615"
],
"currentBlock": 3
},
{
"id": "4fb07016-6a38-4031-83d7-2cd70af024d9",
"name": "BigResponse",
"description": "BigResponse",
"status": "Ready",
"isScheduled": false,
"schedulerFrequency": "{ \"cronSchedule\": \"0 0 * ? * *\"}",
"workflowTemplateId": null,
"isCustomizedStructure": false,
"accountId": "be4f3f1e-0e6d-4f68-b8d8-546163c5dfad",
"organizationId": "00000000-0000-0000-0000-000000000000",
"dateCreated": "2021-10-29T14:12:42.4563685",
"dateModified": "2022-02-01T09:58:53.506504",
"dateLastRun": "2021-11-26T16:35:57.573+00:00",
"dateNextSchedule": null,
"regApplicationIds": [],
"currentBlock": 0
},
{
"id": "8d85eb13-9663-4ac7-8502-46c5d38f9c1e",
"name": "SpecialSymbols",
"description": "SpecialSymbols",
"status": "Ready",
"isScheduled": false,
"schedulerFrequency": "{ \"cronSchedule\": \"0 0 * ? * *\"}",
"workflowTemplateId": null,
"isCustomizedStructure": false,
"accountId": "be4f3f1e-0e6d-4f68-b8d8-546163c5dfad",
"organizationId": "00000000-0000-0000-0000-000000000000",
"dateCreated": "2021-09-15T14:55:20.4327369",
"dateModified": "2022-02-01T09:56:16.9089015",
"dateLastRun": "2021-09-15T14:59:02.95+00:00",
"dateNextSchedule": null,
"regApplicationIds": [
"dbdd41cf-28de-4d2d-9771-7105c2165bcf"
],
"currentBlock": 1
},
{
"id": "f01eccf9-f56c-420a-9da3-e938291514e8",
"name": "Random",
"description": "Random",
"status": "Ready",
"isScheduled": false,
"schedulerFrequency": "{\"cronSchedule\":\"0 0 0/1 ? * * *\"}",
"workflowTemplateId": null,
"isCustomizedStructure": false,
"accountId": "be4f3f1e-0e6d-4f68-b8d8-546163c5dfad",
"organizationId": "00000000-0000-0000-0000-000000000000",
"dateCreated": "2021-03-31T09:09:31.1665459",
"dateModified": "2021-11-26T16:37:10.8509085",
"dateLastRun": "2021-11-26T16:37:12.128+00:00",
"dateNextSchedule": "2021-09-20T11:00:00+00:00",
"regApplicationIds": [
"1c08aaa2-52ae-4e74-bb9d-108f6f36b8a8"
],
"currentBlock": 4
}
]

Workflow (get)

Returns registered workflow by id

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

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad 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

Response (status 200)

{
"id": "b459cf22-ad18-44bf-80dc-6e8b78be1cc5",
"name": "Order transferring",
"description": "Transfer orders from MyStore into Tripletex invoices with payments",
"status": "Ready",
"isScheduled": false,
"schedulerFrequency": "{\"cronSchedule\":\"0 0 0/1 ? * * *\"}",
"workflowTemplateId": null,
"isCustomizedStructure": false,
"accountId": "be4f3f1e-0e6d-4f68-b8d8-546163c5dfad",
"organizationId": "00000000-0000-0000-0000-000000000001",
"dateCreated": "2022-03-24T18:08:22.2543998",
"dateModified": "2022-04-12T10:36:56.478261",
"dateLastRun": "2022-04-12T10:36:57.877+00:00",
"dateNextSchedule": "2022-04-05T17:00:00+00:00",
"regApplicationIds": [
"281686d9-aedd-4359-89b4-8f878ad43b35",
"03548816-f945-4bb2-b66e-950dff826fb8"
],
"currentBlock": 3
}

Workflow (post)

Registers a new workflow based on template

POST https://<base-url>/Workflow

Body JSON structure: AddWorkflowApiDto Body example:

{   
"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: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

"0fdfd78c-258f-49ed-9e8c-faef9d6598fa"

Response (status 401) Status Code: 401; Unauthorized

Response (status 500)

{
"State": 500,
"Msg": "Unknown workflow template 1be52876-aca2-4ece-ba31-11e0d98ddc19"
}

Updates existed workflow by Id

POST https://<base-url>/Workflow/e0b8c9e6-a55b-4ff8-80f0-8fe1c5510d16

Body JSON structure: EditWorkflowApiDto Body example:

{   
"name": "test UCIN-1021-UPD1",
"description": "description-UPD1",
"applications": {"MYST2":"25a49bb8-2848-4e84-baf6-a2c294efdeae"},
"chain": [
{
"uniqueBlockId": "357e9a39-b0bd-47df-8f39-c883336dcf14",
"blockName": "test lookup2",
"variables": {
"lt1": {
"variableSource": 2,
"variableName": "lt1",
"value": null
},
"testValue": {
"variableSource": 2,
"variableName": "testValue1",
"value": null
},
"country": {
"variableSource": 2,
"variableName": "country",
"value": null
},
"city": {
"variableSource": 2,
"variableName": "city",
"value": null
}
}
}
],
"variables": {
"lt1": {
"table": [
{
"source": "1",
"target": "2"
}
],
"default": "1"
},
"testValue1": "123",
"country": "2",
"city": "3"
}
}

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

true

Response (status 401)

Status Code: 401; Unauthorized

Response (status 500)

{
"State": 500,
"Msg": "Undeclared RegisteredCanvasWorkflow key"
}

DeleteWorkflow

Removes workflow by Id

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

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

true

Response (status 401)

Status Code: 401; Unauthorized

RunWorkflow

Runs workflow or needed blocks

POST https://<base-url>/RunWorkflow

Body JSON structure: RunMetadataApiDto Body example 1 for running by default:

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

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

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

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

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

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

Workflow will now run

Response (status 401) Status Code: 401; Unauthorized

WorkflowScheduler

Sets ON/OFF a workflow scheduler. The scheduler frequency should be set in CRON format.

POST https://<base-url>/WorkflowScheduler

Body JSON structure: UpdateWorkfowSchedulerApiDto

Body example:

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

Headers: Consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED SecretKey:agl20ad-d53b-478c-90bd-060c616d37b7 ManagedAccountId:be4f3f1e-0e6d-4f68-b8d8-546163c5dfad

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

Response (status 200)

Workflow Scheduler enabled

or

Workflow Scheduler disabled

Response (status 401) Status Code: 401; Unauthorized