Rutter Webhooks API

Webhook configuration and management

OpenAPI Specification

rutter-webhooks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Rutter Unified Accounting Webhooks API
  description: The Rutter Unified API provides a single RESTful interface connecting to over 60 commerce, payments, and accounting platforms. It supports connection management, accounting data (accounts, transactions, invoices, bills, expenses), commerce data (orders, products, customers, stores), payments data, ads data, and banking data. All requests require Basic authentication using client_id and client_secret, plus an access_token query parameter to identify the specific connection.
  version: '2024-08-31'
  contact:
    name: Rutter Developer Documentation
    url: https://docs.rutter.com/
servers:
- url: https://production.rutterapi.com/versioned
  description: Production
- url: https://sandbox.rutterapi.com
  description: Sandbox
security:
- basicAuth: []
tags:
- name: Webhooks
  description: Webhook configuration and management
paths:
  /config-webhooks:
    get:
      operationId: listWebhooks
      summary: List Webhooks
      description: Retrieve all configured webhooks for the authenticated client.
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/XRutterVersion'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  webhooks:
                    type: array
                    items:
                      $ref: '#/components/schemas/Webhook'
    post:
      operationId: createWebhook
      summary: Create Webhook
      description: Configure a new webhook endpoint to receive event notifications.
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/XRutterVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookCreate'
      responses:
        '200':
          description: Webhook created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
  /config-webhooks/{webhookId}:
    delete:
      operationId: deleteWebhook
      summary: Delete Webhook
      description: Remove a webhook configuration.
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/XRutterVersion'
      - name: webhookId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Webhook deleted
components:
  schemas:
    WebhookCreate:
      type: object
      required:
      - url
      - events
      properties:
        url:
          type: string
          format: uri
        events:
          type: array
          items:
            type: string
            enum:
            - connection.created
            - connection.updated
            - order.created
            - order.updated
            - product.created
            - product.updated
    Webhook:
      type: object
      properties:
        id:
          type: string
        url:
          type: string
        events:
          type: array
          items:
            type: string
        status:
          type: string
          enum:
          - active
          - inactive
        created_at:
          type: string
          format: date-time
  parameters:
    XRutterVersion:
      name: X-Rutter-Version
      in: header
      required: true
      schema:
        type: string
        example: '2024-08-31'
      description: API version identifier
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Use client_id as username and client_secret as password. Encode as base64(client_id:client_secret).
externalDocs:
  description: Rutter API Documentation
  url: https://docs.rutter.com/