Get incentive state
Returns all incentive task statuses + totals for caller's active org
GET
/v1/incentive/state
Returns all incentive task statuses + totals for caller's active org
Responses
200
OK
application/jsonorg_id
string
tasks
object[]
Array of:
claimed_at
string
claimed_at + claimed_by intentionally NOT omitempty — emit `null` for
pending tasks so the TS frontend gets a stable shape (`string | null`,
never `undefined`). See useIncentiveState.ts type IncentiveTaskState.
claimed_by
string
metadata
object
reward_ai_credits
integer
reward_cu
integer
status
string
type
string
totals
object
ai_earned
string
ai_max
integer
completion_pct
number
cu_earned
string
decimal as string
cu_max
integer
user_id
string
UserID is the caller's resolved user identifier — surfaced so the
frontend can scope per-user client state (e.g., the Path B
localStorage gate) without a separate /me round trip.
401
Unauthorized
403
Forbidden
curl -X GET 'https://api.example.com/v1/incentive/state' \ -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://api.example.com/v1/incentive/state', { method: 'GET', headers: { "Authorization": "Bearer YOUR_API_TOKEN" }});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.get('https://api.example.com/v1/incentive/state', headers=headers)print(response.json())
package mainimport ( "fmt" "io" "net/http")func main() { req, _ := http.NewRequest("GET", "https://api.example.com/v1/incentive/state", nil) req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() result, _ := io.ReadAll(resp.Body) fmt.Println(string(result))}
200
Response
{ "org_id": "<string>", "tasks": [ { "claimed_at": "<string>", "claimed_by": "<string>", "metadata": "<object>", "reward_ai_credits": 123, "reward_cu": 123, "status": "<string>", "type": "<string>" } ], "totals": { "ai_earned": "<string>", "ai_max": 123, "completion_pct": 123, "cu_earned": "<string>", "cu_max": 123 }, "user_id": "<string>"}
API Playground
Try this endpoint
GET
/v1/incentive/state
