`GET /api/marketplace/seller/runner-offers` — list the AUTHENTICATED seller's OWN runner offers (scoped), vs the public browse `list_offers` which has no seller filter. #626 — the seller dashboard's "my offers" must use this or it shows every seller's offers. A user with no seller profile sees an empty list (not an error).
GET
/api/marketplace/seller/runner-offers
const url = 'https://example.com/api/marketplace/seller/runner-offers';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/marketplace/seller/runner-offersResponses
Section titled “Responses”Media typeapplication/json
Array<object>
Runner offer capacity metadata for a runner_offer item. Owned by the
catalog slice; later slices add FK constraints for seller_profile_id
and runner_pool_id.
object
activation_status
required
string
active
required
boolean
capabilities
required
created_at
required
string format: date-time
display_region
string | null
hardware
required
health_status
required
string
heartbeat_interval_secs
required
integer format: int32
id
required
string format: uuid
item_id
required
string format: uuid
job_class_allowlist
required
Array<string>
last_heartbeat_at
string | null format: date-time
max_concurrency
required
integer format: int32
network_policy
required
runner_pool_id
string | null format: uuid
secret_trust_policy
required
string
seller_profile_id
string | null format: uuid
terms_accepted_at
string | null format: date-time
trust_tier
required
string
updated_at
required
string format: date-time
Examplegenerated
[ { "activation_status": "example", "active": true, "capabilities": "example", "created_at": "2026-04-15T12:00:00Z", "display_region": "example", "hardware": "example", "health_status": "example", "heartbeat_interval_secs": 1, "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "item_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "job_class_allowlist": [ "example" ], "last_heartbeat_at": "2026-04-15T12:00:00Z", "max_concurrency": 1, "network_policy": "example", "runner_pool_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "secret_trust_policy": "example", "seller_profile_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "terms_accepted_at": "2026-04-15T12:00:00Z", "trust_tier": "example", "updated_at": "2026-04-15T12:00:00Z" }]