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.

Business capability
Webhook & Event Subscription Management BC-4270.80

Operations 5

POST /webhook-endpoints Create webhook endpoint #
GET /webhook-endpoints List webhook endpoints #
GET /webhook-endpoints/{id} Retrieve webhook endpoint #
PUT /webhook-endpoints/{id} Update webhook endpoint #
DELETE /webhook-endpoints/{id} Delete webhook endpoint #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/syntage-webhook-endpoints-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

syntage-webhook-endpoints-api-openapi.yml Raw ↑
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