Get a single webhook
Retrieve details of a specific webhook configuration by its ID. The webhook must belong to the current project.
Authorization
Authorization
header
string
required
Enter the project access token with the Bearer prefix, e.g. "Bearer project_access_token"
Path Parameters
Responses
application/jsonData contains the response object
Whether the webhook is currently enabled
Array of event types this webhook subscribes to
Available options:
job.createdjob.completedjob.failedjob.cancelledsource.createdsource.deletedupload.createdupload.completedupload.failedupload.expiredasset.createdasset.readyasset.playback_readyasset.failedasset.expiredasset.deletedasset.output.createdasset.output.readyasset.output.failedasset.output.deletedworkflow_run.createdworkflow_run.completedworkflow_run.failedworkflow_run.cancelledtranscoding.createdtranscoding.readytranscoding.failedtranscoding.cancelledtranscoding.expiredtranscoding.deletedthumbnail.createdthumbnail.readythumbnail.failedthumbnail.expiredthumbnail.deleted
Examples:
[asset.playback_ready asset.failed]
Unique identifier of the webhook
Examples:
wh_2G6MJiNz71bHQGNzGwKx5cJwPFS
ID of the project this webhook belongs to
Examples:
proj_2G6MJiNz71bHQGNzGwKx5cJwPFS
URL where webhook events will be sent
Examples:
https://example.com/webhook
status
"success"
string
required
Status indicates the response status "success"
Success response with webhook details
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Authentication error: invalid token or subscription inactive
type
"AuthenticationError"
string
required
Type indicates the error category
Available options:
AuthenticationError
status
"error"
string
required
Status indicates the response status "error"
Authentication error: invalid token or subscription inactive
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Ressource not found
type
"NotFoundError"
string
required
Type indicates the error category
Available options:
NotFoundError
status
"error"
string
required
Status indicates the response status "error"
Resource not found
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Rate limit exceeded
type
"TooManyRequestsError"
string
required
Type indicates the error category
Available options:
TooManyRequestsError
status
"error"
string
required
Status indicates the response status "error"
Rate limit exceeded
# Get a single webhook
> Retrieve details of a specific webhook configuration by its ID. The webhook must belong to the current project.
```json
{
"path": "/webhooks/{webhookId}",
"method": "get",
"schema": {
"description": "Retrieve details of a specific webhook configuration by its ID. The webhook must belong to the current project.",
"operationId": "getWebhook",
"parameters": [
{
"description": "Webhook ID",
"in": "path",
"name": "webhookId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhookResponse"
}
}
},
"description": "Success response with webhook details"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorAuthentication"
}
}
},
"description": "Authentication error: invalid token or subscription inactive"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorNotFound"
}
}
},
"description": "Resource not found"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorTooManyRequests"
}
}
},
"description": "Rate limit exceeded"
}
},
"security": [
{
"ProjectAccessToken": []
}
],
"summary": "Get a single webhook",
"tags": [
"Webhooks"
],
"x-codeSamples": [
{
"lang": "JavaScript",
"source": "import Chunkify from '@chunkify/chunkify';\n\nconst client = new Chunkify({\n projectAccessToken: 'My Project Access Token',\n});\n\nconst webhook = await client.webhooks.retrieve('webhookId');\n\nconsole.log(webhook);"
},
{
"lang": "Python",
"source": "from chunkify import Chunkify\n\nclient = Chunkify(\n project_access_token=\"My Project Access Token\",\n)\nwebhook = client.webhooks.retrieve(\n \"webhookId\",\n)\nprint(webhook)"
},
{
"lang": "php",
"source": "\u003c?php\n\nuse Chunkify\\Client;\n\n$client = new Client(\n projectAccessToken: 'My Project Access Token',\n);\n\n$webhook = $client-\u003ewebhooks-\u003eretrieve('webhookId');\n\nvar_dump($webhook);"
},
{
"lang": "Go",
"source": "package main\n\nimport (\n \"context\"\n \"fmt\"\n\n \"github.com/chunkifydev/chunkify-go\"\n \"github.com/chunkifydev/chunkify-go/option\"\n)\n\nfunc main() {\n client := chunkify.NewClient(\n option.WithProjectAccessToken(\"My Project Access Token\"),\n )\n webhook, err := client.Webhooks.Get(context.TODO(), \"webhookId\")\n if err != nil {\n panic(err.Error())\n }\n fmt.Printf(\"%+v\\n\", webhook)\n}\n"
}
]
}
}
```
```json #/components/schemas/ResponseErrorNotFound
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 404,
"description": "Code is the HTTP status code",
"examples": [
404
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Ressource not found"
],
"type": "string"
},
"type": {
"const": "NotFoundError",
"description": "Type indicates the error category",
"enum": [
"NotFoundError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/ResponseErrorTooManyRequests
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 429,
"description": "Code is the HTTP status code",
"examples": [
429
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Rate limit exceeded"
],
"type": "string"
},
"type": {
"const": "TooManyRequestsError",
"description": "Type indicates the error category",
"enum": [
"TooManyRequestsError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/WebhookResponse
{
"properties": {
"data": {
"$ref": "#/components/schemas/Webhook",
"description": "Data contains the response object"
},
"status": {
"const": "success",
"description": "Status indicates the response status \"success\"",
"type": "string"
}
},
"required": [
"status",
"data"
],
"type": "object"
}
```
```json #/components/schemas/Webhook
{
"properties": {
"enabled": {
"description": "Whether the webhook is currently enabled",
"examples": [
true
],
"type": "boolean"
},
"events": {
"description": "Array of event types this webhook subscribes to",
"examples": [
[
"asset.playback_ready",
"asset.failed"
]
],
"items": {
"$ref": "#/components/schemas/WebhookEvent"
},
"type": "array"
},
"id": {
"description": "Unique identifier of the webhook",
"examples": [
"wh_2G6MJiNz71bHQGNzGwKx5cJwPFS"
],
"type": "string"
},
"project_id": {
"description": "ID of the project this webhook belongs to",
"examples": [
"proj_2G6MJiNz71bHQGNzGwKx5cJwPFS"
],
"type": "string"
},
"url": {
"description": "URL where webhook events will be sent",
"examples": [
"https://example.com/webhook"
],
"type": "string"
}
},
"required": [
"enabled",
"events",
"id",
"project_id",
"url"
],
"type": "object"
}
```
```json #/components/schemas/WebhookEvent
{
"enum": [
"job.created",
"job.completed",
"job.failed",
"job.cancelled",
"source.created",
"source.deleted",
"upload.created",
"upload.completed",
"upload.failed",
"upload.expired",
"asset.created",
"asset.ready",
"asset.playback_ready",
"asset.failed",
"asset.expired",
"asset.deleted",
"asset.output.created",
"asset.output.ready",
"asset.output.failed",
"asset.output.deleted",
"workflow_run.created",
"workflow_run.completed",
"workflow_run.failed",
"workflow_run.cancelled",
"transcoding.created",
"transcoding.ready",
"transcoding.failed",
"transcoding.cancelled",
"transcoding.expired",
"transcoding.deleted",
"thumbnail.created",
"thumbnail.ready",
"thumbnail.failed",
"thumbnail.expired",
"thumbnail.deleted"
],
"examples": [
"asset.playback_ready"
],
"type": "string"
}
```
```json #/components/schemas/ResponseErrorAuthentication
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 401,
"description": "Code is the HTTP status code",
"examples": [
401
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Authentication error: invalid token or subscription inactive"
],
"type": "string"
},
"type": {
"const": "AuthenticationError",
"description": "Type indicates the error category",
"enum": [
"AuthenticationError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```