Get a job
GET /v1/jobs/{id} — requires content:read.
Every job today corresponds 1:1 to a content row (there’s no separate async job type yet for automations or schedules).
status is one of "queued", "running", "ready", "failed". In practice, POST /v1/content for type: "slideshow" resolves synchronously within the request — this endpoint exists for a consistent contract across content types and for future async pipelines, not because slideshow generation itself needs polling today.