curl --request POST \
--url https://app.hookie.ai/admin/api/projects/{project_id}/search/deliveries \
--header 'Content-Type: application/json' \
--cookie hookie_session= \
--data '
{
"response_code": 123,
"destination_id": "<string>",
"min_latency_ms": 123,
"since": "<string>",
"limit": 25,
"offset": 0,
"until": "2023-11-07T05:31:56Z"
}
'const options = {
method: 'POST',
headers: {cookie: 'hookie_session=', 'Content-Type': 'application/json'},
body: JSON.stringify({
response_code: 123,
destination_id: '<string>',
min_latency_ms: 123,
since: '<string>',
limit: 25,
offset: 0,
until: '2023-11-07T05:31:56Z'
})
};
fetch('https://app.hookie.ai/admin/api/projects/{project_id}/search/deliveries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hookie.ai/admin/api/projects/{project_id}/search/deliveries"
payload = {
"response_code": 123,
"destination_id": "<string>",
"min_latency_ms": 123,
"since": "<string>",
"limit": 25,
"offset": 0,
"until": "2023-11-07T05:31:56Z"
}
headers = {
"cookie": "hookie_session=",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"entity": "deliveries",
"count": 123,
"total": 123,
"limit": 123,
"offset": 123,
"results": [
{
"id": "<string>",
"destination_id": "<string>",
"event_id": "<string>",
"dataset": "<string>",
"status": "<string>",
"response_code": 123,
"response_ms": 123,
"attempts": 123,
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"destination_name": "<string>",
"next_retry_at": "2023-11-07T05:31:56Z"
}
]
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}Search deliveries
Top-level alias: POST /admin/api/search/deliveries.
curl --request POST \
--url https://app.hookie.ai/admin/api/projects/{project_id}/search/deliveries \
--header 'Content-Type: application/json' \
--cookie hookie_session= \
--data '
{
"response_code": 123,
"destination_id": "<string>",
"min_latency_ms": 123,
"since": "<string>",
"limit": 25,
"offset": 0,
"until": "2023-11-07T05:31:56Z"
}
'const options = {
method: 'POST',
headers: {cookie: 'hookie_session=', 'Content-Type': 'application/json'},
body: JSON.stringify({
response_code: 123,
destination_id: '<string>',
min_latency_ms: 123,
since: '<string>',
limit: 25,
offset: 0,
until: '2023-11-07T05:31:56Z'
})
};
fetch('https://app.hookie.ai/admin/api/projects/{project_id}/search/deliveries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hookie.ai/admin/api/projects/{project_id}/search/deliveries"
payload = {
"response_code": 123,
"destination_id": "<string>",
"min_latency_ms": 123,
"since": "<string>",
"limit": 25,
"offset": 0,
"until": "2023-11-07T05:31:56Z"
}
headers = {
"cookie": "hookie_session=",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"entity": "deliveries",
"count": 123,
"total": 123,
"limit": 123,
"offset": 123,
"results": [
{
"id": "<string>",
"destination_id": "<string>",
"event_id": "<string>",
"dataset": "<string>",
"status": "<string>",
"response_code": 123,
"response_ms": 123,
"attempts": 123,
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"destination_name": "<string>",
"next_retry_at": "2023-11-07T05:31:56Z"
}
]
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>",
"reason": "<string>",
"code": "agent_scope_insufficient",
"required_scope": "hookie:read",
"granted_scopes": [
"<string>"
],
"manage_url": "<string>",
"scheme": "<string>",
"max_members": 123,
"members": 123,
"customer_id": "<string>",
"customer_name": "<string>",
"account_id": "<string>",
"terms_version": "<string>",
"claim_required": true
}Authorizations
The console's sealed session cookie, set by WorkOS AuthKit. Mutating requests also require the X-Requested-With CSRF header.
Headers
Makes a POST safe to retry for 24 hours: the same key, credential, path and body returns the stored response (Idempotent-Replayed: true) instead of running again. 422 if the key was used for a different request; 409 while the first is in flight.
1 - 255Path Parameters
Project id (UUID) belonging to the caller workspace.
Body
All filters optional and ANDed. A blank response_code or min_latency_ms is ignored.
One status, or an array of statuses matched with IN ("failed" and "dead" together are everything that did not arrive). Matched exactly.
queued, delivering, delivered, failed, dead, paused, cancelled Must be an integer.
Matches response_ms >= value.
ISO timestamp; matches created_at >= since.
1 <= x <= 200x >= 0Upper bound on created_at (ISO 8601).