Money API guide
This page documents Money endpoints with usage guidance, parameter tables, and request/response examples.
For full contract detail and interactive testing, use the API Explorer in the sidebar.
Endpoint reference
GET /api/money/metrics
Use this endpoint to load top-level Money metrics for one snapshot date.
Query parameters
| Name | Type | Required | Description |
|---|
asOfDate | string (date) | Yes | Snapshot date in YYYY-MM-DD format. |
curl "<NSDK_API_BASE_URL>/api/money/metrics?asOfDate=2026-03-03" \
-H "Authorization: Bearer <access-jwt>"
Common errors
401: access token invalid or missing
429: rate-limit protection
GET /api/money/actions
Use this endpoint to load prioritized action items for the same snapshot date.
Query parameters
| Name | Type | Required | Description |
|---|
asOfDate | string (date) | Yes | Snapshot date in YYYY-MM-DD format. |
curl "<NSDK_API_BASE_URL>/api/money/actions?asOfDate=2026-03-03" \
-H "Authorization: Bearer <access-jwt>"
Common errors
401: access token invalid or missing
429: rate-limit protection
GET /api/money/action/detail
Use this endpoint when a user opens one Money action detail panel.
Query parameters
| Name | Type | Required | Description |
|---|
insightId | string | Yes | Target action insight identifier. |
curl "<NSDK_API_BASE_URL>/api/money/action/detail?insightId=12345" \
-H "Authorization: Bearer <access-jwt>"
Common errors
401: access token invalid or missing
404: action not found in user scope
429: rate-limit protection
GET /api/money/metric/detail
Use this endpoint for metric-level drilldown when users open one metric card.
Query parameters
| Name | Type | Required | Description |
|---|
metricKey | string | Yes | Metric identifier, for example cash_balance. |
curl "<NSDK_API_BASE_URL>/api/money/metric/detail?metricKey=cash_balance" \
-H "Authorization: Bearer <access-jwt>"
Common errors
401: access token invalid or missing
404: metric not found in user scope
429: rate-limit protection
POST /api/money/action/status/set
Use this endpoint to update one action state (for example dismissed or completed).
Request body
| Name | Type | Required | Description |
|---|
userId | string | Yes | Authenticated user identifier. |
insightId | string | Yes | Action insight identifier. |
status | string | Yes | New status, e.g. open, dismissed, completed. |
reason | string | No | Optional reason, e.g. already_handled. |
curl -X POST "<NSDK_API_BASE_URL>/api/money/action/status/set" \
-H "Authorization: Bearer <access-jwt>" \
-H "Content-Type: application/json" \
-d '{
"userId": "1005",
"insightId": "12345",
"status": "dismissed",
"reason": "already_handled"
}'
Common errors
400: invalid status payload
401: access token invalid or missing
429: rate-limit protection