Webhooks
Webhooks endpoints of the Ellipsis REST API.
| Method | Path |
|---|---|
| POST | /v1/webhooks |
Save the signing secret returned once in this response. Verify the initial ping, then request activation through Support.
curl -X POST "https://api.ellipsis.dev/v1/webhooks" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/ellipsis",
"events": [
"session.create"
]
}'import os
from ellipsis import Ellipsis
from ellipsis import models
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
request = models.WebhookConfigRequest.model_validate(
{
"url": "https://example.com/ellipsis",
"events": [
"session.create"
]
}
)
result = client.webhooks.create(request.events, request.url)
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const request: Parameters<typeof client.webhooks.create>[0] = {
"url": "https://example.com/ellipsis",
"events": [
"session.create"
]
};
const result = await client.webhooks.create(request);
console.log(result);Request
Body parameters
Explicit event subscriptions. Currently only session.create is supported. Pings are sent independently of subscriptions.
The single public HTTPS URL to receive signed POST requests. Changing it requires verification and approval again.
Response
| Method | Path |
|---|---|
| GET | /v1/webhooks |
curl "https://api.ellipsis.dev/v1/webhooks" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN"import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.webhooks.list()
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.webhooks.list();
console.log(result);Request
Response
| Method | Path |
|---|---|
| GET | /v1/webhooks/{webhook_id} |
The signing secret is not returned.
Path parameters
curl "https://api.ellipsis.dev/v1/webhooks/{webhook_id}" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN"import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.webhooks.get("webhook_example")
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.webhooks.get("webhook_example");
console.log(result);Request
Response
| Method | Path |
|---|---|
| PUT | /v1/webhooks/{webhook_id} |
Changing its URL resets verification and approval and sends a new ping.
Path parameters
curl -X PUT "https://api.ellipsis.dev/v1/webhooks/{webhook_id}" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/ellipsis",
"events": [
"session.create"
]
}'import os
from ellipsis import Ellipsis
from ellipsis import models
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
request = models.WebhookConfigRequest.model_validate(
{
"url": "https://example.com/ellipsis",
"events": [
"session.create"
]
}
)
result = client.webhooks.update(
"webhook_example",
request.events,
request.url,
)
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const request: Parameters<typeof client.webhooks.update>[1] = {
"url": "https://example.com/ellipsis",
"events": [
"session.create"
]
};
const result = await client.webhooks.update("webhook_example", request);
console.log(result);Request
Body parameters
Explicit event subscriptions. Currently only session.create is supported. Pings are sent independently of subscriptions.
The single public HTTPS URL to receive signed POST requests. Changing it requires verification and approval again.
Response
| Method | Path |
|---|---|
| DELETE | /v1/webhooks/{webhook_id} |
Path parameters
curl -X DELETE "https://api.ellipsis.dev/v1/webhooks/{webhook_id}" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN"import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.webhooks.delete("webhook_example")
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.webhooks.delete("webhook_example");
console.log(result);Request
Response
| Method | Path |
|---|---|
| GET | /v1/webhooks/deliveries |
Query parameters
session.createwebhook.pingpendingdeliveringretryingsucceededfailedcancelled50integercurl "https://api.ellipsis.dev/v1/webhooks/deliveries" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN"import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
for item in client.webhooks.deliveries.list():
print(item)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
for await (const item of await client.webhooks.deliveries.list()) {
console.log(item);
}Request
Response
| Method | Path |
|---|---|
| GET | /v1/webhooks/deliveries/{delivery_id} |
Path parameters
curl "https://api.ellipsis.dev/v1/webhooks/deliveries/{delivery_id}" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN"import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.webhooks.deliveries.get("delivery_example")
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.webhooks.deliveries.get("delivery_example");
console.log(result);Request
Response
| Method | Path |
|---|---|
| POST | /v1/webhooks/{webhook_id}/ping |
The receiver must return HTTP 200.
Path parameters
curl -X POST "https://api.ellipsis.dev/v1/webhooks/{webhook_id}/ping" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN"import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.webhooks.ping("webhook_example")
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.webhooks.ping("webhook_example");
console.log(result);