Tamara Webhooks API

Register and manage HTTPS webhook endpoints that receive order and dispute lifecycle events from Tamara (order_approved, order_authorised, order_captured, order_refunded, order_canceled, order_expired, dispute events, and more). Webhooks carry a JWT-encoded `tamaraToken` for verification.

OpenAPI Specification

tamara-webhooks-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tamara Channel Partners Captures Webhooks API
  description: 'Allow payment service providers, platforms, and aggregators to onboard merchants onto

    Tamara on their behalf. Submit merchant KYB/KYC information, retrieve onboarding

    status and merchant API keys, and register onboarding event webhooks.

    '
  version: 1.0.0
  contact:
    name: Tamara Partner Support
    url: https://docs.tamara.co/
servers:
- url: https://partner-api.tamara.co
  description: Production
- url: https://partner-api-sandbox.tamara.co
  description: Sandbox
tags:
- name: Webhooks
paths:
  /webhooks:
    post:
      operationId: registerWebhook
      summary: Register Webhook URL
      description: Register a new webhook endpoint that Tamara will POST notifications to.
      tags:
      - Webhooks
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookRequest'
      responses:
        '200':
          description: Webhook registered.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
  /webhooks/{webhookId}:
    parameters:
    - name: webhookId
      in: path
      required: true
      schema:
        type: string
        format: uuid
    get:
      operationId: retrieveWebhook
      summary: Retrieve Webhook URL
      tags:
      - Webhooks
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Webhook configuration.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
    put:
      operationId: updateWebhook
      summary: Update Webhook URL
      tags:
      - Webhooks
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookUpdate'
      responses:
        '200':
          description: Webhook updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
    delete:
      operationId: deleteWebhook
      summary: Delete Webhook URL
      tags:
      - Webhooks
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Webhook deleted.
components:
  schemas:
    WebhookUpdate:
      type: object
      required:
      - url
      - events
      properties:
        url:
          type: string
          format: uri
        events:
          type: array
          items:
            type: string
        headers:
          type: object
          additionalProperties:
            type: string
    WebhookResponse:
      type: object
      properties:
        merchant_id:
          type: string
          format: uuid
        webhook_id:
          type: string
          format: uuid
        url:
          type: string
          format: uri
        events:
          type: array
          items:
            type: string
        headers:
          type: object
          additionalProperties:
            type: string
    WebhookRequest:
      type: object
      required:
      - type
      - url
      - events
      properties:
        type:
          type: string
          enum:
          - order
          - dispute
        url:
          type: string
          format: uri
        events:
          type: array
          items:
            type: string
            example: order_approved
        headers:
          type: object
          additionalProperties:
            type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer