> For the complete documentation index, see [llms.txt](https://docs.ibexa.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ibexa.ai/developers/rest-api/executions/list-executions.md).

# List Executions

List agent executions available to the current user within their organisation.

Supports pagination via `skip` and `limit`, and filtering by `agent_id`, `status`, `id`, `created_by`, `trigger_definition_id`, `trigger_type`, `duration_min`/`duration_max`, `credits_min`/`credits_max`, `search` and `daterange`. Filters compose as AND: when several are supplied, the result set is the intersection.

* If `agent_id` is provided, only executions of that agent will be returned.
* If one or more `status` values are provided, only executions with those statuses will be returned.
* If one or more `id` values are provided, only executions with those execution IDs will be returned; IDs outside the caller's organisation (or, for members, outside their own executions) are silently skipped rather than reported as missing.
* If one or more `created_by` user IDs are provided, only executions created by those users will be returned. This narrows what the caller may already see, it never widens it: a member is always restricted to their own executions, so filtering by anyone else returns an empty list.
* If one or more `trigger_definition_id` values are provided, only executions started by those trigger definitions will be returned. These are definition IDs — the kind of trigger, as listed by `GET /triggers/definitions` — not the IDs of individual triggers bound to an agent, so filtering by the scheduler's daily definition returns the runs of every daily schedule. Only runs that recorded an origin can match, so an execution with no trigger behind it is never returned by any value of this filter: that covers executions created before the platform began recording the origin, and the runs of the organisation's own system agents, which the platform starts directly rather than through a trigger.
* If one or more `trigger_type` values are provided, only executions whose trigger provenance buckets into one of those types are returned (see `TriggerType`).
* If `duration_min`/`duration_max` are provided, only executions whose duration (seconds) falls within that range are returned; executions with no recorded duration never match.
* If `credits_min`/`credits_max` are provided, only executions whose total consumed credits fall within that range are returned; executions with no recorded credit spend never match.
* If `search` is provided, only executions whose ID contains it as a substring are returned.
* If `daterange` is provided (e.g. `2026-01-01,2026-12-31`, `2026-01-01,` or `,2026-12-31`), only executions created within that range are returned.
* If no filter is provided, all executions available to the user will be returned (subject to pagination).

```json
{"openapi":"3.1.0","info":{"title":"Ibexa Agentic Marketing Platform","version":"0.1.0"},"security":[{"OAuth2PasswordBearer":[]}],"components":{"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/api/v1/login/access-token"}}}},"schemas":{"ExecutionStatus":{"type":"string","enum":["PENDING","STARTED","SUCCESS","FAILURE","CANCELED"],"title":"ExecutionStatus","description":"Status values for an execution."},"TriggerType":{"type":"string","enum":["MANUAL","SCHEDULER","WEBHOOK","UNKNOWN"],"title":"TriggerType","description":"Coarse bucket a snapshotted `trigger_definition_id` maps to.\n\nScheduler alone has six definition ids (one per cadence), all of which\nbucket to SCHEDULER — this is \"how was it started\", not \"which specific\ntrigger fired\" (see `top_triggers_by_execution_count` for the latter)."},"ExecutionListResponseSchema":{"properties":{"executions":{"items":{"$ref":"#/components/schemas/ExecutionListItemResponseSchema"},"type":"array","title":"Executions"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["executions","total_count"],"title":"ExecutionListResponseSchema","description":"Pydantic schema for agent execution list response."},"ExecutionListItemResponseSchema":{"properties":{"id":{"type":"integer","title":"Id","description":"Execution ID"},"agent_id":{"type":"integer","title":"Agent Id","description":"Agent ID"},"agent_name":{"type":"string","title":"Agent Name","description":"Name of the agent that was run"},"args":{"additionalProperties":true,"type":"object","title":"Args","description":"Optional args to pass to the agent during execution"},"status":{"$ref":"#/components/schemas/ExecutionStatus","description":"Execution status"},"duration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration","description":"Execution duration in seconds"},"trigger":{"anyOf":[{"$ref":"#/components/schemas/ExecutionTriggerSummarySchema"},{"type":"null"}],"description":"How the run was started. Without the trigger's own settings, which a single execution carries and a list does not"},"created_by":{"anyOf":[{"$ref":"#/components/schemas/ExecutionUserSchema"},{"type":"null"}],"description":"User who created the execution — the user the run is triggered on behalf of, for scheduled and webhook runs as well as manual ones"},"updated_by":{"anyOf":[{"$ref":"#/components/schemas/ExecutionUserSchema"},{"type":"null"}],"description":"User who last updated the execution"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At","description":"Execution started time"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At","description":"Execution finished time"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"Execution created time"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"Execution updated time"},"credits":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Credits","description":"Total credits consumed by this execution, or null if none were recorded."}},"type":"object","required":["id","agent_id","agent_name","args","status","duration","created_by","updated_by","started_at","finished_at","created_at","updated_at"],"title":"ExecutionListItemResponseSchema","description":"Pydantic schema for agent execution list item response."},"ExecutionTriggerSummarySchema":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id","description":"ID of the individual trigger that fired this run, or null once that trigger has been deleted"},"definition_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Definition Id","description":"ID of the trigger definition — the kind of trigger — as listed by GET /triggers/definitions"},"type":{"$ref":"#/components/schemas/TriggerType","description":"Coarse bucket of the trigger that started this execution (MANUAL, SCHEDULER, WEBHOOK, or UNKNOWN if unattributed), derived from `definition_id`. UNKNOWN covers runs created before the platform began recording their origin, and runs it starts directly rather than through a trigger"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"Human-readable name of the trigger definition, or null when the catalog does not know it"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"What this kind of trigger does"}},"type":"object","required":["id","definition_id","type","label"],"title":"ExecutionTriggerSummarySchema","description":"Which trigger started an execution, without the trigger's own settings.\n\nWhat the executions list serves. Reading the settings means reading the\ntrigger row, one query per execution, which across a page would be one per\nrow — so they are offered by the single-execution endpoints only, as\n`ExecutionTriggerSchema`."},"ExecutionUserSchema":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id","email","full_name"],"title":"ExecutionUserSchema","description":"Basic user info embedded in execution responses."}}},"paths":{"/api/v1/executions/":{"get":{"tags":["executions","public"],"summary":"List Executions","description":"List agent executions available to the current user within their organisation.\n\nSupports pagination via `skip` and `limit`, and filtering by `agent_id`, `status`, `id`,\n`created_by`, `trigger_definition_id`, `trigger_type`, `duration_min`/`duration_max`,\n`credits_min`/`credits_max`, `search` and `daterange`. Filters compose as AND: when several\nare supplied, the result set is the intersection.\n* If `agent_id` is provided, only executions of that agent will be returned.\n* If one or more `status` values are provided, only executions with those statuses will be returned.\n* If one or more `id` values are provided, only executions with those execution IDs will be\n  returned; IDs outside the caller's organisation (or, for members, outside their own\n  executions) are silently skipped rather than reported as missing.\n* If one or more `created_by` user IDs are provided, only executions created by those users\n  will be returned. This narrows what the caller may already see, it never widens it: a member\n  is always restricted to their own executions, so filtering by anyone else returns an empty\n  list.\n* If one or more `trigger_definition_id` values are provided, only executions started by those\n  trigger definitions will be returned. These are definition IDs — the kind of trigger, as\n  listed by `GET /triggers/definitions` — not the IDs of individual triggers bound to an agent,\n  so filtering by the scheduler's daily definition returns the runs of every daily schedule.\n  Only runs that recorded an origin can match, so an execution with no trigger behind it is\n  never returned by any value of this filter: that covers executions created before the\n  platform began recording the origin, and the runs of the organisation's own system agents,\n  which the platform starts directly rather than through a trigger.\n* If one or more `trigger_type` values are provided, only executions whose trigger\n  provenance buckets into one of those types are returned (see `TriggerType`).\n* If `duration_min`/`duration_max` are provided, only executions whose duration (seconds)\n  falls within that range are returned; executions with no recorded duration never match.\n* If `credits_min`/`credits_max` are provided, only executions whose total consumed\n  credits fall within that range are returned; executions with no recorded credit spend\n  never match.\n* If `search` is provided, only executions whose ID contains it as a substring are returned.\n* If `daterange` is provided (e.g. `2026-01-01,2026-12-31`, `2026-01-01,` or `,2026-12-31`),\n  only executions created within that range are returned.\n* If no filter is provided, all executions available to the user will be returned (subject to\n  pagination).","operationId":"executions-list_executions","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of executions to skip","default":0,"title":"Skip"},"description":"Number of executions to skip"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum number of executions to return","default":25,"title":"Limit"},"description":"Maximum number of executions to return"},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"Filter executions by the agent ID they belong to","title":"Agent Id"},"description":"Filter executions by the agent ID they belong to"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ExecutionStatus"}},{"type":"null"}],"description":"Filter executions by one or more statuses","title":"Status"},"description":"Filter executions by one or more statuses"},{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"description":"Filter executions by execution ID (repeat the parameter for multiple)","title":"Id"},"description":"Filter executions by execution ID (repeat the parameter for multiple)"},{"name":"created_by","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter executions by the ID of the user who created them (repeat the parameter for multiple)","title":"Created By"},"description":"Filter executions by the ID of the user who created them (repeat the parameter for multiple)"},{"name":"trigger_definition_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter executions by the trigger definition that started them, as listed by GET /triggers/definitions (repeat the parameter for multiple)","title":"Trigger Definition Id"},"description":"Filter executions by the trigger definition that started them, as listed by GET /triggers/definitions (repeat the parameter for multiple)"},{"name":"trigger_type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TriggerType"}},{"type":"null"}],"description":"Filter executions by the coarse type of trigger that started them (repeat the parameter for multiple). Pass UNKNOWN to include executions with no recorded trigger provenance.","title":"Trigger Type"},"description":"Filter executions by the coarse type of trigger that started them (repeat the parameter for multiple). Pass UNKNOWN to include executions with no recorded trigger provenance."},{"name":"duration_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Filter executions whose duration (seconds) is at least this value. Executions with no recorded duration never match.","title":"Duration Min"},"description":"Filter executions whose duration (seconds) is at least this value. Executions with no recorded duration never match."},{"name":"duration_max","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Filter executions whose duration (seconds) is at most this value. Executions with no recorded duration never match.","title":"Duration Max"},"description":"Filter executions whose duration (seconds) is at most this value. Executions with no recorded duration never match."},{"name":"credits_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"description":"Filter executions whose total consumed credits are at least this value. Executions with no recorded credit spend never match.","title":"Credits Min"},"description":"Filter executions whose total consumed credits are at least this value. Executions with no recorded credit spend never match."},{"name":"credits_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"description":"Filter executions whose total consumed credits are at most this value. Executions with no recorded credit spend never match.","title":"Credits Max"},"description":"Filter executions whose total consumed credits are at most this value. Executions with no recorded credit spend never match."},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Case-sensitive substring filter on the execution ID.","title":"Search"},"description":"Case-sensitive substring filter on the execution ID."},{"name":"daterange","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Date range as 'start,end' (ISO 8601 dates). Either part can be omitted, e.g. '2024-01-01,2024-12-31', '2024-01-01,' or ',2024-12-31'. A single date without a comma (e.g. '2024-01-01') is also accepted.","title":"Daterange"},"description":"Date range as 'start,end' (ISO 8601 dates). Either part can be omitted, e.g. '2024-01-01,2024-12-31', '2024-01-01,' or ',2024-12-31'. A single date without a comma (e.g. '2024-01-01') is also accepted."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionListResponseSchema"}}}},"400":{"description":"Invalid request payload or parameters","content":{"application/json":{}}},"401":{"description":"User not authenticated","content":{"application/json":{}}}}}}}}
```
