curl --request GET \
--url https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"flowid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"enabled": true,
"capabilities": [
{
"key": "spend_to_accounting.SupplierInvoices",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"kind": "main",
"selected": true,
"effective": true,
"auto_enabled_by": [
"<string>"
],
"requires": [
"<string>"
],
"available": true,
"reason_key": "<string>",
"reason": "<string>",
"mode": "<string>",
"chooses_mode": true,
"awaits_mode": true,
"default_mode": "spend_to_accounting.SupplierInvoices.AsInvoice",
"modes": [
{
"key": "spend_to_accounting.SupplierInvoices.AsInvoice",
"title": "<string>",
"description": "<string>",
"available": true,
"reason_key": "<string>",
"reason": "<string>",
"requires": [
"<string>"
],
"requires_modes": [
{
"capability": "spend_to_accounting.SupplierInvoices",
"mode": "spend_to_accounting.SupplierInvoices.AsInvoice"
}
]
}
]
}
],
"tables": [
{
"key": "spend_to_accounting.PurchaseVatCodes",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"used_by": [
"<string>"
],
"rows": [
"<string>"
]
}
],
"questions": [
{
"key": "spend_to_accounting.ExpensesSince",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"used_by": [
"<string>"
],
"required": true,
"field": {
"key": "<string>",
"type": "date",
"group": "period",
"title": "<string>",
"tooltip": "<string>",
"default": "<unknown>",
"options": [],
"supported": true,
"unsupported_reason": "<string>"
}
}
],
"completeness": {
"missing_connections": [
{
"key": "<string>",
"title": "<string>"
}
],
"missing_questions": [
{
"key": "<string>",
"title": "<string>"
}
],
"missing_tables": [
{
"key": "<string>",
"title": "<string>"
}
],
"missing_modes": [
{
"key": "<string>",
"title": "<string>"
}
]
},
"connections": [
{
"vertical": "accounting",
"title": "<string>",
"state": "connected",
"integration_id": "<string>",
"integration_ids": [
"<string>"
]
}
],
"latest_preview_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}A consumer's setup of an agentic sync
What the consumer can choose, what runs, which mapping tables and questions that needs, and what still stops the sync from being enabled. Capabilities your account does not offer are absent.
curl --request GET \
--url https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/syncs/{syncid}/capabilities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"flowid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"enabled": true,
"capabilities": [
{
"key": "spend_to_accounting.SupplierInvoices",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"kind": "main",
"selected": true,
"effective": true,
"auto_enabled_by": [
"<string>"
],
"requires": [
"<string>"
],
"available": true,
"reason_key": "<string>",
"reason": "<string>",
"mode": "<string>",
"chooses_mode": true,
"awaits_mode": true,
"default_mode": "spend_to_accounting.SupplierInvoices.AsInvoice",
"modes": [
{
"key": "spend_to_accounting.SupplierInvoices.AsInvoice",
"title": "<string>",
"description": "<string>",
"available": true,
"reason_key": "<string>",
"reason": "<string>",
"requires": [
"<string>"
],
"requires_modes": [
{
"capability": "spend_to_accounting.SupplierInvoices",
"mode": "spend_to_accounting.SupplierInvoices.AsInvoice"
}
]
}
]
}
],
"tables": [
{
"key": "spend_to_accounting.PurchaseVatCodes",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"used_by": [
"<string>"
],
"rows": [
"<string>"
]
}
],
"questions": [
{
"key": "spend_to_accounting.ExpensesSince",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"used_by": [
"<string>"
],
"required": true,
"field": {
"key": "<string>",
"type": "date",
"group": "period",
"title": "<string>",
"tooltip": "<string>",
"default": "<unknown>",
"options": [],
"supported": true,
"unsupported_reason": "<string>"
}
}
],
"completeness": {
"missing_connections": [
{
"key": "<string>",
"title": "<string>"
}
],
"missing_questions": [
{
"key": "<string>",
"title": "<string>"
}
],
"missing_tables": [
{
"key": "<string>",
"title": "<string>"
}
],
"missing_modes": [
{
"key": "<string>",
"title": "<string>"
}
]
},
"connections": [
{
"vertical": "accounting",
"title": "<string>",
"state": "connected",
"integration_id": "<string>",
"integration_ids": [
"<string>"
]
}
],
"latest_preview_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Authorizations
This access token needs to be included in each of your request to the Chift API.
Query Parameters
ISO 639-1 code of the language of the texts (en, fr, nl, de, es; any case), falling back to English. Without it, translation keys.
Response
Successful Response
The consumer's setup of a sync: what is offered, what runs, what it needs, and how far along it is.
The sync's one flow: what enable, disable, the answers' PATCH and the executions take as {flowid}.
Whether the sync is enabled for this consumer.
The capabilities the account offers.
Show child attributes
Show child attributes
The mapping tables the running capabilities need.
Show child attributes
Show child attributes
The questions the running capabilities ask.
Show child attributes
Show child attributes
What stops the sync from being enabled.
Show child attributes
Show child attributes
Each vertical of the sync, source first: whether the consumer's connection to it is in place.
Show child attributes
Show child attributes
The most recent preview of this consumer sync, if any.