Integrations
Update Integration Bulk Sync
Turn an integration’s bulk imports and backfills on or off
PATCH
/
api
/
v1
/
integrations
/
{id}
Update Integration Bulk Sync
curl --request PATCH \
--url https://api.sequenzy.com/api/v1/integrations/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"syncEnabled": true
}
'import requests
url = "https://api.sequenzy.com/api/v1/integrations/{id}"
payload = { "syncEnabled": True }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({syncEnabled: true})
};
fetch('https://api.sequenzy.com/api/v1/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.sequenzy.com/api/v1/integrations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'syncEnabled' => 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.sequenzy.com/api/v1/integrations/{id}"
payload := strings.NewReader("{\n \"syncEnabled\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.sequenzy.com/api/v1/integrations/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"syncEnabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/integrations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"syncEnabled\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"integrationId": "int_abc123",
"provider": "stripe",
"syncEnabled": false,
"changed": true,
"message": "Sync disabled for Stripe."
}
{
"success": false,
"error": "This integration is disconnected. Reconnect it from Settings -> Integrations in the dashboard before changing sync."
}
{
"success": false,
"error": "Unauthorized"
}
{
"success": false,
"error": "API key is missing required scope: integrations:manage"
}
{
"success": false,
"error": "Integration not found"
}
{
"error": "A sync is already in progress for this integration. Wait for it to finish before disabling bulk sync."
}
Turn a supported payment integration’s bulk imports and backfills on or off.
Disabling keeps the connection, stored credentials, and live webhook delivery active. Re-enabling does not require another OAuth round trip.
Requires an API key with the
This does not disconnect the integration. Connecting and disconnecting stay in
the dashboard, because both handle stored credentials and run
provider-specific cleanup such as revoking OAuth grants and removing webhooks.
integrations:manage scope.
The provider catalog’s actions field identifies integrations that expose
enable_sync and disable_sync. A sync already in progress must finish before
the integration can be disabled.
Request
string
required
Integration ID, from List Integrations.
boolean
required
true to enable sync, false to pause it.curl -X PATCH "https://api.sequenzy.com/api/v1/integrations/int_abc123" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"syncEnabled": false}'
Response fields
boolean
false when the integration was already in the requested state. Setting the
current state is not an error, so a retry is safe.Responses
{
"success": true,
"integrationId": "int_abc123",
"provider": "stripe",
"syncEnabled": false,
"changed": true,
"message": "Sync disabled for Stripe."
}
{
"success": false,
"error": "This integration is disconnected. Reconnect it from Settings -> Integrations in the dashboard before changing sync."
}
{
"success": false,
"error": "Unauthorized"
}
{
"success": false,
"error": "API key is missing required scope: integrations:manage"
}
{
"success": false,
"error": "Integration not found"
}
{
"error": "A sync is already in progress for this integration. Wait for it to finish before disabling bulk sync."
}
⌘I
Update Integration Bulk Sync
curl --request PATCH \
--url https://api.sequenzy.com/api/v1/integrations/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"syncEnabled": true
}
'import requests
url = "https://api.sequenzy.com/api/v1/integrations/{id}"
payload = { "syncEnabled": True }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({syncEnabled: true})
};
fetch('https://api.sequenzy.com/api/v1/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.sequenzy.com/api/v1/integrations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'syncEnabled' => 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.sequenzy.com/api/v1/integrations/{id}"
payload := strings.NewReader("{\n \"syncEnabled\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.sequenzy.com/api/v1/integrations/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"syncEnabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/integrations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"syncEnabled\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"integrationId": "int_abc123",
"provider": "stripe",
"syncEnabled": false,
"changed": true,
"message": "Sync disabled for Stripe."
}
{
"success": false,
"error": "This integration is disconnected. Reconnect it from Settings -> Integrations in the dashboard before changing sync."
}
{
"success": false,
"error": "Unauthorized"
}
{
"success": false,
"error": "API key is missing required scope: integrations:manage"
}
{
"success": false,
"error": "Integration not found"
}
{
"error": "A sync is already in progress for this integration. Wait for it to finish before disabling bulk sync."
}