Gumlet Webhooks API
Configure webhooks for account and asset events.
Configure webhooks for account and asset events.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/gumlet-webhooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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: {}