Kinde Webhooks API

The Webhooks API from Kinde — 4 operation(s) for webhooks.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

kinde-webhooks-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '1'
  title: Kinde Account API Keys Webhooks API
  description: '

    Provides endpoints to operate on an authenticated user.


    ## Intro


    ## How to use


    1. Get a user access token - this can be obtained when a user signs in via the methods you''ve setup in Kinde (e.g. Google, passwordless, etc).


    2. Call one of the endpoints below using the user access token in the Authorization header as a Bearer token. Typically, you can use the `getToken` command in the relevant SDK.

    '
  termsOfService: https://docs.kinde.com/trust-center/agreements/terms-of-service/
  contact:
    name: Kinde Support Team
    email: support@kinde.com
    url: https://docs.kinde.com
tags:
- name: Webhooks
  x-displayName: Webhooks
paths:
  /api/v1/events/{event_id}:
    servers: []
    get:
      tags:
      - Webhooks
      operationId: GetEvent
      x-scope: read:events
      description: "Returns an event\n\n<div>\n  <code>read:events</code>\n</div>\n"
      summary: Get Event
      parameters:
      - name: event_id
        in: path
        description: The event id.
        required: true
        schema:
          type: string
          nullable: false
      responses:
        '200':
          description: Event successfully retrieved.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/get_event_response'
            application/json:
              schema:
                $ref: '#/components/schemas/get_event_response'
        '400':
          description: Invalid request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '403':
          description: Invalid credentials.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '429':
          description: Request was throttled.
      security:
      - kindeBearerAuth: []
  /api/v1/event_types:
    servers: []
    get:
      tags:
      - Webhooks
      operationId: GetEventTypes
      x-scope: read:event_types
      description: "Returns a list event type definitions\n\n<div>\n  <code>read:event_types</code>\n</div>\n"
      summary: List Event Types
      responses:
        '200':
          description: Event types successfully retrieved.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/get_event_types_response'
            application/json:
              schema:
                $ref: '#/components/schemas/get_event_types_response'
        '400':
          description: Invalid request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '403':
          description: Invalid credentials.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '429':
          description: Request was throttled.
      security:
      - kindeBearerAuth: []
  /api/v1/webhooks/{webhook_id}:
    servers: []
    delete:
      tags:
      - Webhooks
      operationId: DeleteWebHook
      description: "Delete webhook\n\n<div>\n  <code>delete:webhooks</code>\n</div>\n"
      summary: Delete Webhook
      parameters:
      - name: webhook_id
        in: path
        description: The webhook id.
        required: true
        schema:
          type: string
          nullable: false
      responses:
        '200':
          description: Webhook successfully deleted.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/delete_webhook_response'
            application/json:
              schema:
                $ref: '#/components/schemas/delete_webhook_response'
        '400':
          description: Invalid request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '403':
          description: Invalid credentials.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '429':
          description: Request was throttled.
      security:
      - kindeBearerAuth: []
    patch:
      tags:
      - Webhooks
      operationId: UpdateWebHook
      description: "Update a webhook\n\n<div>\n  <code>update:webhooks</code>\n</div>\n"
      summary: Update a Webhook
      parameters:
      - name: webhook_id
        in: path
        description: The webhook id.
        required: true
        schema:
          type: string
          nullable: false
      requestBody:
        description: Update webhook request specification.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                event_types:
                  description: Array of event type keys
                  type: array
                  items:
                    type: string
                  nullable: false
                name:
                  description: The webhook name
                  type: string
                  nullable: false
                description:
                  description: The webhook description
                  type: string
                  nullable: true
      responses:
        '200':
          description: Webhook successfully updated.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/update_webhook_response'
            application/json:
              schema:
                $ref: '#/components/schemas/update_webhook_response'
        '400':
          description: Invalid request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '403':
          description: Invalid credentials.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '429':
          description: Request was throttled.
      security:
      - kindeBearerAuth: []
  /api/v1/webhooks:
    servers: []
    get:
      tags:
      - Webhooks
      operationId: GetWebHooks
      description: "List webhooks\n\n<div>\n  <code>read:webhooks</code>\n</div>\n"
      summary: List Webhooks
      responses:
        '200':
          description: Webhook list successfully returned.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/get_webhooks_response'
            application/json:
              schema:
                $ref: '#/components/schemas/get_webhooks_response'
        '400':
          description: Invalid request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '403':
          description: Invalid credentials.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '429':
          description: Request was throttled.
      security:
      - kindeBearerAuth: []
    post:
      tags:
      - Webhooks
      operationId: CreateWebHook
      description: "Create a webhook\n\n<div>\n  <code>create:webhooks</code>\n</div>\n"
      summary: Create a Webhook
      requestBody:
        description: Webhook request specification.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                endpoint:
                  description: The webhook endpoint url
                  type: string
                  nullable: false
                event_types:
                  description: Array of event type keys
                  type: array
                  items:
                    type: string
                  nullable: false
                name:
                  description: The webhook name
                  type: string
                  nullable: false
                description:
                  description: The webhook description
                  type: string
                  nullable: true
              required:
              - endpoint
              - event_types
              - name
      responses:
        '200':
          description: Webhook successfully created.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/create_webhook_response'
            application/json:
              schema:
                $ref: '#/components/schemas/create_webhook_response'
        '400':
          description: Invalid request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '403':
          description: Invalid credentials.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/error_response'
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '429':
          description: Request was throttled.
      security:
      - kindeBearerAuth: []
components:
  schemas:
    get_event_types_response:
      type: object
      properties:
        code:
          type: string
          description: Response code.
        message:
          type: string
          description: Response message.
        event_types:
          type: array
          items:
            $ref: '#/components/schemas/event_type'
    error:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        message:
          type: string
          description: Error message.
    get_event_response:
      type: object
      properties:
        code:
          type: string
          description: Response code.
        message:
          type: string
          description: Response message.
        event:
          type: object
          properties:
            type:
              type: string
            source:
              type: string
            event_id:
              type: string
            timestamp:
              type: integer
              description: Timestamp in ISO 8601 format.
            data:
              type: object
              description: Event specific data object.
    delete_webhook_response:
      type: object
      properties:
        code:
          type: string
          description: Response code.
        message:
          type: string
          description: Response message.
    event_type:
      type: object
      properties:
        id:
          type: string
        code:
          type: string
        name:
          type: string
        origin:
          type: string
        schema:
          type: object
    create_webhook_response:
      type: object
      properties:
        code:
          type: string
          description: Response code.
        message:
          type: string
          description: Response message.
        webhook:
          type: object
          properties:
            id:
              type: string
            endpoint:
              type: string
    update_webhook_response:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        webhook:
          type: object
          properties:
            id:
              type: string
    error_response:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
    webhook:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        endpoint:
          type: string
        description:
          type: string
        event_types:
          type: array
          items:
            type: string
        created_on:
          type: string
          description: Created on date in ISO 8601 format.
    get_webhooks_response:
      type: object
      properties:
        code:
          type: string
          description: Response code.
        message:
          type: string
          description: Response message.
        webhooks:
          type: array
          items:
            $ref: '#/components/schemas/webhook'
  securitySchemes:
    kindeBearerAuth:
      description: 'To access these endpoints, you will need to use a user token. This can be obtained when your users sign in via the methods you''ve setup in Kinde (e.g. Google, passwordless, etc). Find this using the getToken command in the relevant SDK.

        '
      type: http
      scheme: bearer
      bearerFormat: JWT