curl --request POST \
--url https://api.syntage.com/webhook-endpoints \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"url": "https://example.com/webhooks/syntage",
"events": [
"extraction.updated",
"invoice.created"
],
"enabled": true,
"contentType": "application/ld+json"
}
'import requests
url = "https://api.syntage.com/webhook-endpoints"
payload = {
"url": "https://example.com/webhooks/syntage",
"events": ["extraction.updated", "invoice.created"],
"enabled": True,
"contentType": "application/ld+json"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://example.com/webhooks/syntage',
events: ['extraction.updated', 'invoice.created'],
enabled: true,
contentType: 'application/ld+json'
})
};
fetch('https://api.syntage.com/webhook-endpoints', 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.syntage.com/webhook-endpoints",
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([
'url' => 'https://example.com/webhooks/syntage',
'events' => [
'extraction.updated',
'invoice.created'
],
'enabled' => true,
'contentType' => 'application/ld+json'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.syntage.com/webhook-endpoints"
payload := strings.NewReader("{\n \"url\": \"https://example.com/webhooks/syntage\",\n \"events\": [\n \"extraction.updated\",\n \"invoice.created\"\n ],\n \"enabled\": true,\n \"contentType\": \"application/ld+json\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.syntage.com/webhook-endpoints")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com/webhooks/syntage\",\n \"events\": [\n \"extraction.updated\",\n \"invoice.created\"\n ],\n \"enabled\": true,\n \"contentType\": \"application/ld+json\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.syntage.com/webhook-endpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://example.com/webhooks/syntage\",\n \"events\": [\n \"extraction.updated\",\n \"invoice.created\"\n ],\n \"enabled\": true,\n \"contentType\": \"application/ld+json\"\n}"
response = http.request(request)
puts response.read_body{
"@context": "/contexts/WebhookEndpoint",
"@id": "/webhook-endpoints/91106968-1abd-4d64-85c1-4e73d96fb997",
"@type": "WebhookEndpoint",
"id": "e0a24894-7fbf-48ae-bfb0-efaae30a6319",
"url": "https://example.com/webhooks/syntage",
"signingSecret": "54471a278d46c86ec6cd365983552a28",
"events": [
"extraction.updated",
"invoice.created"
],
"enabled": true,
"contentType": "application/ld+json",
"createdAt": "2020-01-01T12:15:00.000Z",
"updatedAt": "2020-01-01T12:15:00.000Z"
}{
"@context": "/contexts/ConstraintViolation",
"@type": "ConstraintViolation",
"hydra:title": "An error occurred",
"hydra:description": "exampleField: This value should not be blank.",
"violations": [
{
"propertyPath": "exampleField",
"message": "This value should not be blank.",
"code": "rfc_valid_no_name_on_file"
}
]
}{
"message": "<string>"
}Create webhook endpoint
Create a webhook endpoint for your organization. Syntage delivers matching events to the endpoint URL using HTTPS POST requests.
Delivery attempts are successful when your endpoint returns a 2xx HTTP status code. A delivery that times out after 3 seconds, fails before Syntage receives a response, or returns a non-2xx status code is retried up to 4 times.
curl --request POST \
--url https://api.syntage.com/webhook-endpoints \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"url": "https://example.com/webhooks/syntage",
"events": [
"extraction.updated",
"invoice.created"
],
"enabled": true,
"contentType": "application/ld+json"
}
'import requests
url = "https://api.syntage.com/webhook-endpoints"
payload = {
"url": "https://example.com/webhooks/syntage",
"events": ["extraction.updated", "invoice.created"],
"enabled": True,
"contentType": "application/ld+json"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://example.com/webhooks/syntage',
events: ['extraction.updated', 'invoice.created'],
enabled: true,
contentType: 'application/ld+json'
})
};
fetch('https://api.syntage.com/webhook-endpoints', 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.syntage.com/webhook-endpoints",
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([
'url' => 'https://example.com/webhooks/syntage',
'events' => [
'extraction.updated',
'invoice.created'
],
'enabled' => true,
'contentType' => 'application/ld+json'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.syntage.com/webhook-endpoints"
payload := strings.NewReader("{\n \"url\": \"https://example.com/webhooks/syntage\",\n \"events\": [\n \"extraction.updated\",\n \"invoice.created\"\n ],\n \"enabled\": true,\n \"contentType\": \"application/ld+json\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.syntage.com/webhook-endpoints")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com/webhooks/syntage\",\n \"events\": [\n \"extraction.updated\",\n \"invoice.created\"\n ],\n \"enabled\": true,\n \"contentType\": \"application/ld+json\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.syntage.com/webhook-endpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://example.com/webhooks/syntage\",\n \"events\": [\n \"extraction.updated\",\n \"invoice.created\"\n ],\n \"enabled\": true,\n \"contentType\": \"application/ld+json\"\n}"
response = http.request(request)
puts response.read_body{
"@context": "/contexts/WebhookEndpoint",
"@id": "/webhook-endpoints/91106968-1abd-4d64-85c1-4e73d96fb997",
"@type": "WebhookEndpoint",
"id": "e0a24894-7fbf-48ae-bfb0-efaae30a6319",
"url": "https://example.com/webhooks/syntage",
"signingSecret": "54471a278d46c86ec6cd365983552a28",
"events": [
"extraction.updated",
"invoice.created"
],
"enabled": true,
"contentType": "application/ld+json",
"createdAt": "2020-01-01T12:15:00.000Z",
"updatedAt": "2020-01-01T12:15:00.000Z"
}{
"@context": "/contexts/ConstraintViolation",
"@type": "ConstraintViolation",
"hydra:title": "An error occurred",
"hydra:description": "exampleField: This value should not be blank.",
"violations": [
{
"propertyPath": "exampleField",
"message": "This value should not be blank.",
"code": "rfc_valid_no_name_on_file"
}
]
}{
"message": "<string>"
}Authorizations
Your API key is available in the Production and Sandbox dashboards.
Body
Public HTTPS URL where Syntage sends matching webhook events
"https://example.com/webhooks/syntage"
Event types delivered to this endpoint
Event type delivered to a webhook endpoint
credential.created, credential.updated, credential.deleted, link.created, link.updated, link.deleted, extraction.created, extraction.updated, invoice.created, invoice.updated, invoice.deleted, tax_return.created, tax_return.updated, tax_return.deleted, file.created, export.created, export.updated, tax_status.created, tax_status.updated, tax_status.deleted, tax_compliance_check.created, tax_compliance_check.updated, tax_compliance_check.deleted, tax_retention.created, tax_retention.updated, tax_retention.deleted, invoice_payment.created, invoice_payment.updated, invoice_line_item.created, invoice_line_item.updated, electronic_accounting_record.created, electronic_accounting_record.updated, rpc_entidades.created, rpc_entidades.updated, rpc_socios.created, rpc_socios.updated, rpc_acto.created, rpc_acto.updated, shareholder_relation.created, shareholder_relation.updated, shareholder_relation_source.created, rug_garantia.created, rug_garantia.updated, buro_de_credito_report.created, buro_de_credito_report.updated, background_check.created, sat_certificate.created, sat_certificate.updated, company_verification_report.created, company_verification_report.updated ["extraction.updated", "invoice.created"]
Whether Syntage sends matching events to this endpoint
true
Payload content type for webhook deliveries
application/ld+json, application/json Response
Webhook endpoint resource response
Webhook endpoint IRI
"/webhook-endpoints/91106968-1abd-4d64-85c1-4e73d96fb997"
"e0a24894-7fbf-48ae-bfb0-efaae30a6319"
Public HTTPS URL where Syntage sends matching webhook events
"https://example.com/webhooks/syntage"
Secret used to verify X-Syntage-Signature delivery headers
"54471a278d46c86ec6cd365983552a28"
Event types delivered to this endpoint
Event type delivered to a webhook endpoint
credential.created, credential.updated, credential.deleted, link.created, link.updated, link.deleted, extraction.created, extraction.updated, invoice.created, invoice.updated, invoice.deleted, tax_return.created, tax_return.updated, tax_return.deleted, file.created, export.created, export.updated, tax_status.created, tax_status.updated, tax_status.deleted, tax_compliance_check.created, tax_compliance_check.updated, tax_compliance_check.deleted, tax_retention.created, tax_retention.updated, tax_retention.deleted, invoice_payment.created, invoice_payment.updated, invoice_line_item.created, invoice_line_item.updated, electronic_accounting_record.created, electronic_accounting_record.updated, rpc_entidades.created, rpc_entidades.updated, rpc_socios.created, rpc_socios.updated, rpc_acto.created, rpc_acto.updated, shareholder_relation.created, shareholder_relation.updated, shareholder_relation_source.created, rug_garantia.created, rug_garantia.updated, buro_de_credito_report.created, buro_de_credito_report.updated, background_check.created, sat_certificate.created, sat_certificate.updated, company_verification_report.created, company_verification_report.updated ["extraction.updated", "invoice.created"]
Whether Syntage sends matching events to this endpoint
true
Content type used for webhook delivery payloads
application/ld+json, application/json Date and time the resource was created
"2020-01-01T12:15:00.000Z"
Date and time the resource was last updated
"2020-01-01T12:15:00.000Z"
Was this page helpful?