Tink · Arazzo Workflow

Tink Register And Verify A Webhook Endpoint

Version 1.0.0

Register a webhook endpoint for selected event types, read it back to capture its signing secret, then confirm it is enabled in the endpoint list.

1 workflow 1 source API 1 provider
View Spec View on GitHub Open BankingPSD2Payment InitiationAccount AggregationRisk DecisioningPay by BankFinanceBankingEuropeVisaArazzoWorkflows

Provider

tink-com

Workflows

register-and-verify-webhook
Create a webhook endpoint, read its secret, and confirm it in the endpoint list.
Registers a webhook endpoint for the supplied URL and events, fetches it to capture the signing secret, and lists all endpoints to confirm it is enabled.
3 steps inputs: accessToken, description, enabledEvents, url outputs: endpointId, endpoints, secret
1
createEndpoint
createWebhookEndpoint
Register the webhook endpoint for the supplied URL and event types.
2
getEndpoint
getWebhookEndpoint
Read the endpoint back by id to capture its signing secret and enabled events.
3
listEndpoints
listWebhookEndpoints
List all registered endpoints to confirm the new one is present.

Source API Descriptions

Arazzo Workflow Specification

tink-com-webhook-endpoint-setup-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Tink Register And Verify A Webhook Endpoint
  summary: Register a webhook endpoint for selected event types, read it back to capture its signing secret, then confirm it is enabled in the endpoint list.
  description: >-
    The Tink Webhooks setup flow. It registers a webhook endpoint that Tink
    will POST events to for the selected event types (report completions,
    payment and refund status updates, credentials updates), reads the endpoint
    back by id to capture its signing secret, and lists all endpoints to
    confirm the new one is present and enabled. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: webhooksApi
  url: ../openapi/tink-webhooks-api-openapi.yml
  type: openapi
workflows:
- workflowId: register-and-verify-webhook
  summary: Create a webhook endpoint, read its secret, and confirm it in the endpoint list.
  description: >-
    Registers a webhook endpoint for the supplied URL and events, fetches it to
    capture the signing secret, and lists all endpoints to confirm it is
    enabled.
  inputs:
    type: object
    required:
    - accessToken
    - url
    - enabledEvents
    properties:
      accessToken:
        type: string
        description: A client access token authorized to manage webhook endpoints.
      url:
        type: string
        description: The HTTPS URL Tink will POST events to.
      description:
        type: string
        description: Optional human-readable description for the endpoint.
      enabledEvents:
        type: array
        description: The event types to subscribe to (e.g. payment.status-updated, account-verification-report.completed).
        items:
          type: string
  steps:
  - stepId: createEndpoint
    description: Register the webhook endpoint for the supplied URL and event types.
    operationId: createWebhookEndpoint
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        url: $inputs.url
        description: $inputs.description
        enabledEvents: $inputs.enabledEvents
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      endpointId: $response.body#/id
  - stepId: getEndpoint
    description: Read the endpoint back by id to capture its signing secret and enabled events.
    operationId: getWebhookEndpoint
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: endpointId
      in: path
      value: $steps.createEndpoint.outputs.endpointId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      secret: $response.body#/secret
      disabled: $response.body#/disabled
      enabledEvents: $response.body#/enabledEvents
  - stepId: listEndpoints
    description: List all registered endpoints to confirm the new one is present.
    operationId: listWebhookEndpoints
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      endpoints: $response.body#/endpoints
  outputs:
    endpointId: $steps.createEndpoint.outputs.endpointId
    secret: $steps.getEndpoint.outputs.secret
    endpoints: $steps.listEndpoints.outputs.endpoints