Docs API Reference Schedules Schedules Schedules automate recurring test execution. Assign tests to a schedule, set a daily run time, and the system runs them on a rotating basis, most-overdue first.
Overview A schedule ties a set of tests and test plans to a recurring cadence. You define when to run (time of day, which days of the week) and the system launches every item at that time. There is no selection or rotation logic — a schedule is a cron: what's on it runs, every time.
Schedule items Each schedule contains a list of items. An item targets exactly one runnable entity — a test or a test plan. Every item is launched on every run.
Email digest Schedules can be configured to send an email digest after each run. The digest summarizes the results of all agents that ran and can be set to send always or only when failures occur. Configure recipients and optionally filter by finding severity.
List schedules
Parameters Parameter Type In Required Description project_iduuid query No Restrict schedules to one project. limitinteger query No Maximum schedules to return. afteruuid query No Continue below this schedule ID.
Example Request curl "http://app.aiqaramba.com/api/v1/schedules" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Tenant schedules. 400The request is malformed or failed validation. 401Authentication is missing or invalid. 500The server could not complete the request.
Response Fields (200) Field Type Description schedulesobject[] schedules[].iduuid schedules[].tenant_iduuid schedules[].project_iduuid schedules[].namestring schedules[].run_atstring schedules[].run_daysinteger[] schedules[].enabledboolean schedules[].digest_configobject Delivery and severity settings for schedule digests. schedules[].digest_config.enabledboolean schedules[].digest_config.channelsstring[] schedules[].digest_config.notify_onstring Values: always, failures_only. schedules[].digest_config.recipientsstring[] schedules[].digest_config.min_severitystring Values: critical, high, medium, low. schedules[].last_tick_atdate-time schedules[].patternobject Weekly, monthly-weekday, or one-time fire pattern. schedules[].pattern.kindstring Values: weekly, monthly_weekday, once. schedules[].pattern.daysinteger[] schedules[].pattern.ordinalstring Values: first, second, third, fourth, last. schedules[].pattern.weekdayinteger schedules[].pattern.offset_daysinteger schedules[].pattern.datedate schedules[].timezonestring schedules[].variablesobject schedules[].created_atdate-time schedules[].updated_atdate-time next_cursoruuid
Create a schedule
Request Body (application/json) Field Type Required Description project_iduuid Yes Project ID namestring Yes Schedule name run_atstring No Time of day the schedule fires, formatted HH:MM in the schedule timezone. Defaults to 09:00. run_daysjson No ISO day numbers to run on (Mon=1..Sun=7). Default: all days. Example: [1,2,3,4,5] for weekdays. Compatibility alias for a weekly pattern. patternjson No Weekly, monthly-weekday, or one-time fire pattern. timezonestring No IANA timezone for fire evaluation (e.g. Europe/Brussels). Empty = tenant timezone. variablesjson No Static string variables forwarded to scheduled test-plan runs, merged under the per-fire built-ins fire_date and fire_id. Applied only where the plan declares the variable. Example: {"environment": "staging"}. test_idsstring[] No Test IDs to include digest_configjson No Delivery and severity settings for schedule digests.
Example Request curl -X POST "http://app.aiqaramba.com/api/v1/schedules" \
-H "Authorization: Bearer $AIQA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"project_id": "<uuid>",
"name": "<string>"
}' Status Codes Code Description 201Schedule created. 400The request is malformed or failed validation. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (201) Field Type Description scheduleobject Recurring automation configuration. schedule.iduuid schedule.tenant_iduuid schedule.project_iduuid schedule.namestring schedule.run_atstring schedule.run_daysinteger[] schedule.enabledboolean schedule.digest_configobject Delivery and severity settings for schedule digests. schedule.digest_config.enabledboolean schedule.digest_config.channelsstring[] schedule.digest_config.notify_onstring Values: always, failures_only. schedule.digest_config.recipientsstring[] schedule.digest_config.min_severitystring Values: critical, high, medium, low. schedule.last_tick_atdate-time schedule.patternobject Weekly, monthly-weekday, or one-time fire pattern. schedule.pattern.kindstring Values: weekly, monthly_weekday, once. schedule.pattern.daysinteger[] schedule.pattern.ordinalstring Values: first, second, third, fourth, last. schedule.pattern.weekdayinteger schedule.pattern.offset_daysinteger schedule.pattern.datedate schedule.timezonestring schedule.variablesobject schedule.created_atdate-time schedule.updated_atdate-time itemsobject[] items[].iduuid items[].schedule_iduuid items[].test_iduuid items[].test_plan_iduuid items[].created_atdate-time
Get a schedule
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID.
Example Request curl "http://app.aiqaramba.com/api/v1/schedules/<id>" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Schedule with items and recent runs. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (200) Field Type Description iduuid tenant_iduuid project_iduuid namestring run_atstring run_daysinteger[] enabledboolean digest_configobject Delivery and severity settings for schedule digests. digest_config.enabledboolean digest_config.channelsstring[] digest_config.notify_onstring Values: always, failures_only. digest_config.recipientsstring[] digest_config.min_severitystring Values: critical, high, medium, low. last_tick_atdate-time patternobject Weekly, monthly-weekday, or one-time fire pattern. pattern.kindstring Values: weekly, monthly_weekday, once. pattern.daysinteger[] pattern.ordinalstring Values: first, second, third, fourth, last. pattern.weekdayinteger pattern.offset_daysinteger pattern.datedate timezonestring variablesobject created_atdate-time updated_atdate-time itemsobject[] items[].iduuid items[].schedule_iduuid items[].test_iduuid items[].test_plan_iduuid items[].created_atdate-time runsobject[] runs[].agent_iduuid runs[].test_iduuid runs[].plan_run_iduuid runs[].triggered_atdate-time runs[].statusstring
Delete a schedule
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID.
Example Request curl -X DELETE "http://app.aiqaramba.com/api/v1/schedules/<id>" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 204Schedule deleted. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Update a schedule
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID.
Request Body (application/json) Field Type Required Description namestring No New name run_atstring No Time of day the schedule fires, formatted HH:MM in the schedule timezone. run_daysjson No ISO day numbers (Mon=1..Sun=7). Compatibility alias for a weekly pattern. enabledboolean No Enable or disable patternjson No Weekly, monthly-weekday, or one-time fire pattern. timezonestring No IANA timezone for fire evaluation. Empty string reverts to the tenant timezone. variablesjson No Static variables for scheduled test-plan runs. Empty object clears them. digest_configjson No Email digest settings (see Create for shape). Set to null to disable.
Example Request curl -X PATCH "http://app.aiqaramba.com/api/v1/schedules/<id>" \
-H "Authorization: Bearer $AIQA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "<string>",
"run_at": "<string>",
"run_days": {},
"enabled": true,
"pattern": {},
"timezone": "<string>",
"variables": {},
"digest_config": {}
}' Status Codes Code Description 200Updated schedule. 400The request is malformed or failed validation. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (200) Field Type Description iduuid tenant_iduuid project_iduuid namestring run_atstring run_daysinteger[] enabledboolean digest_configobject Delivery and severity settings for schedule digests. digest_config.enabledboolean digest_config.channelsstring[] digest_config.notify_onstring Values: always, failures_only. digest_config.recipientsstring[] digest_config.min_severitystring Values: critical, high, medium, low. last_tick_atdate-time patternobject Weekly, monthly-weekday, or one-time fire pattern. pattern.kindstring Values: weekly, monthly_weekday, once. pattern.daysinteger[] pattern.ordinalstring Values: first, second, third, fourth, last. pattern.weekdayinteger pattern.offset_daysinteger pattern.datedate timezonestring variablesobject created_atdate-time updated_atdate-time
Preview a schedule digest
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID.
Example Request curl "http://app.aiqaramba.com/api/v1/schedules/<id>/digest" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Structured digest preview. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (200) Field Type Description schedule_iduuid schedule_namestring project_iduuid project_namestring agent_idsuuid[] digestobject reasonstring
Send a schedule digest now
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID.
Example Request curl -X POST "http://app.aiqaramba.com/api/v1/schedules/<id>/digest" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Digest queued. 400The request is malformed or failed validation. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (200) Field Type Description queuedboolean agent_idsuuid[]
Add a schedule target
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID.
Request Body (application/json) Field Type Required Description test_iduuid No Test to add. Mutually exclusive with test_plan_id. test_plan_iduuid No Test plan to add. Mutually exclusive with test_id.
Example Request curl -X POST "http://app.aiqaramba.com/api/v1/schedules/<id>/items" \
-H "Authorization: Bearer $AIQA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"test_id": "<uuid>",
"test_plan_id": "<uuid>"
}' Status Codes Code Description 201Target added. 400The request is malformed or failed validation. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (201) Field Type Description iduuid schedule_iduuid test_iduuid test_plan_iduuid created_atdate-time
Remove a schedule target
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID. itemIduuid path Yes Schedule item ID.
Example Request curl -X DELETE "http://app.aiqaramba.com/api/v1/schedules/<id>/items/<itemId>" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 204Target removed. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Preview schedule fire times
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID. ninteger query No Number of future fires.
Example Request curl "http://app.aiqaramba.com/api/v1/schedules/<id>/next-fires" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Upcoming fire moments. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (200) Field Type Description schedule_iduuid timezonestring descriptionstring next_firesdate-time[]
List schedule runs
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID. limitinteger query No Maximum runs to return.
Example Request curl "http://app.aiqaramba.com/api/v1/schedules/<id>/runs" \
-H "Authorization: Bearer $AIQA_API_KEY" Status Codes Code Description 200Recent schedule-launched agents. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (200) Field Type Description runsobject[] runs[].agent_iduuid runs[].test_iduuid runs[].plan_run_iduuid runs[].triggered_atdate-time runs[].statusstring
Trigger a schedule now
Parameters Parameter Type In Required Description iduuid path Yes Schedule ID.
Request Body (application/json) Field Type Required Description variablesjson No Extra per-fire variables for this trigger only, overriding schedule variables and built-ins. Example: {"run_tag": "release-42"}.
Example Request curl -X POST "http://app.aiqaramba.com/api/v1/schedules/<id>/trigger" \
-H "Authorization: Bearer $AIQA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"variables": {}
}' Status Codes Code Description 200Trigger result. 401Authentication is missing or invalid. 404The requested resource does not exist. 500The server could not complete the request.
Response Fields (200) Field Type Description iduuid tenant_iduuid project_iduuid namestring run_atstring run_daysinteger[] enabledboolean digest_configobject Delivery and severity settings for schedule digests. digest_config.enabledboolean digest_config.channelsstring[] digest_config.notify_onstring Values: always, failures_only. digest_config.recipientsstring[] digest_config.min_severitystring Values: critical, high, medium, low. last_tick_atdate-time patternobject Weekly, monthly-weekday, or one-time fire pattern. pattern.kindstring Values: weekly, monthly_weekday, once. pattern.daysinteger[] pattern.ordinalstring Values: first, second, third, fourth, last. pattern.weekdayinteger pattern.offset_daysinteger pattern.datedate timezonestring variablesobject created_atdate-time updated_atdate-time launchedinteger failedinteger