Update System Integration
curl --request PUT \
--url https://api.twine.se/v1/org/system-integrations/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"auth": {
"api_key": "<string>",
"slug": "heartpace"
},
"system_custom": {
"slug": "agda_file"
},
"description": "<string>"
}
'import requests
url = "https://api.twine.se/v1/org/system-integrations/{id}"
payload = {
"auth": {
"api_key": "<string>",
"slug": "heartpace"
},
"system_custom": { "slug": "agda_file" },
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
auth: {api_key: '<string>', slug: 'heartpace'},
system_custom: {slug: 'agda_file'},
description: '<string>'
})
};
fetch('https://api.twine.se/v1/org/system-integrations/{id}', 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.twine.se/v1/org/system-integrations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'auth' => [
'api_key' => '<string>',
'slug' => 'heartpace'
],
'system_custom' => [
'slug' => 'agda_file'
],
'description' => '<string>'
]),
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://api.twine.se/v1/org/system-integrations/{id}"
payload := strings.NewReader("{\n \"auth\": {\n \"api_key\": \"<string>\",\n \"slug\": \"heartpace\"\n },\n \"system_custom\": {\n \"slug\": \"agda_file\"\n },\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.twine.se/v1/org/system-integrations/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"auth\": {\n \"api_key\": \"<string>\",\n \"slug\": \"heartpace\"\n },\n \"system_custom\": {\n \"slug\": \"agda_file\"\n },\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.twine.se/v1/org/system-integrations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"auth\": {\n \"api_key\": \"<string>\",\n \"slug\": \"heartpace\"\n },\n \"system_custom\": {\n \"slug\": \"agda_file\"\n },\n \"description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"org_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"system_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"api_client_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"api_endpoint_url": "https://your-company.api.example.com/v1",
"domain_mappings": [
{
"enabled": true,
"from_domain": "employee",
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"org_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"source_system_integration_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"target_system_integration_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"to_domain": "employee",
"all_conditions_must_apply": false,
"conditions": [
{
"apply_on_actions": [
"create"
],
"condition": {},
"domain": "employee",
"enabled": true,
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"description": "<string>"
}
],
"description": "Employees from the HR system into payroll",
"inserted_at": "2021-06-01T12:00:00Z",
"mode": "default",
"sync_triggers": [
{
"domain_mapping_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"org_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"system_integration_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"cron_expression": "0 0 * * *",
"domain_configuration": {
"domain": "time_report",
"from_date": "2023-12-25",
"from_date_engine": {},
"to_date": "2023-12-25",
"to_date_engine": {}
},
"last_sync_ended_at": "2023-01-01T00:00:00Z",
"last_sync_started_at": "2023-01-01T00:00:00Z",
"next_sync_at": "2023-01-01T00:00:00Z",
"parent_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b"
}
],
"updated_at": "2021-06-01T12:00:00Z"
}
],
"external_org_id": "<string>",
"inserted_at": "2021-06-01T12:00:00Z",
"property_mappings": [
{
"common_domain": "employee",
"common_path": [
"salary_amount"
],
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"org_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"system_domain": "employee",
"system_integration_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"system_path": [
"salaries",
"[]",
"amount"
],
"converters": [
{
"converter": "string_to_integer",
"pod_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b"
}
],
"enabled": true,
"engine": {
"domain": "employee",
"engine": {},
"version": "2",
"description": "This engine maps properties from one format to another."
},
"reference_domain": "employee",
"version": 2
}
],
"system": {
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"kind": "other",
"name": "Evity HR",
"slug": "twine",
"description": "The Spreadsheet integration lets Twine exchange employee data as spreadsheet files...",
"domains": [
{
"capability": "read",
"domain": "employee"
},
{
"capability": "write",
"domain": "time_report"
}
],
"logo_url": "https://example.com/logos/system-logo.png",
"status": "available"
},
"system_custom": {
"slug": "agda_file"
},
"updated_at": "2021-06-01T12:00:00Z"
}
}{
"code": 400,
"errors": [],
"message": "Bad Request"
}{
"code": 403,
"errors": [],
"message": "Forbidden"
}{
"code": 500,
"errors": [],
"message": "Internal Server Error"
}SystemIntegrations
Update System Integration
Updates a system integration
PUT
/
v1
/
org
/
system-integrations
/
{id}
Update System Integration
curl --request PUT \
--url https://api.twine.se/v1/org/system-integrations/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"auth": {
"api_key": "<string>",
"slug": "heartpace"
},
"system_custom": {
"slug": "agda_file"
},
"description": "<string>"
}
'import requests
url = "https://api.twine.se/v1/org/system-integrations/{id}"
payload = {
"auth": {
"api_key": "<string>",
"slug": "heartpace"
},
"system_custom": { "slug": "agda_file" },
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
auth: {api_key: '<string>', slug: 'heartpace'},
system_custom: {slug: 'agda_file'},
description: '<string>'
})
};
fetch('https://api.twine.se/v1/org/system-integrations/{id}', 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.twine.se/v1/org/system-integrations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'auth' => [
'api_key' => '<string>',
'slug' => 'heartpace'
],
'system_custom' => [
'slug' => 'agda_file'
],
'description' => '<string>'
]),
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://api.twine.se/v1/org/system-integrations/{id}"
payload := strings.NewReader("{\n \"auth\": {\n \"api_key\": \"<string>\",\n \"slug\": \"heartpace\"\n },\n \"system_custom\": {\n \"slug\": \"agda_file\"\n },\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.twine.se/v1/org/system-integrations/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"auth\": {\n \"api_key\": \"<string>\",\n \"slug\": \"heartpace\"\n },\n \"system_custom\": {\n \"slug\": \"agda_file\"\n },\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.twine.se/v1/org/system-integrations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"auth\": {\n \"api_key\": \"<string>\",\n \"slug\": \"heartpace\"\n },\n \"system_custom\": {\n \"slug\": \"agda_file\"\n },\n \"description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"org_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"system_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"api_client_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"api_endpoint_url": "https://your-company.api.example.com/v1",
"domain_mappings": [
{
"enabled": true,
"from_domain": "employee",
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"org_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"source_system_integration_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"target_system_integration_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"to_domain": "employee",
"all_conditions_must_apply": false,
"conditions": [
{
"apply_on_actions": [
"create"
],
"condition": {},
"domain": "employee",
"enabled": true,
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"description": "<string>"
}
],
"description": "Employees from the HR system into payroll",
"inserted_at": "2021-06-01T12:00:00Z",
"mode": "default",
"sync_triggers": [
{
"domain_mapping_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"org_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"system_integration_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"cron_expression": "0 0 * * *",
"domain_configuration": {
"domain": "time_report",
"from_date": "2023-12-25",
"from_date_engine": {},
"to_date": "2023-12-25",
"to_date_engine": {}
},
"last_sync_ended_at": "2023-01-01T00:00:00Z",
"last_sync_started_at": "2023-01-01T00:00:00Z",
"next_sync_at": "2023-01-01T00:00:00Z",
"parent_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b"
}
],
"updated_at": "2021-06-01T12:00:00Z"
}
],
"external_org_id": "<string>",
"inserted_at": "2021-06-01T12:00:00Z",
"property_mappings": [
{
"common_domain": "employee",
"common_path": [
"salary_amount"
],
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"org_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"system_domain": "employee",
"system_integration_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"system_path": [
"salaries",
"[]",
"amount"
],
"converters": [
{
"converter": "string_to_integer",
"pod_id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b"
}
],
"enabled": true,
"engine": {
"domain": "employee",
"engine": {},
"version": "2",
"description": "This engine maps properties from one format to another."
},
"reference_domain": "employee",
"version": 2
}
],
"system": {
"id": "018eae56-8f9d-7ca0-bea3-17f3db6cf75b",
"kind": "other",
"name": "Evity HR",
"slug": "twine",
"description": "The Spreadsheet integration lets Twine exchange employee data as spreadsheet files...",
"domains": [
{
"capability": "read",
"domain": "employee"
},
{
"capability": "write",
"domain": "time_report"
}
],
"logo_url": "https://example.com/logos/system-logo.png",
"status": "available"
},
"system_custom": {
"slug": "agda_file"
},
"updated_at": "2021-06-01T12:00:00Z"
}
}{
"code": 400,
"errors": [],
"message": "Bad Request"
}{
"code": 403,
"errors": [],
"message": "Forbidden"
}{
"code": 500,
"errors": [],
"message": "Internal Server Error"
}Authorizations
Bearer token for authentication
Path Parameters
Body
application/json
System Integration Update Request
Schema for creating a system integration
Schema for Heartpace authentication
- HeartpaceAuth
- TeamTailorAboardAuth
- TwentyFourSevenAuth
- TeamTailorAuth
- SkovikAuth
- SFTPAuth
- S3Auth
- PersonioAuth
- PeopleCoreAuth
- KleerAuth
- KontekAuth
- HumaHRAuth
- HogiaOpenHrAuth
- HibobAuth
- HaileyHRAuth
- FortnoxAuth
- FlexHRMAuth
- EntraIdAuth
- EvityHrAuth
- SimployerOneAuth
- AgdaPsAuth
Show child attributes
Show child attributes
Custom configuration for Agda File system integrations.
- AgdaFileSystemCustom
- AgdaPsSystemCustom
- BambooHrSystemCustom
- SpreadsheetSystemCustom
- EntraIdSystemCustom
- EvityHrSystemCustom
- FlexHrmSystemCustom
- FortnoxSystemCustom
- HaileyHrSystemCustom
- HibobSystemCustom
- HogiaOpenHrSystemCustomSchema
- HogiaPlusHrSystemCustomSchema
- HumaHrSystemCustom
- JsonFileSystemCustom
- KleerSystemCustom
- KontekSystemCustom
- ManualDownloadSystemCustom
- PaxmlSystemCustom
- PeopleCoreSystemCustom
- PersonioSystemCustom
- S3SystemCustom
- SftpSystemCustom
- SimployerOneSystemCustom
- SkovikSystemCustom
- TeamtailorSystemCustom
- TwentyFourSevenSystemCustom
- TimeRecorderSystemCustom
- TwineSystemCustom
Show child attributes
Show child attributes
Optional description of the system integration
Response
System Integration Response
A response object with a single system integration
An object representing a system integration in Twine.
Show child attributes
Show child attributes
⌘I