Webhooks
Copy page
Webhook endpoints
List Webhook Destinations
Authorization
bearerAuth cookieAuth Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".
In: header
Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.
In: cookie
Path Parameters
Tenant identifier
Project identifier
^[a-z0-9]([a-z0-9-]*[a-z0-9])?$1 <= length <= 255Query Parameters
11 <= value101 <= value <= 100Filter by agent ID
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://api.pilot.inkeep.com/manage/tenants/tenant_123/projects/project-456/webhook-destinations"{
"data": [
{
"agentIds": [
"string"
],
"createdAt": "string",
"description": "string",
"enabled": true,
"eventTypes": [
"conversation.created"
],
"id": "string",
"name": "string",
"updatedAt": "string",
"url": "string"
}
],
"pagination": {
"limit": 10,
"page": 1,
"pages": 0,
"total": 0
}
}{
"code": "bad_request",
"detail": "Bad Request",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 400,
"title": "Bad Request",
"error": {
"code": "bad_request",
"message": "Bad Request"
}
}{
"code": "unauthorized",
"detail": "Unauthorized",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 401,
"title": "Unauthorized",
"error": {
"code": "unauthorized",
"message": "Unauthorized"
}
}{
"code": "forbidden",
"detail": "Forbidden",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 403,
"title": "Forbidden",
"error": {
"code": "forbidden",
"message": "Forbidden"
}
}{
"code": "not_found",
"detail": "Not Found",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 404,
"title": "Not Found",
"error": {
"code": "not_found",
"message": "Not Found"
}
}{
"code": "unprocessable_entity",
"detail": "Unprocessable Entity",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 422,
"title": "Unprocessable Entity",
"error": {
"code": "unprocessable_entity",
"message": "Unprocessable Entity"
}
}{
"code": "internal_server_error",
"detail": "Internal Server Error",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 500,
"title": "Internal Server Error",
"error": {
"code": "internal_server_error",
"message": "Internal Server Error"
}
}Create Webhook Destination
Authorization
bearerAuth cookieAuth Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".
In: header
Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.
In: cookie
Path Parameters
Tenant identifier
Project identifier
^[a-z0-9]([a-z0-9-]*[a-z0-9])?$1 <= length <= 255Request Body
application/json
Agent IDs to scope this webhook to. Omit or empty for all agents.
Webhook destination description
Whether the webhook destination is enabled
trueEvent types to subscribe to
1 <= itemsResource identifier
^[a-zA-Z0-9\-_.]+$1 <= length <= 255Webhook destination name
1 <= lengthDestination URL to POST events to
uriResponse Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://api.pilot.inkeep.com/manage/tenants/tenant_123/projects/project-456/webhook-destinations" \ -H "Content-Type: application/json" \ -d '{ "eventTypes": [ "conversation.created" ], "name": "string", "url": "http://example.com" }'{
"data": {
"agentIds": [
"string"
],
"createdAt": "string",
"description": "string",
"enabled": true,
"eventTypes": [
"conversation.created"
],
"id": "string",
"name": "string",
"updatedAt": "string",
"url": "string"
}
}{
"code": "bad_request",
"detail": "Bad Request",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 400,
"title": "Bad Request",
"error": {
"code": "bad_request",
"message": "Bad Request"
}
}{
"code": "unauthorized",
"detail": "Unauthorized",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 401,
"title": "Unauthorized",
"error": {
"code": "unauthorized",
"message": "Unauthorized"
}
}{
"code": "forbidden",
"detail": "Forbidden",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 403,
"title": "Forbidden",
"error": {
"code": "forbidden",
"message": "Forbidden"
}
}{
"code": "not_found",
"detail": "Not Found",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 404,
"title": "Not Found",
"error": {
"code": "not_found",
"message": "Not Found"
}
}{
"code": "unprocessable_entity",
"detail": "Unprocessable Entity",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 422,
"title": "Unprocessable Entity",
"error": {
"code": "unprocessable_entity",
"message": "Unprocessable Entity"
}
}{
"code": "internal_server_error",
"detail": "Internal Server Error",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 500,
"title": "Internal Server Error",
"error": {
"code": "internal_server_error",
"message": "Internal Server Error"
}
}Get Webhook Destination
Authorization
bearerAuth cookieAuth Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".
In: header
Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.
In: cookie
Path Parameters
Tenant identifier
Project identifier
^[a-z0-9]([a-z0-9-]*[a-z0-9])?$1 <= length <= 255Resource identifier
^[a-zA-Z0-9\-_.]+$1 <= length <= 255Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://api.pilot.inkeep.com/manage/tenants/tenant_123/projects/project-456/webhook-destinations/resource_789"{
"data": {
"agentIds": [
"string"
],
"createdAt": "string",
"description": "string",
"enabled": true,
"eventTypes": [
"conversation.created"
],
"id": "string",
"name": "string",
"updatedAt": "string",
"url": "string"
}
}{
"code": "bad_request",
"detail": "Bad Request",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 400,
"title": "Bad Request",
"error": {
"code": "bad_request",
"message": "Bad Request"
}
}{
"code": "unauthorized",
"detail": "Unauthorized",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 401,
"title": "Unauthorized",
"error": {
"code": "unauthorized",
"message": "Unauthorized"
}
}{
"code": "forbidden",
"detail": "Forbidden",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 403,
"title": "Forbidden",
"error": {
"code": "forbidden",
"message": "Forbidden"
}
}{
"code": "not_found",
"detail": "Not Found",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 404,
"title": "Not Found",
"error": {
"code": "not_found",
"message": "Not Found"
}
}{
"code": "unprocessable_entity",
"detail": "Unprocessable Entity",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 422,
"title": "Unprocessable Entity",
"error": {
"code": "unprocessable_entity",
"message": "Unprocessable Entity"
}
}{
"code": "internal_server_error",
"detail": "Internal Server Error",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 500,
"title": "Internal Server Error",
"error": {
"code": "internal_server_error",
"message": "Internal Server Error"
}
}Update Webhook Destination
Authorization
bearerAuth cookieAuth Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".
In: header
Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.
In: cookie
Path Parameters
Tenant identifier
Project identifier
^[a-z0-9]([a-z0-9-]*[a-z0-9])?$1 <= length <= 255Resource identifier
^[a-zA-Z0-9\-_.]+$1 <= length <= 255Request Body
application/json
Agent IDs to scope this webhook to. Empty array for all agents.
Webhook destination description
Whether the webhook destination is enabled
Event types to subscribe to
1 <= itemsResource identifier
^[a-zA-Z0-9\-_.]+$1 <= length <= 255Webhook destination name
1 <= lengthDestination URL to POST events to
uriResponse Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X PATCH "https://api.pilot.inkeep.com/manage/tenants/tenant_123/projects/project-456/webhook-destinations/resource_789" \ -H "Content-Type: application/json" \ -d '{}'{
"data": {
"agentIds": [
"string"
],
"createdAt": "string",
"description": "string",
"enabled": true,
"eventTypes": [
"conversation.created"
],
"id": "string",
"name": "string",
"updatedAt": "string",
"url": "string"
}
}{
"code": "bad_request",
"detail": "Bad Request",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 400,
"title": "Bad Request",
"error": {
"code": "bad_request",
"message": "Bad Request"
}
}{
"code": "unauthorized",
"detail": "Unauthorized",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 401,
"title": "Unauthorized",
"error": {
"code": "unauthorized",
"message": "Unauthorized"
}
}{
"code": "forbidden",
"detail": "Forbidden",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 403,
"title": "Forbidden",
"error": {
"code": "forbidden",
"message": "Forbidden"
}
}{
"code": "not_found",
"detail": "Not Found",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 404,
"title": "Not Found",
"error": {
"code": "not_found",
"message": "Not Found"
}
}{
"code": "unprocessable_entity",
"detail": "Unprocessable Entity",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 422,
"title": "Unprocessable Entity",
"error": {
"code": "unprocessable_entity",
"message": "Unprocessable Entity"
}
}{
"code": "internal_server_error",
"detail": "Internal Server Error",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 500,
"title": "Internal Server Error",
"error": {
"code": "internal_server_error",
"message": "Internal Server Error"
}
}Delete Webhook Destination
Authorization
bearerAuth cookieAuth Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".
In: header
Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.
In: cookie
Path Parameters
Tenant identifier
Project identifier
^[a-z0-9]([a-z0-9-]*[a-z0-9])?$1 <= length <= 255Resource identifier
^[a-zA-Z0-9\-_.]+$1 <= length <= 255Response Body
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X DELETE "https://api.pilot.inkeep.com/manage/tenants/tenant_123/projects/project-456/webhook-destinations/resource_789"{
"code": "bad_request",
"detail": "Bad Request",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 400,
"title": "Bad Request",
"error": {
"code": "bad_request",
"message": "Bad Request"
}
}{
"code": "unauthorized",
"detail": "Unauthorized",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 401,
"title": "Unauthorized",
"error": {
"code": "unauthorized",
"message": "Unauthorized"
}
}{
"code": "forbidden",
"detail": "Forbidden",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 403,
"title": "Forbidden",
"error": {
"code": "forbidden",
"message": "Forbidden"
}
}{
"code": "not_found",
"detail": "Not Found",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 404,
"title": "Not Found",
"error": {
"code": "not_found",
"message": "Not Found"
}
}{
"code": "unprocessable_entity",
"detail": "Unprocessable Entity",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 422,
"title": "Unprocessable Entity",
"error": {
"code": "unprocessable_entity",
"message": "Unprocessable Entity"
}
}{
"code": "internal_server_error",
"detail": "Internal Server Error",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 500,
"title": "Internal Server Error",
"error": {
"code": "internal_server_error",
"message": "Internal Server Error"
}
}Test Webhook Destination
Authorization
bearerAuth cookieAuth Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".
In: header
Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.
In: cookie
Path Parameters
Tenant identifier
Project identifier
^[a-z0-9]([a-z0-9-]*[a-z0-9])?$1 <= length <= 255Resource identifier
^[a-zA-Z0-9\-_.]+$1 <= length <= 255Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://api.pilot.inkeep.com/manage/tenants/tenant_123/projects/project-456/webhook-destinations/resource_789/test"{
"error": "string",
"statusCode": 0,
"success": true
}{
"code": "bad_request",
"detail": "Bad Request",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 400,
"title": "Bad Request",
"error": {
"code": "bad_request",
"message": "Bad Request"
}
}{
"code": "unauthorized",
"detail": "Unauthorized",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 401,
"title": "Unauthorized",
"error": {
"code": "unauthorized",
"message": "Unauthorized"
}
}{
"code": "forbidden",
"detail": "Forbidden",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 403,
"title": "Forbidden",
"error": {
"code": "forbidden",
"message": "Forbidden"
}
}{
"code": "not_found",
"detail": "Not Found",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 404,
"title": "Not Found",
"error": {
"code": "not_found",
"message": "Not Found"
}
}{
"code": "unprocessable_entity",
"detail": "Unprocessable Entity",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 422,
"title": "Unprocessable Entity",
"error": {
"code": "unprocessable_entity",
"message": "Unprocessable Entity"
}
}{
"code": "internal_server_error",
"detail": "Internal Server Error",
"instance": "/conversations/123",
"requestId": "req_1234567890",
"status": 500,
"title": "Internal Server Error",
"error": {
"code": "internal_server_error",
"message": "Internal Server Error"
}
}Invoke agent via trigger webhook
Path Parameters
Tenant ID
Project ID
Agent ID
Trigger ID
Request Body
application/json
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.pilot.inkeep.com/run/tenants/string/projects/string/agents/string/triggers/string" \ -H "Content-Type: application/json" \ -d '{ "property1": null, "property2": null }'{
"invocations": [
{
"conversationId": "string",
"invocationId": "string",
"runAsUserId": "string"
}
],
"success": true
}{
"error": "string",
"validationErrors": [
"string"
]
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}