REST /api/v1/claims 5 endpoints
GET /api/v1/claims/api/v1/claims

Adapter-layer pass-through: selects claim rows from Supabase matching provided filters (user_id, org_id, status).

Public

Response Example

{
  "data": [
    {
      "id": "clm_01HXQR9B2T",
      "user_id": "usr_abc123",
      "org_id": "org_xyz789",
      "distance_km": 42.5,
      "rate_per_km": 0.45,
      "amount": 19.13,
      "status": "pending",
      "trip_date": "2026-03-25",
      "purpose": "Client site visit — Waterford office",
      "additional_expenses": [],
      "created_at": "2026-03-25T14:30:00Z",
      "updated_at": "2026-03-25T14:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1
  }
}
GET /api/v1/claims/api/v1/claims/:id

Adapter-layer: select a single claim row by primary key from Supabase.

Public

Response Example

{
  "id": "clm_01HXQR9B2T",
  "user_id": "usr_abc123",
  "org_id": "org_xyz789",
  "distance_km": 42.5,
  "rate_per_km": 0.45,
  "amount": 19.13,
  "status": "pending",
  "trip_date": "2026-03-25",
  "purpose": "Client site visit — Waterford office",
  "additional_expenses": [],
  "created_at": "2026-03-25T14:30:00Z",
  "updated_at": "2026-03-25T14:30:00Z"
}
POST /api/v1/claims/api/v1/claims

Adapter-layer: insert a new claim row into Supabase and return the persisted record.

Public

Request Example

{
  "user_id": "usr_abc123",
  "org_id": "org_xyz789",
  "distance_km": 42.5,
  "rate_per_km": 0.45,
  "amount": 19.13,
  "status": "pending",
  "trip_date": "2026-03-25",
  "purpose": "Client site visit — Waterford office",
  "additional_expenses": []
}

Response Example

{
  "id": "clm_01HXQR9B2T",
  "user_id": "usr_abc123",
  "org_id": "org_xyz789",
  "distance_km": 42.5,
  "rate_per_km": 0.45,
  "amount": 19.13,
  "status": "pending",
  "trip_date": "2026-03-25",
  "purpose": "Client site visit — Waterford office",
  "additional_expenses": [],
  "created_at": "2026-03-25T14:30:00Z",
  "updated_at": "2026-03-25T14:30:00Z"
}
PUT /api/v1/claims/api/v1/claims/:id

Adapter-layer: update a claim row in Supabase (typically status or field correction).

Public

Request Example

{
  "status": "approved",
  "updated_at": "2026-03-25T15:02:11Z"
}

Response Example

{
  "id": "clm_01HXQR9B2T",
  "status": "approved",
  "updated_at": "2026-03-25T15:02:11Z"
}
DELETE /api/v1/claims/api/v1/claims/:id

Adapter-layer: remove a claim row from Supabase.

Public

Response Example

{
  "id": "clm_01HXQR9B2T",
  "deleted": true
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}