GET /v1/incentive/state
Returns all incentive task statuses + totals for caller's active org

Responses

200 OK
application/json
org_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>"}