Trigger a sync
curl --request POST \
--url https://api.nango.dev/sync/trigger \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"provider_config_key": "<string>",
"syncs": [
"github-issues"
],
"connection_id": "<string>",
"opts": {
"reset": true,
"emptyCache": true
}
}
'import requests
url = "https://api.nango.dev/sync/trigger"
payload = {
"provider_config_key": "<string>",
"syncs": ["github-issues"],
"connection_id": "<string>",
"opts": {
"reset": True,
"emptyCache": True
}
}
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({
provider_config_key: '<string>',
syncs: ['github-issues'],
connection_id: '<string>',
opts: {reset: true, emptyCache: true}
})
};
fetch('https://api.nango.dev/sync/trigger', 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.nango.dev/sync/trigger",
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([
'provider_config_key' => '<string>',
'syncs' => [
'github-issues'
],
'connection_id' => '<string>',
'opts' => [
'reset' => true,
'emptyCache' => true
]
]),
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.nango.dev/sync/trigger"
payload := strings.NewReader("{\n \"provider_config_key\": \"<string>\",\n \"syncs\": [\n \"github-issues\"\n ],\n \"connection_id\": \"<string>\",\n \"opts\": {\n \"reset\": true,\n \"emptyCache\": true\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://api.nango.dev/sync/trigger")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"provider_config_key\": \"<string>\",\n \"syncs\": [\n \"github-issues\"\n ],\n \"connection_id\": \"<string>\",\n \"opts\": {\n \"reset\": true,\n \"emptyCache\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nango.dev/sync/trigger")
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 \"provider_config_key\": \"<string>\",\n \"syncs\": [\n \"github-issues\"\n ],\n \"connection_id\": \"<string>\",\n \"opts\": {\n \"reset\": true,\n \"emptyCache\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"message": "<string>"
}Syncs
Trigger sync(s)
Triggers an additional, one-off execution of specified sync(s) (for a given connection or all applicable connections if no connection is specified).
POST
/
sync
/
trigger
Trigger a sync
curl --request POST \
--url https://api.nango.dev/sync/trigger \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"provider_config_key": "<string>",
"syncs": [
"github-issues"
],
"connection_id": "<string>",
"opts": {
"reset": true,
"emptyCache": true
}
}
'import requests
url = "https://api.nango.dev/sync/trigger"
payload = {
"provider_config_key": "<string>",
"syncs": ["github-issues"],
"connection_id": "<string>",
"opts": {
"reset": True,
"emptyCache": True
}
}
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({
provider_config_key: '<string>',
syncs: ['github-issues'],
connection_id: '<string>',
opts: {reset: true, emptyCache: true}
})
};
fetch('https://api.nango.dev/sync/trigger', 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.nango.dev/sync/trigger",
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([
'provider_config_key' => '<string>',
'syncs' => [
'github-issues'
],
'connection_id' => '<string>',
'opts' => [
'reset' => true,
'emptyCache' => true
]
]),
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.nango.dev/sync/trigger"
payload := strings.NewReader("{\n \"provider_config_key\": \"<string>\",\n \"syncs\": [\n \"github-issues\"\n ],\n \"connection_id\": \"<string>\",\n \"opts\": {\n \"reset\": true,\n \"emptyCache\": true\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://api.nango.dev/sync/trigger")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"provider_config_key\": \"<string>\",\n \"syncs\": [\n \"github-issues\"\n ],\n \"connection_id\": \"<string>\",\n \"opts\": {\n \"reset\": true,\n \"emptyCache\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nango.dev/sync/trigger")
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 \"provider_config_key\": \"<string>\",\n \"syncs\": [\n \"github-issues\"\n ],\n \"connection_id\": \"<string>\",\n \"opts\": {\n \"reset\": true,\n \"emptyCache\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"message": "<string>"
}Requires an API key with the
environment:syncs:execute scope. Learn more about API key scopes.Triggering one-off syncs
This is especially useful if you e.g. changed the metadata for the connection and now want to re-import data. Usereset to clear the checkpoint and re-fetch all data, or reset with emptyCache to start completely fresh. See the checkpoints guide for details.Authorizations
The secret key from your Nango environment.
Body
application/json
The ID of the integration that you established within Nango.
A list of sync names that you wish to pause. If empty, all syncs are triggered
Sync name
The ID of the connection. If omitted, the syncs will be triggered for all relevant connections.
Options for triggering the sync.
Show child attributes
Show child attributes
Response
Successfully triggered the sync
Was this page helpful?
⌘I