Check in
Required capabilities:
integrationsAcl:USE
Check in with the integrations service. This endpoint is called periodically by extractors to signal that they are still alive, and report any events that may have happened since the last check in.
curl --request POST \
--url https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"externalId": "my.integrations.id",
"taskEvents": [
{
"name": "<string>",
"timestamp": 1730204346000,
"message": "<string>"
}
],
"errors": [
{
"description": "<string>",
"startTime": 1730204346000,
"type": "general",
"details": "<string>",
"task": "<string>",
"endTime": 1730204346000,
"activeConfigRevision": "local"
}
],
"actionUpdates": [
{
"externalId": "my.integrations.id",
"resultMessage": "<string>",
"resultMetadata": {}
}
]
}
'import requests
url = "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin"
payload = {
"externalId": "my.integrations.id",
"taskEvents": [
{
"name": "<string>",
"timestamp": 1730204346000,
"message": "<string>"
}
],
"errors": [
{
"description": "<string>",
"startTime": 1730204346000,
"type": "general",
"details": "<string>",
"task": "<string>",
"endTime": 1730204346000,
"activeConfigRevision": "local"
}
],
"actionUpdates": [
{
"externalId": "my.integrations.id",
"resultMessage": "<string>",
"resultMetadata": {}
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
externalId: 'my.integrations.id',
taskEvents: [{name: '<string>', timestamp: 1730204346000, message: '<string>'}],
errors: [
{
description: '<string>',
startTime: 1730204346000,
type: 'general',
details: '<string>',
task: '<string>',
endTime: 1730204346000,
activeConfigRevision: 'local'
}
],
actionUpdates: [
{
externalId: 'my.integrations.id',
resultMessage: '<string>',
resultMetadata: {}
}
]
})
};
fetch('https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin', 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://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'externalId' => 'my.integrations.id',
'taskEvents' => [
[
'name' => '<string>',
'timestamp' => 1730204346000,
'message' => '<string>'
]
],
'errors' => [
[
'description' => '<string>',
'startTime' => 1730204346000,
'type' => 'general',
'details' => '<string>',
'task' => '<string>',
'endTime' => 1730204346000,
'activeConfigRevision' => 'local'
]
],
'actionUpdates' => [
[
'externalId' => 'my.integrations.id',
'resultMessage' => '<string>',
'resultMetadata' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin"
payload := strings.NewReader("{\n \"externalId\": \"my.integrations.id\",\n \"taskEvents\": [\n {\n \"name\": \"<string>\",\n \"timestamp\": 1730204346000,\n \"message\": \"<string>\"\n }\n ],\n \"errors\": [\n {\n \"description\": \"<string>\",\n \"startTime\": 1730204346000,\n \"type\": \"general\",\n \"details\": \"<string>\",\n \"task\": \"<string>\",\n \"endTime\": 1730204346000,\n \"activeConfigRevision\": \"local\"\n }\n ],\n \"actionUpdates\": [\n {\n \"externalId\": \"my.integrations.id\",\n \"resultMessage\": \"<string>\",\n \"resultMetadata\": {}\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"externalId\": \"my.integrations.id\",\n \"taskEvents\": [\n {\n \"name\": \"<string>\",\n \"timestamp\": 1730204346000,\n \"message\": \"<string>\"\n }\n ],\n \"errors\": [\n {\n \"description\": \"<string>\",\n \"startTime\": 1730204346000,\n \"type\": \"general\",\n \"details\": \"<string>\",\n \"task\": \"<string>\",\n \"endTime\": 1730204346000,\n \"activeConfigRevision\": \"local\"\n }\n ],\n \"actionUpdates\": [\n {\n \"externalId\": \"my.integrations.id\",\n \"resultMessage\": \"<string>\",\n \"resultMetadata\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"externalId\": \"my.integrations.id\",\n \"taskEvents\": [\n {\n \"name\": \"<string>\",\n \"timestamp\": 1730204346000,\n \"message\": \"<string>\"\n }\n ],\n \"errors\": [\n {\n \"description\": \"<string>\",\n \"startTime\": 1730204346000,\n \"type\": \"general\",\n \"details\": \"<string>\",\n \"task\": \"<string>\",\n \"endTime\": 1730204346000,\n \"activeConfigRevision\": \"local\"\n }\n ],\n \"actionUpdates\": [\n {\n \"externalId\": \"my.integrations.id\",\n \"resultMessage\": \"<string>\",\n \"resultMetadata\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"externalId": "my.integrations.id",
"lastConfigRevision": 123,
"pendingActions": [
{
"externalId": "my.integrations.id",
"actionName": "<string>",
"status": "pending",
"createdTime": 1730204346000,
"lastUpdatedTime": 1730204346000,
"callMetadata": {},
"resultMessage": "<string>",
"resultMetadata": {}
}
]
}{
"error": {
"code": 400,
"message": "`null` values aren't allowed."
}
}{
"error": {
"code": 422,
"message": "Extra inputs are not permitted: type"
}
}Authorizations
Access token issued by the CDF project's configured identity provider. Access token must be an OpenID Connect token, and the project must be configured to accept OpenID Connect tokens. Use a header key of 'Authorization' with a value of 'Bearer $accesstoken'. The token can be obtained through any flow supported by the identity provider.
Body
Extractor status update.
Request sent on extractor check-in.
The external ID provided by the client. Must be unique for the resource type.
1 - 255"my.integrations.id"
A list of task updates.
Show child attributes
Show child attributes
A list of errors that occurred since the last checkin.
An error that occurred as part of an extractor run. Reports as general unless a type is set.
- GeneralError
- ConfigError
Show child attributes
Show child attributes
A list of status updates for actions since the last checkin.
100Show child attributes
Show child attributes
Response
Response with updates for the extractor.
Response sent on extractor check-in.
The external ID provided by the client. Must be unique for the resource type.
1 - 255"my.integrations.id"
Last stored extractor configuration revision.
Actions the extractor should pick up and perform, reporting their outcome back via actionUpdates on a subsequent checkin.
Show child attributes
Show child attributes
curl --request POST \
--url https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"externalId": "my.integrations.id",
"taskEvents": [
{
"name": "<string>",
"timestamp": 1730204346000,
"message": "<string>"
}
],
"errors": [
{
"description": "<string>",
"startTime": 1730204346000,
"type": "general",
"details": "<string>",
"task": "<string>",
"endTime": 1730204346000,
"activeConfigRevision": "local"
}
],
"actionUpdates": [
{
"externalId": "my.integrations.id",
"resultMessage": "<string>",
"resultMetadata": {}
}
]
}
'import requests
url = "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin"
payload = {
"externalId": "my.integrations.id",
"taskEvents": [
{
"name": "<string>",
"timestamp": 1730204346000,
"message": "<string>"
}
],
"errors": [
{
"description": "<string>",
"startTime": 1730204346000,
"type": "general",
"details": "<string>",
"task": "<string>",
"endTime": 1730204346000,
"activeConfigRevision": "local"
}
],
"actionUpdates": [
{
"externalId": "my.integrations.id",
"resultMessage": "<string>",
"resultMetadata": {}
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
externalId: 'my.integrations.id',
taskEvents: [{name: '<string>', timestamp: 1730204346000, message: '<string>'}],
errors: [
{
description: '<string>',
startTime: 1730204346000,
type: 'general',
details: '<string>',
task: '<string>',
endTime: 1730204346000,
activeConfigRevision: 'local'
}
],
actionUpdates: [
{
externalId: 'my.integrations.id',
resultMessage: '<string>',
resultMetadata: {}
}
]
})
};
fetch('https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin', 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://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'externalId' => 'my.integrations.id',
'taskEvents' => [
[
'name' => '<string>',
'timestamp' => 1730204346000,
'message' => '<string>'
]
],
'errors' => [
[
'description' => '<string>',
'startTime' => 1730204346000,
'type' => 'general',
'details' => '<string>',
'task' => '<string>',
'endTime' => 1730204346000,
'activeConfigRevision' => 'local'
]
],
'actionUpdates' => [
[
'externalId' => 'my.integrations.id',
'resultMessage' => '<string>',
'resultMetadata' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin"
payload := strings.NewReader("{\n \"externalId\": \"my.integrations.id\",\n \"taskEvents\": [\n {\n \"name\": \"<string>\",\n \"timestamp\": 1730204346000,\n \"message\": \"<string>\"\n }\n ],\n \"errors\": [\n {\n \"description\": \"<string>\",\n \"startTime\": 1730204346000,\n \"type\": \"general\",\n \"details\": \"<string>\",\n \"task\": \"<string>\",\n \"endTime\": 1730204346000,\n \"activeConfigRevision\": \"local\"\n }\n ],\n \"actionUpdates\": [\n {\n \"externalId\": \"my.integrations.id\",\n \"resultMessage\": \"<string>\",\n \"resultMetadata\": {}\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"externalId\": \"my.integrations.id\",\n \"taskEvents\": [\n {\n \"name\": \"<string>\",\n \"timestamp\": 1730204346000,\n \"message\": \"<string>\"\n }\n ],\n \"errors\": [\n {\n \"description\": \"<string>\",\n \"startTime\": 1730204346000,\n \"type\": \"general\",\n \"details\": \"<string>\",\n \"task\": \"<string>\",\n \"endTime\": 1730204346000,\n \"activeConfigRevision\": \"local\"\n }\n ],\n \"actionUpdates\": [\n {\n \"externalId\": \"my.integrations.id\",\n \"resultMessage\": \"<string>\",\n \"resultMetadata\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{cluster}.cognitedata.com/api/v1/projects/{project}/integrations/checkin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"externalId\": \"my.integrations.id\",\n \"taskEvents\": [\n {\n \"name\": \"<string>\",\n \"timestamp\": 1730204346000,\n \"message\": \"<string>\"\n }\n ],\n \"errors\": [\n {\n \"description\": \"<string>\",\n \"startTime\": 1730204346000,\n \"type\": \"general\",\n \"details\": \"<string>\",\n \"task\": \"<string>\",\n \"endTime\": 1730204346000,\n \"activeConfigRevision\": \"local\"\n }\n ],\n \"actionUpdates\": [\n {\n \"externalId\": \"my.integrations.id\",\n \"resultMessage\": \"<string>\",\n \"resultMetadata\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"externalId": "my.integrations.id",
"lastConfigRevision": 123,
"pendingActions": [
{
"externalId": "my.integrations.id",
"actionName": "<string>",
"status": "pending",
"createdTime": 1730204346000,
"lastUpdatedTime": 1730204346000,
"callMetadata": {},
"resultMessage": "<string>",
"resultMetadata": {}
}
]
}{
"error": {
"code": 400,
"message": "`null` values aren't allowed."
}
}{
"error": {
"code": 422,
"message": "Extra inputs are not permitted: type"
}
}