List technique run history
GET/technique-runs
Lists technique run history for the authenticated caller, including pending, running, completed, and failed technique runs. Results are newest first and can be filtered by workspace_id, project_id, technique_id, and status. Each item includes poll_url; use it to poll pending/running technique runs and to fetch completed or failed run details and outputs.
Query Parameters
List technique run history
curl https://app.flora.ai/api/v1/technique-runs \
-H "Authorization: Bearer $FLORA_API_KEY"{
"meta": {
"next_cursor": "eyJvZmZzZXQiOjIwfQ",
"total_estimate": 0
},
"technique_runs": [
{
"created_at": 0,
"progress": 0,
"project_id": "prj_abc123",
"run_id": "run_abc123",
"status": "pending",
"technique": {
"name": "name",
"technique_id": "tech_abcd1234"
},
"technique_run_id": "run_abc123",
"workspace_id": "ws_abc123",
"charged_cost": 0,
"completed_at": 0,
"error_code": "provider_error",
"error_message": "The provider failed to complete the generation.",
"outputs": [
{
"output_id": "output_1",
"type": "imageUrl",
"url": "https://media.flora.ai/output.png"
}
],
"poll_url": "https://example.com",
"started_at": 0
}
]
}{
"error": {
"code": "input_validation_error",
"message": "prompt: Required",
"fields": [
{
"field": "prompt",
"message": "Required"
}
]
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid API key."
}
}{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits."
}
}{
"error": {
"code": "forbidden",
"message": "Forbidden."
}
}{
"error": {
"code": "not_found",
"message": "Not found."
}
}{
"error": {
"code": "idempotency_duplicate",
"message": "Duplicate idempotency key."
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
}
}{
"error": {
"code": "unknown_error",
"message": "An unknown error occurred."
}
}Returns Examples
{
"meta": {
"next_cursor": "eyJvZmZzZXQiOjIwfQ",
"total_estimate": 0
},
"technique_runs": [
{
"created_at": 0,
"progress": 0,
"project_id": "prj_abc123",
"run_id": "run_abc123",
"status": "pending",
"technique": {
"name": "name",
"technique_id": "tech_abcd1234"
},
"technique_run_id": "run_abc123",
"workspace_id": "ws_abc123",
"charged_cost": 0,
"completed_at": 0,
"error_code": "provider_error",
"error_message": "The provider failed to complete the generation.",
"outputs": [
{
"output_id": "output_1",
"type": "imageUrl",
"url": "https://media.flora.ai/output.png"
}
],
"poll_url": "https://example.com",
"started_at": 0
}
]
}{
"error": {
"code": "input_validation_error",
"message": "prompt: Required",
"fields": [
{
"field": "prompt",
"message": "Required"
}
]
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid API key."
}
}{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits."
}
}{
"error": {
"code": "forbidden",
"message": "Forbidden."
}
}{
"error": {
"code": "not_found",
"message": "Not found."
}
}{
"error": {
"code": "idempotency_duplicate",
"message": "Duplicate idempotency key."
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
}
}{
"error": {
"code": "unknown_error",
"message": "An unknown error occurred."
}
}