Integrations
Sync Integration
Queue a manual re-sync for a payment provider integration
POST
/
api
/
v1
/
integrations
/
{id}
/
sync
Sync Integration
curl --request POST \
--url https://api.sequenzy.com/api/v1/integrations/{id}/sync \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/integrations/{id}/sync"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/v1/integrations/{id}/sync', 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}/sync",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.sequenzy.com/api/v1/integrations/{id}/sync"
req, _ := http.NewRequest("POST", 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.post("https://api.sequenzy.com/api/v1/integrations/{id}/sync")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/integrations/{id}/sync")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"integrationId": "int_abc123",
"provider": "stripe",
"jobId": "1042",
"syncStatus": "queued",
"message": "Sync queued for Stripe. Poll the integration to watch syncStatus and lastSyncAt."
}
{
"success": false,
"error": "Shopify does not support a manual sync from the API. Re-run this provider's sync from Settings -> Integrations in the dashboard."
}
{
"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."
}
Queue a manual re-sync of customers and revenue for a payment provider integration.
Supported for Stripe, Polar, Paddle, Dodo, Creem, Chargebee, and Whop. Other providers re-sync from the dashboard, because their backfills need credentials and configuration selected at connect time.
The call returns immediately. Poll Get Integration to watch
This endpoint takes no request body.
syncStatus and lastSyncAt.
Requires an API key with the integrations:manage scope.
Request
string
required
Integration ID, from List Integrations.
curl -X POST "https://api.sequenzy.com/api/v1/integrations/int_abc123/sync" \
-H "Authorization: Bearer YOUR_API_KEY"
Response fields
string
Background job ID for the queued sync, or
null when no job ID was returned.string
Sync status after queueing, always
queued on success.Responses
{
"success": true,
"integrationId": "int_abc123",
"provider": "stripe",
"jobId": "1042",
"syncStatus": "queued",
"message": "Sync queued for Stripe. Poll the integration to watch syncStatus and lastSyncAt."
}
{
"success": false,
"error": "Shopify does not support a manual sync from the API. Re-run this provider's sync from Settings -> Integrations in the dashboard."
}
{
"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."
}
⌘I
Sync Integration
curl --request POST \
--url https://api.sequenzy.com/api/v1/integrations/{id}/sync \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/integrations/{id}/sync"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/v1/integrations/{id}/sync', 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}/sync",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.sequenzy.com/api/v1/integrations/{id}/sync"
req, _ := http.NewRequest("POST", 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.post("https://api.sequenzy.com/api/v1/integrations/{id}/sync")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/integrations/{id}/sync")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"integrationId": "int_abc123",
"provider": "stripe",
"jobId": "1042",
"syncStatus": "queued",
"message": "Sync queued for Stripe. Poll the integration to watch syncStatus and lastSyncAt."
}
{
"success": false,
"error": "Shopify does not support a manual sync from the API. Re-run this provider's sync from Settings -> Integrations in the dashboard."
}
{
"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."
}