Action Execution Logs API - Curl Examples
NOTE Aggregate APIs over logs, for example get all logs, get logs by filter etc. do not return the "request" payload for a tool execution. To fetch details on request payload, call the "Get detailed logs by log id" API, described in Section 16.
1. Get Recent Logs (Default)
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 50,
"cursor": null,
"case_sensitive": false,
"search_params": []
}'
2. Get Logs with Pagination
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 20,
"cursor": 1703123456789,
"case_sensitive": false,
"search_params": []
}'
3. Get Logs from Last 5 Minutes
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 100,
"cursor": null,
"case_sensitive": false,
"from": 1703123456789,
"to": 1703123756789,
"search_params": []
}'
4. Get Logs from Specific Date Range
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 50,
"cursor": null,
"case_sensitive": false,
"from": 1703000000000,
"to": 1703086400000,
"search_params": []
}'
Search by Specific Fields
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 10,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "log_id",
"operation": "==",
"value": "log_abc123def456"
}
]
}'
6. Get Logs by Request ID (in Response)
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 20,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "response",
"operation": "contains",
"value": "req_12345"
}
]
}'
7. Get Logs by App/Provider
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 50,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "app_key",
"operation": "==",
"value": "github"
}
]
}'
8. Get Logs by Action Name
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 30,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "action_key",
"operation": "contains",
"value": "create_issue"
}
]
}'
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 25,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "user_id",
"operation": "==",
"value": "user_12345"
}
]
}'
10. Get Logs by Entity ID
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 40,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "entity_id",
"operation": "==",
"value": "entity_67890"
}
]
}'
11. Get Only Successful Executions
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 50,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "execution_status",
"operation": "is_successful"
}
]
}'
12. Get Only Failed Executions
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 50,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "execution_status",
"operation": "is_failed"
}
]
}'
13. Multiple Search Conditions (AND logic)
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 30,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "app_key",
"operation": "==",
"value": "github"
},
{
"field": "execution_status",
"operation": "is_successful"
},
{
"field": "action_key",
"operation": "contains",
"value": "issue"
}
]
}'
14. Search with Different Operations
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 25,
"cursor": null,
"case_sensitive": false,
"search_params": [
{
"field": "action_key",
"operation": "starts_with",
"value": "create"
},
{
"field": "response",
"operation": "not_contains",
"value": "error"
}
]
}'
15. Case-Sensitive Search
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/logs' \
--header ' x-api-key: <PROJECT_API_KEY>' \
--header ' Content-Type: application/json' \
--data ' {
"limit": 20,
"cursor": null,
"case_sensitive": true,
"search_params": [
{
"field": "action_key",
"operation": "==",
"value": "CreateIssue"
}
]
}'
16. Get Detailed Log by ID
curl --location ' https://<apollo-url>/api/v3/internal/action_execution/log/log_abc123def456' \
--header ' x-api-key: <PROJECT_API_KEY>'
Available Search Fields Reference
Field Name
Maps To
Description
log_id
id
Log ID
action_key
actionName
Tool/action name
app_key
provider
Toolkit/app name
connected_account_id
connectionNanoId
Connected account ID
integration_id
authConfigNanoId
Integration/auth config ID
execution_status
errorRequest
Success/failure status
response
response
Response content
user_id
userId
User ID
entity_id
entityId
Entity ID
Available Operations Reference
Operation
Description
==
Exact match
!=
Not equal
contains
Contains substring
not_contains
Does not contain substring
starts_with
Starts with
ends_with
Ends with
is_successful
Check if execution was successful
is_failed
Check if execution failed
exists
Field exists (not null)
not_exists
Field does not exist (is null)
Replace <apollo-url> with your actual Apollo API URL
Replace <PROJECT_API_KEY> with your actual project API key
All timestamps should be in epoch milliseconds
The cursor parameter is used for pagination - use the nextCursor value from the previous response
Multiple search_params are combined with AND logic
The API uses POST method, not GET
Authentication is required via x-api-key header