Gumlet Webhooks API

Configure webhooks for account and asset events.

Operations 5

POST /org/webhooks Create Webhook #
GET /org/webhooks List Webhooks #
POST /org/webhooks/{webhook_id} Update Webhook #
DELETE /org/webhooks/{webhook_id} Delete Webhook #
GET /org/webhook/{webhook_id}/history Get History #

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/gumlet-webhooks-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

gumlet-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gumlet Webhooks API
  description: Gumlet helps developers deliver online video and images. This API encompasses Gumlet Video, Image and Video Analytics functionality to help you build your products better and faster than ever before.
  version: '1.4'
  contact:
    name: Gumlet Support Team
    url: https://www.gumlet.com/contact/
    email: support@gumlet.com
  termsOfService: https://www.gumlet.com/terms/
  license:
    name: Apache 2.0
    url: https://opensource.org/license/apache-2.0
  x-scalar-sdk-installation:
  - lang: TypeScript
    description: '```sh

      npm install @gumlet/nodejs-sdk

      ```'
  - lang: Python
    description: '```sh

      pip install gumlet

      ```'
servers:
- url: https://api.gumlet.com/v1
security:
- API_KEY: []
tags:
- name: Webhooks
  description: Configure webhooks for account and asset events.
paths:
  /org/webhooks:
    post:
      summary: Create Webhook
      description: Creates a new webhook listener.
      operationId: create-webhook
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - url
              - secret_token
              - triggers
              - sources
              properties:
                url:
                  type: string
                  description: URL from the application you want to send data to.
                secret_token:
                  type: string
                  description: Authentication token to ensure legitimacy of Gumlet Webhook request on your application.
                triggers:
                  type: array
                  description: Triggers for the invocation of webhookos, supported option is `status`.
                  items:
                    type: string
                sources:
                  type: array
                  description: List of video collection identifiers for which webhooks are needed to be invoked.
                  items:
                    type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    id: 65eed75eadeea8478f14ebd4
                    url: https://webhook.site/16df065a-b398-48bc-b825-b0804979c5f1
                    triggers:
                    - status
                    created_at: '2024-03-11T10:05:18.316Z'
                    updated_at: '2024-03-11T10:05:18.316Z'
                    sources:
                    - 5f462c1561cf8a766464ffc4
                    secret_token: rnVNfIKgnH
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: 65eed75eadeea8478f14ebd4
                  url:
                    type: string
                    example: https://webhook.site/16df065a-b398-48bc-b825-b0804979c5f1
                  triggers:
                    type: array
                    items:
                      type: string
                      example: status
                  created_at:
                    type: string
                    example: '2024-03-11T10:05:18.316Z'
                  updated_at:
                    type: string
                    example: '2024-03-11T10:05:18.316Z'
                  sources:
                    type: array
                    items:
                      type: string
                      example: 5f462c1561cf8a766464ffc4
                  secret_token:
                    type: string
                    example: rnVNfIKgnH
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                Result:
                  value:
                    error:
                      code: invalid_parameter_value
                      message: The parameter value you have provided is not valid.
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: invalid_parameter_value
                      message:
                        type: string
                        example: The parameter value you have provided is not valid.
                    required:
                    - code
                    - message
                required:
                - error
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '422':
          $ref: '#/components/responses/ValidationError'
      deprecated: false
      tags:
      - Webhooks
      x-stoplight:
        id: 73fyyktivlvzj
      x-codeSamples:
      - label: TypeScript
        lang: TypeScript
        source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.create({\n  url: '',\n  secret_token: '',\n  triggers: [''],\n  sources: [''],\n});\n\nconsole.log(webhook);"
      - label: Python
        lang: Python
        source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.create(\n    url=\"\",\n    secret_token=\"\",\n    triggers=[\"\"],\n    sources=[\"\"],\n)\n\nprint(webhook)"
    get:
      summary: List Webhooks
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Webhook ID
                  url:
                    type: string
                    description: Webhook URL
                  triggers:
                    type: array
                    items:
                      type: string
                    description: List of triggers configured for this webhook
                  created_at:
                    type: string
                    description: Creation timestamp in ISO 8601 format
                  updated_at:
                    type: string
                    description: Update timestamp in ISO 8601 format
                  sources:
                    type: array
                    items:
                      type: string
                    description: List of workspace IDs for which the webhook is enabled.
                  secret_token:
                    type: string
                    description: The token which you must validate when you receive the webhook. It's given by you when you create the webhook.
                x-apidog-orders:
                - id
                - url
                - triggers
                - created_at
                - updated_at
                - sources
                - secret_token
                required:
                - id
                - url
                - triggers
                - created_at
                - updated_at
                - sources
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      operationId: list-webhooks
      tags:
      - Webhooks
      description: List all webhooks.
      x-codeSamples:
      - label: TypeScript
        lang: TypeScript
        source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.list();\n\nconsole.log(webhook);"
      - label: Python
        lang: Python
        source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.list()\n\nprint(webhook)"
  /org/webhooks/{webhook_id}:
    post:
      summary: Update Webhook
      description: Update a webhook listener.
      operationId: update-webhook
      parameters:
      - name: webhook_id
        in: path
        description: Unique identifier for the Gumlet Webhook which needs to be updated.
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: URL from the application you want to send data to.
                secret_token:
                  type: string
                  description: Authentication token to ensure legitimacy of Gumlet Webhook request on your application.
                triggers:
                  type: string
                  description: Triggers for the invocation of webhookos, supported option is `status`.
                sources:
                  type: string
                  description: List of video collection identifiers for which webhooks are needed to be invoked.
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    id: 65eed75eadeea8478f14ebd4
                    url: https://webhook.site/16df065a-b398-48bc-b825-b0804979c5f2
                    triggers:
                    - status
                    created_at: '2024-03-11T10:05:18.316Z'
                    updated_at: '2024-03-11T10:10:37.461Z'
                    sources:
                    - 5f462c1561cf8a766464ffc4
                    secret_token: rnVNfIKgnH
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: 65eed75eadeea8478f14ebd4
                  url:
                    type: string
                    example: https://webhook.site/16df065a-b398-48bc-b825-b0804979c5f2
                  triggers:
                    type: array
                    items:
                      type: string
                      example: status
                  created_at:
                    type: string
                    example: '2024-03-11T10:05:18.316Z'
                  updated_at:
                    type: string
                    example: '2024-03-11T10:10:37.461Z'
                  sources:
                    type: array
                    items:
                      type: string
                      example: 5f462c1561cf8a766464ffc4
                  secret_token:
                    type: string
                    example: rnVNfIKgnH
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                Result:
                  value:
                    error:
                      code: webhook_not_found
                      message: Could not find any webhook with the specified webhook_id.
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: webhook_not_found
                      message:
                        type: string
                        example: Could not find any webhook with the specified webhook_id.
                    required:
                    - code
                    - message
                required:
                - error
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      deprecated: false
      tags:
      - Webhooks
      x-stoplight:
        id: cj3d5p1p3xcxm
      x-codeSamples:
      - label: TypeScript
        lang: TypeScript
        source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.update('webhookId');\n\nconsole.log(webhook);"
      - label: Python
        lang: Python
        source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.update(\n    webhook_id=\"webhookId\",\n)\n\nprint(webhook)"
    delete:
      summary: Delete Webhook
      description: Delete webhook listener endpoint.
      operationId: delete-webhook
      parameters:
      - name: webhook_id
        in: path
        description: Unique identifier for the Gumlet Webhook which needs to be deleted.
        schema:
          type: string
        required: true
      responses:
        '204':
          description: '204'
          content:
            application/json:
              examples:
                Result:
                  value: {}
              schema:
                type: object
                properties: {}
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                Result:
                  value:
                    error:
                      code: webhook_id_not_valid
                      message: The webhook is not valid.
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: webhook_id_not_valid
                      message:
                        type: string
                        example: The webhook is not valid.
                    required:
                    - code
                    - message
                required:
                - error
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              examples:
                Result:
                  value:
                    error:
                      code: webhook_not_found
                      message: Could not find any webhook with the specified webhook_id.
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: webhook_not_found
                      message:
                        type: string
                        example: Could not find any webhook with the specified webhook_id.
                    required:
                    - code
                    - message
                required:
                - error
      deprecated: false
      tags:
      - Webhooks
      x-stoplight:
        id: 62i31r1exgnzy
      x-codeSamples:
      - label: TypeScript
        lang: TypeScript
        source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.delete('webhookId');\n\nconsole.log(webhook);"
      - label: Python
        lang: Python
        source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.delete(\n    webhook_id=\"webhookId\",\n)\n\nprint(webhook)"
  /org/webhook/{webhook_id}/history:
    get:
      parameters:
      - in: path
        name: webhook_id
        description: Webhook ID. You can get it using list webhook endpoint.
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      description: Webhook event ID
                    status:
                      type: string
                      description: Status of webhook event
                    retry_count:
                      type: integer
                      description: Number of retries it needed to deliver webhook.
                    event:
                      type: string
                      description: Name of the webhook event
                    asset_id:
                      type: string
                      description: Asset ID for which the event was fired
                    created_at:
                      type: string
                      description: Event timestamp in ISO 8601 format
                  x-apidog-orders:
                  - id
                  - status
                  - retry_count
                  - event
                  - asset_id
                  - created_at
                  required:
                  - id
                  - status
                  - retry_count
                  - event
                  - asset_id
                  - created_at
              examples:
                Example 1:
                  value:
                  - id: 6aabc4d9b44b963242be835e
                    status: success
                    retry_count: 1
                    event: video.status.stream_ready
                    asset_id: 6aabc4144b9588fb8c4bd235
                    created_at: '2026-09-17T10:45:50.470Z'
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                Result:
                  value:
                    error:
                      code: webhook_id_not_valid
                      message: The webhook is not valid.
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: webhook_id_not_valid
                      message:
                        type: string
                        example: The webhook is not valid.
                    required:
                    - code
                    - message
                required:
                - error
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              examples:
                Result:
                  value:
                    error:
                      code: webhook_not_found
                      message: Could not find any webhook with the specified webhook_id.
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: webhook_not_found
                      message:
                        type: string
                        example: Could not find any webhook with the specified webhook_id.
                    required:
                    - code
                    - message
                required:
                - error
      summary: Get History
      tags:
      - Webhooks
      operationId: webhook-history
      description: Get logs history for a given webhook.
      x-codeSamples:
      - label: TypeScript
        lang: TypeScript
        source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.history('webhookId');\n\nconsole.log(webhook);"
      - label: Python
        lang: Python
        source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.history(\n    webhook_id=\"webhookId\",\n)\n\nprint(webhook)"
components:
  schemas:
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
              description: Machine-readable error code
            message:
              type: string
              description: Human-readable error message
            param:
              type: string
              description: Optional parameter name related to the error
  responses:
    Unauthorized:
      description: Unauthorized — missing or invalid API key / bearer token
      content:
        application/json:
          examples:
            Result:
              value:
                error:
                  code: invalid_api_key
                  message: API key supplied with request is invalid
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden — unpaid account or insufficient role permissions
      content:
        application/json:
          examples:
            Result:
              value:
                error:
                  code: unauthorized
                  message: You don't have access to this feature. Please contact your organization owner.
          schema:
            $ref: '#/components/schemas/Error'
    ValidationError:
      description: Unprocessable Entity — request validation failed
      content:
        application/json:
          examples:
            Result:
              value:
                error:
                  code: invalid_parameter
                  message: body must have required property '<field>'
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    API_KEY:
      type: http
      scheme: bearer
x-tagGroups:
- name: Video on Demand
  tags:
  - Video Assets
  - Global Search
  - Multipart Upload
  - Audio Upload
  - Subtitle Upload
  - Recycle Bin
  - Video Workspaces
  - Folders
  - Video Playlists
  - Channel Viewers
  - Video Usage Analytics
  - Video Profiles
  - Webhooks
- name: Live Streams
  tags:
  - Live Stream Workspaces
  - Live Stream Assets
  - Live Stream Analytics
- name: Image APIs
  tags:
  - Image Sources
  - Image Usage Analytics
- name: Video Analytics
  tags:
  - Video Analytics
- name: Webhooks
  tags:
  - Webhooks
- name: Account Endpoints
  tags:
  - User Data
  - Billing
  - Organization Data
  - Audit Logs
x-ext-urls: {}