Syntage Webhook Endpoints API
Webhook endpoints tell Syntage where to deliver events for your organization. Each endpoint includes the HTTPS delivery URL, subscribed event types, enabled state, payload content type, and signing secret.
Webhook endpoints tell Syntage where to deliver events for your organization. Each endpoint includes the HTTPS delivery URL, subscribed event types, enabled state, payload content type, and signing secret.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/syntage-webhook-endpoints-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '2020-06-28'
title: Syntage Webhook Endpoints API
contact:
name: Email
email: support@syntage.com
description: '# Introduction
The Syntage API is organized around REST.'
servers:
- url: https://api.syntage.com
description: Production
- url: https://api.sandbox.syntage.com
description: Sandbox
security:
- ApiKey: []
tags:
- name: Webhook Endpoints
description: Webhook endpoints tell Syntage where to deliver events for your organization. Each endpoint includes the HTTPS delivery URL, subscribed event types, enabled state, payload content type, and signing secret.
paths:
/webhook-endpoints:
post:
tags:
- Webhook Endpoints
operationId: CreateWebhookEndpoint
description: '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.'
summary: Create webhook endpoint
requestBody:
$ref: '#/components/requestBodies/WebhookEndpointCreate'
responses:
'202':
$ref: '#/components/responses/WebhookEndpoint'
'400':
$ref: '#/components/responses/ConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
get:
tags:
- Webhook Endpoints
operationId: ListWebhookEndpoint
description: List webhook endpoints configured for your organization.
summary: List webhook endpoints
responses:
'200':
$ref: '#/components/responses/WebhookEndpointCollection'
'401':
$ref: '#/components/responses/Unauthorized'
parameters:
- name: url
description: Filter by endpoint URL using exact match
in: query
schema:
$ref: '#/components/schemas/WebhookEndpointUrl'
- name: events
description: Filter by event type using exact match
in: query
schema:
$ref: '#/components/schemas/WebhookEndpointEventType'
- name: enabled
in: query
description: Filter by enabled state
schema:
$ref: '#/components/schemas/WebhookEndpointEnabled'
- $ref: '#/components/parameters/collectionCursorNextPageParam'
- $ref: '#/components/parameters/collectionCursorPreviousPageParam'
- $ref: '#/components/parameters/collectionLimit'
/webhook-endpoints/{id}:
get:
tags:
- Webhook Endpoints
operationId: GetWebhookEndpoint
description: Get a webhook endpoint by ID.
summary: Retrieve webhook endpoint
parameters:
- $ref: '#/components/parameters/resourceId'
responses:
'200':
$ref: '#/components/responses/WebhookEndpoint'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
tags:
- Webhook Endpoints
summary: Update webhook endpoint
operationId: UpdateWebhookEndpoint
description: Replace a webhook endpoint's URL, event subscriptions, enabled state, and content type.
parameters:
- $ref: '#/components/parameters/resourceId'
requestBody:
$ref: '#/components/requestBodies/WebhookEndpointUpdate'
responses:
'200':
$ref: '#/components/responses/WebhookEndpoint'
'400':
$ref: '#/components/responses/ConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
delete:
tags:
- Webhook Endpoints
summary: Delete webhook endpoint
operationId: DeleteWebhookEndpoint
description: Delete a webhook endpoint so Syntage stops sending matching events to it.
parameters:
- $ref: '#/components/parameters/resourceId'
responses:
'204':
description: Webhook endpoint deleted
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
WebhookEndpointCollection:
allOf:
- $ref: '#/components/schemas/CursorCollection'
- type: object
properties:
'@context':
default: /contexts/WebhookEndpoint
'@id':
default: /webhook-endpoints
hydra:member:
items:
$ref: '#/components/schemas/WebhookEndpoint'
updatedAt:
type: string
description: Date and time the resource was last updated
example: '2020-01-01T12:15:00.000Z'
WebhookEndpointUrl:
type: string
format: url
description: Public HTTPS URL where Syntage sends matching webhook events
example: https://example.com/webhooks/syntage
WebhookEndpoint:
type: object
properties:
'@id':
type: string
format: iri-reference
description: Webhook endpoint IRI
example: /webhook-endpoints/91106968-1abd-4d64-85c1-4e73d96fb997
'@type':
type: string
default: WebhookEndpoint
id:
$ref: '#/components/schemas/uuid'
url:
$ref: '#/components/schemas/WebhookEndpointUrl'
signingSecret:
type: string
description: Secret used to verify `X-Syntage-Signature` delivery headers
example: 54471a278d46c86ec6cd365983552a28
events:
type: array
example:
- extraction.updated
- invoice.created
description: Event types delivered to this endpoint
items:
$ref: '#/components/schemas/WebhookEndpointEventType'
enabled:
default: true
allOf:
- $ref: '#/components/schemas/WebhookEndpointEnabled'
contentType:
default: application/ld+json
anyOf:
- $ref: '#/components/schemas/WebhookEndpointContentType'
createdAt:
$ref: '#/components/schemas/createdAt'
updatedAt:
$ref: '#/components/schemas/updatedAt'
CollectionLimit:
type: integer
default: 20
minimum: 1
maximum: 1000
CursorCollection:
type: object
properties:
'@context':
type: string
'@id':
type: string
'@type':
type: string
default: hydra:Collection
hydra:member:
type: array
items:
type: object
hydra:view:
type: object
description: Pagination information
properties:
'@id':
type: string
format: iri-reference
description: Current page IRI reference
'@type':
type: string
default: hydra:PartialCollectionView
hydra:next:
type: string
example: /entity/2a15f539-3251-48e1-aaeb-a154dc9c6edb/resource?id[lt]=9b8e5365-0b36-45f5-9c76-fbe439632367
description: Next page IRI reference; omitted when there is no pagination
hydra:last:
type: string
example: /entity/2a15f539-3251-48e1-aaeb-a154dc9c6edb/resource?id[gt]=9b8e5365-0b36-45f5-9c76-fbe439632367
description: Last page IRI reference; omitted when there is no pagination
hydra:search:
type: object
properties:
'@type':
type: string
hydra:template:
type: string
hydra:variableRepresentation:
type: string
hydra:mapping:
type: array
items:
type: object
properties:
'@type':
type: string
variable:
type: string
property:
type: string
required:
type: boolean
uuid:
type: string
format: uuid
example: e0a24894-7fbf-48ae-bfb0-efaae30a6319
WebhookEndpointContentType:
type: string
description: Content type used for webhook delivery payloads
enum:
- application/ld+json
- application/json
WebhookEndpointEventType:
type: string
description: Event type delivered to a webhook endpoint
enum:
- 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
WebhookEndpointEnabled:
type: boolean
example: true
description: Whether Syntage sends matching events to this endpoint
createdAt:
type: string
description: Date and time the resource was created
example: '2020-01-01T12:15:00.000Z'
requestBodies:
WebhookEndpointUpdate:
required: true
content:
application/json:
schema:
type: object
required:
- url
- events
- enabled
- contentType
properties:
url:
$ref: '#/components/schemas/WebhookEndpointUrl'
events:
type: array
example:
- extraction.updated
- invoice.created
description: Event types delivered to this endpoint
items:
$ref: '#/components/schemas/WebhookEndpointEventType'
enabled:
default: true
allOf:
- $ref: '#/components/schemas/WebhookEndpointEnabled'
contentType:
default: application/ld+json
description: Payload content type for webhook deliveries
anyOf:
- $ref: '#/components/schemas/WebhookEndpointContentType'
WebhookEndpointCreate:
required: true
content:
application/json:
schema:
type: object
required:
- url
- events
- enabled
- contentType
properties:
url:
$ref: '#/components/schemas/WebhookEndpointUrl'
events:
type: array
example:
- extraction.updated
- invoice.created
description: Event types delivered to this endpoint
items:
$ref: '#/components/schemas/WebhookEndpointEventType'
enabled:
default: true
allOf:
- $ref: '#/components/schemas/WebhookEndpointEnabled'
contentType:
default: application/ld+json
description: Payload content type for webhook deliveries
anyOf:
- $ref: '#/components/schemas/WebhookEndpointContentType'
responses:
ConstraintViolation:
description: Validation error
content:
application/ld+json:
schema:
type: object
properties:
'@context':
type: string
default: /contexts/ConstraintViolation
'@type':
type: string
default: ConstraintViolation
hydra:title:
type: string
default: An error occurred
hydra:description:
type: string
description: Concatenated violation messages
example: 'exampleField: This value should not be blank.'
violations:
type: array
items:
type: object
properties:
propertyPath:
type: string
description: Property access path
example: exampleField
message:
type: string
description: Validaton error message
example: This value should not be blank.
NotFound:
description: Not found
content:
application/json:
schema:
type: object
properties:
message:
type: string
WebhookEndpointCollection:
description: Webhook endpoint collection response
content:
application/ld+json:
schema:
$ref: '#/components/schemas/WebhookEndpointCollection'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
WebhookEndpoint:
description: Webhook endpoint resource response
content:
application/ld+json:
schema:
allOf:
- type: object
properties:
'@context':
type: string
default: /contexts/WebhookEndpoint
- $ref: '#/components/schemas/WebhookEndpoint'
parameters:
resourceId:
name: id
in: path
required: true
example: 91106968-1abd-4d64-85c1-4e73d96fb997
schema:
type: string
format: uuid
collectionLimit:
name: itemsPerPage
in: query
required: false
description: Number of items per page
schema:
$ref: '#/components/schemas/CollectionLimit'
collectionCursorNextPageParam:
name: id[lt]
in: query
required: false
example: 91106968-1abd-4d64-85c1-4e73d96fb997
description: Collection cursor pointer to the next page
schema:
type: string
collectionCursorPreviousPageParam:
name: id[gt]
in: query
required: false
example: 91106968-1abd-4d64-85c1-4e73d96fb997
description: Collection cursor pointer to the previous page
schema:
type: string
securitySchemes:
ApiKey:
type: apiKey
in: header
name: X-API-Key
description: 'Your API key is available in the [Production](https://app.syntage.com/settings/api-keys) and [Sandbox](https://app.sandbox.syntage.com/settings/api-keys) dashboards.
'
x-readme:
explorer-enabled: true
proxy-enabled: true
samples-enabled: true