Versions Compared

Key

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

...

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

Table of Contents

IP restriction

You can send Core REST API requests just from availabled servers, which are in white list.

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

Endpoints and requests

All requests can be send with URL based on following mask:

https://<base-url>/apps/<app-short-name>/<endpoint>

and following headers

Consumer: 5D1AEF055555597182992E000007FFFD0FED85F7777742B19CE02AB5ED62D6ED
Authorization: Bearer E71B48D1F72C468199FB7DD81C3C5999999928268547098F60D5B1E3B19A49
AppKey: 6167D3D5924CE89DCEEE45C2592C8C
SessionKey: 9F8892419CF447C3E567AA21CEBCD47A4C748064345659A54382F37262BEF
CMAproject: CANVAS:PRD

where:

Expand
title<base-url> takes a value in depending of needed environment implementation:

DEV - eu3api.connectmyapps.com

PRD - cloudmanager.connectmyapps.com/api

Expand
title<app-short-name> application short name.

Takes a value in depending of application which you want to integrate with

...

Name

ShortName

24Nettbutikk

T4NB

24SevenOffice

TFSO

Absence.IO

ABIO

Adra

ADRA

ALSO

ALSO

Amazon (Europe)

AMAZ

Amazon S3

AWS3

Arrow

ARSP

Azure Blob Storage

AZBL

Canvas

CANV

CatalystOne REST API

CATO2

DDD Retail POS

DDDR

DNB Factoring

DNBB

Dynamics 365 HR

D365

Ebay

EBAY

Evolution

EVOL

E-Works Manager

EWOR

Fiken

FIKE

File Hub

CMAF

File Sync

CMFF

Fort Nox

FORT

FTP Key file

FTPC

FTP Server

FTP

Goodtill

GOOD

Harvest

HARV

Hibob

HIBO

Hosted Microsoft SQL

HSQL

Hubspot

HUBS

KashFlow

KASH

Loket

LOKE

Magento

MAGF

Magento 2

MAG2

Matchi

MATC

Microsoft Active Directory

MSAD

Microsoft Azure AD

AZAD

Microsoft OneDrive

ONED

Microsoft SQL On-premise

MSQL

Mobile Worker

MOBW

MyStore

MYST2

Netset

NETS

NetSuite

NESU

Nexmo

NEXM

Nmbrs

NMBR

Planday

PLAN

PowerOffice Go

POGO

Procountor

PROC

Prosperworks CRM

PROS

Quinyx

QUIN

REST API

REST

Sage Cloud Accounting

SACA

Salesforce

SALE

SalesScreen

SASC

SameSystem

SAME

Shopify

SHOP

Smart Recruiters

SREC

Smartdok

SMDK

SuperOffice Online

SUCL

Sympa HR

SYMP

Talent Manager

HRTM

Talent Recruiter

HTRE

Talentsoft

TASO

Tripletex

TRIP2

Unleashed

UNLE

Vend

VEND

Visma .NET Financials

VISF

Visma Business

VISB

Visma eAccounting

VEAC

Visma Global

VISG

Visma Lønn

VISL

Visma Payroll and Employee

VIPA

Web Expenses

WEBX

Woo Commerce

WOOC

Xero

XERO

Xledger

XLED

Xledger GraphQL

XLGQ

Younium

YOUN

Zendesk

ZEND

Zenegy

ZENE

Zoho CRM v2

ZOHO2

Zoined

ZOIN

Expand
title<endpoint> - endpoint name

...

The list of supported endpoints you can get by meta request.

...

IP restriction

You can send Core REST API requests just from availabled servers, which are in white list.

If you want to change it, 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.

...

Expand
titleConsumer/Authorization and AppKey/SessionKey keys

Consumer/Authorization - the key pair of account identification

AppKey/SessionKey - the key pair of application identification

All keys can be gotten on Canvas Applications page

Expand
titleCMAproject header takes a value in depending of needed environment database:

DEV: CANVAS:DEV

PRD: CANVAS:PRD

Example:

Expand
titlehttps://cloudmanager.connectmyapps.com/api/apps/canv/applications

Headers:

consumer: 5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED
authorization: Bearer E71B48D1F72C468199FB7DD81C3C576112A33728268547098F60D5B1E3B19A49
appKey: 58ED3E69F7634EC7AF2FC8D7D69467C1
sessionKey: 614506FB0E064B4DB2C1F404A17CB97E67A4497EF141447A860FAD944B8754BB
CMAproject: CANVAS:PRD

Expand
titleResponse (status 200)

[
{
"id": "3c2da999-deca-4d16-b9a5-004bc1d5e0f9",
"name": "Arrow",
"shortName": "ARSP",
"description": "Cloud delivery and administration",
"vendorUrl": "https://www.arrow.com/ecs/no/loesninger/sky/arrowsphere/",
"credentialFields": [
{
"ShortName": "apiKey",
"Name": "API key",
"Type": "text",
"Value": "",
"Optional": false,
"Desc": "Your Arrowsphere API key.",
"Hidden": false
},
{
"ShortName": "environment",
"Name": "Environment",
"Type": "select",
"Value": "",
"Options": "live|Live Environment,test|Test Environment",
"Optional": false,
"Desc": "Choose which Arrowsphere environment you wish to use, live or test.",
"Hidden": false
}
],
"credentialsJson": {
"apiKey": null,
"environment": null
},
"tag": "Cloud",
"sessionTimeMins": 0,
"sessionSlidingExpiry": false
},
{
"id": "07ffd13d-ba57-4d1b-9c46-03c5c919eed0",
"name": "Talentsoft",
"shortName": "TASO",
"description": "HR",
"vendorUrl": "https://www.talentsoft.com/%22,
"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": "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
}
]

Authentication

All applications have Authenticate endpoint, which has different headers with dependency of application kind. There is an example for Canvas application:

Expand
titleGET https://<base-url>/apps/canv/canvAuthenticateAuthenticate

Headers:

secretkey:37be7d8a-e9df-42ba-9039-4832d095cc85
consumerkey: 5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED
environment:test
consumer: 5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED
authorization: Bearer E71B48D1F72C468199FB7DD81C3C576112A33728268547098F60D5B1E3B19A49
appKey: 58ED3E69F7634EC7AF2FC8D7D69467C1
sessionKey:614506FB0E064B4DB2C1F404A17CB97E67A4497EF141447A860FAD944B8754BB
CMAproject: CANVAS:DEVPRD

Expand
titleResponse (status 200)
Code Block
614506FB0E064B4DB2C1F404A17CB97E67A4497EF141447A860FAD944B8754BB
Expand
titleResponse (status 401)

Provided public key is invalid.

An application could not be found matching the provided application key.

Meta

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

Headers:

consumer:5D1AEF05263B497182992E324517FFFD0FED85FBEC2342B19CE02AB5ED62D6ED
authorization:Bearer E71B48D1F72C468199FB7DD81C3C576112A33728268547098F60D5B1E3B19A49
appKey:58ED3E69F7634EC7AF2FC8D7D69467C1
sessionKey:614506FB0E064B4DB2C1F404A17CB97E67A4497EF141447A860FAD944B8754BBCMAproject:CANVAS:DEV
Expand
titleGET https://<base-url>/apps/myst2canv/meta

Expand
titleResponse (status 200)
Code Block
[
    {
        "name": "meta",
        "parameters": "boolean detailedinfo",
        "verb": "GET",
        "authenticate": false,
        "requires_session": false,
        "description": "(Not available)"
    },
    {
        "name": "applicationsconfig",
        "parameters": "nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "clientsconfig",
        "parameters": "nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "regapplicationsconfig",
        "parameters": "nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "authenticate",
        "parameters": "",
        "verb": "GET",
        "authenticate": true,
        "requires_session": false,
        "description": "(Not available)"
    },
    {
        "name": "applications",
        "parameters": "nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "regapplications",
        "parameters": "nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "regapplication",
        "parameters": "jobject body, nullable`1 managedaccountid",
        "verb": "POST",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "accounts",
        "parameters": "nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "account",
        "parameters": "jobject body",
        "verb": "POST",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "workflowtemplates",
        "parameters": "nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "workflows",
        "parameters": "nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "workflow",
        "parameters": "guid id, nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "workflow",
        "parameters": "jobject body, nullable`1 managedaccountid",
        "verb": "POST",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "runworkflow",
        "parameters": "jobject body, nullable`1 managedaccountid",
        "verb": "POST",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "workflowscheduler",
        "parameters": "jobject body, nullable`1 managedaccountid",
        "verb": "POST",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    },
    {
        "name": "deleteworkflow",
        "parameters": "guid id, nullable`1 managedaccountid",
        "verb": "GET",
        "authenticate": false,
        "requires_session": true,
        "description": "(Not available)"
    }
]