Example subscription
curl --request POST \
--url https://api-sandbox.argyle.com/v2/webhooks \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"events": [
"gigs.partially_synced"
],
"name": "name-for-the-webhook-subscription",
"url": "https://your-webhook-backend.com",
"secret": "optional-secret",
"config": {
"days_synced": 60
}
}
'import requests
url = "https://api-sandbox.argyle.com/v2/webhooks"
payload = {
"events": ["gigs.partially_synced"],
"name": "name-for-the-webhook-subscription",
"url": "https://your-webhook-backend.com",
"secret": "optional-secret",
"config": { "days_synced": 60 }
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
events: ['gigs.partially_synced'],
name: 'name-for-the-webhook-subscription',
url: 'https://your-webhook-backend.com',
secret: 'optional-secret',
config: {days_synced: 60}
})
};
fetch('https://api-sandbox.argyle.com/v2/webhooks', 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-sandbox.argyle.com/v2/webhooks",
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([
'events' => [
'gigs.partially_synced'
],
'name' => 'name-for-the-webhook-subscription',
'url' => 'https://your-webhook-backend.com',
'secret' => 'optional-secret',
'config' => [
'days_synced' => 60
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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-sandbox.argyle.com/v2/webhooks"
payload := strings.NewReader("{\n \"events\": [\n \"gigs.partially_synced\"\n ],\n \"name\": \"name-for-the-webhook-subscription\",\n \"url\": \"https://your-webhook-backend.com\",\n \"secret\": \"optional-secret\",\n \"config\": {\n \"days_synced\": 60\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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-sandbox.argyle.com/v2/webhooks")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"events\": [\n \"gigs.partially_synced\"\n ],\n \"name\": \"name-for-the-webhook-subscription\",\n \"url\": \"https://your-webhook-backend.com\",\n \"secret\": \"optional-secret\",\n \"config\": {\n \"days_synced\": 60\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.argyle.com/v2/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"events\": [\n \"gigs.partially_synced\"\n ],\n \"name\": \"name-for-the-webhook-subscription\",\n \"url\": \"https://your-webhook-backend.com\",\n \"secret\": \"optional-secret\",\n \"config\": {\n \"days_synced\": 60\n }\n}"
response = http.request(request)
puts response.read_body{
"event": "gigs.partially_synced",
"name": "name-for-the-webhook-subscription",
"data": {
"account": "0187c66e-e7e5-811c-b006-2232f00f426a",
"user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
"available_from": "2023-01-02T00:00:00Z",
"available_to": "2023-03-03T00:00:00Z",
"available_count": 132,
"days_synced": 60
}
}Gigs
Gigs.partially_synced webhook
The gigs.partially_synced webhook is sent after the requested range of historical gig data has been retrieved.
POST
/
v2
/
webhooks
Example subscription
curl --request POST \
--url https://api-sandbox.argyle.com/v2/webhooks \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"events": [
"gigs.partially_synced"
],
"name": "name-for-the-webhook-subscription",
"url": "https://your-webhook-backend.com",
"secret": "optional-secret",
"config": {
"days_synced": 60
}
}
'import requests
url = "https://api-sandbox.argyle.com/v2/webhooks"
payload = {
"events": ["gigs.partially_synced"],
"name": "name-for-the-webhook-subscription",
"url": "https://your-webhook-backend.com",
"secret": "optional-secret",
"config": { "days_synced": 60 }
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
events: ['gigs.partially_synced'],
name: 'name-for-the-webhook-subscription',
url: 'https://your-webhook-backend.com',
secret: 'optional-secret',
config: {days_synced: 60}
})
};
fetch('https://api-sandbox.argyle.com/v2/webhooks', 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-sandbox.argyle.com/v2/webhooks",
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([
'events' => [
'gigs.partially_synced'
],
'name' => 'name-for-the-webhook-subscription',
'url' => 'https://your-webhook-backend.com',
'secret' => 'optional-secret',
'config' => [
'days_synced' => 60
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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-sandbox.argyle.com/v2/webhooks"
payload := strings.NewReader("{\n \"events\": [\n \"gigs.partially_synced\"\n ],\n \"name\": \"name-for-the-webhook-subscription\",\n \"url\": \"https://your-webhook-backend.com\",\n \"secret\": \"optional-secret\",\n \"config\": {\n \"days_synced\": 60\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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-sandbox.argyle.com/v2/webhooks")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"events\": [\n \"gigs.partially_synced\"\n ],\n \"name\": \"name-for-the-webhook-subscription\",\n \"url\": \"https://your-webhook-backend.com\",\n \"secret\": \"optional-secret\",\n \"config\": {\n \"days_synced\": 60\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.argyle.com/v2/webhooks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"events\": [\n \"gigs.partially_synced\"\n ],\n \"name\": \"name-for-the-webhook-subscription\",\n \"url\": \"https://your-webhook-backend.com\",\n \"secret\": \"optional-secret\",\n \"config\": {\n \"days_synced\": 60\n }\n}"
response = http.request(request)
puts response.read_body{
"event": "gigs.partially_synced",
"name": "name-for-the-webhook-subscription",
"data": {
"account": "0187c66e-e7e5-811c-b006-2232f00f426a",
"user": "018051aa-f7a9-a0db-2f38-6cfa325e9d69",
"available_from": "2023-01-02T00:00:00Z",
"available_to": "2023-03-03T00:00:00Z",
"available_count": 132,
"days_synced": 60
}
}By default, the historical period is 30 days and starts from the date when the account was added.
You can subscribe to this webhook multiple times with different numbers of specified days.
Of note:
- This webhook is sent only during initial data retrieval (not ongoing refresh).
- If the number of gigs for an account is small and captured completely with only one data pull, this webhook will not be sent. Instead the
gigs.fully_syncedwebhook will be sent.
Authorizations
Username = api_key_id, Password = api_key_secret
Body
application/json
gigs.partially_synced
Your name for the webhook subscription.
Where you want to receive webhook delivery. This can be either a backend URL that you manage, or a URL provided by a webhook management service. Argyle handles URL encoding for webhook URLs. Send the URL in its normal, unencoded form.
Optional secret used to verify webhooks.
"days_synced": <Integer> specifies how many days of synced gigs (starting from the date of the most recent gig) are needed to trigger the webhook.
Show child attributes
Show child attributes