API V2 Route: Meal Plans
Last updated: October 5, 2026
General Details:
| Endpoint |
/api/v2/meal-plans and /api/v2/meal-plans/<id>
|
| Headers | Authorization: <JWT> |
| HTTP Methods | GET |
| Request Body Format | N/A |
| Response Body Format | JSON |
| Required Scopes | MEAL_PLANS_GET |
Supported Request Filters:
These filters should be query parts in the URL string and follow the standard pattern of <baseUrl>?<key>=<filter>&...
| Field Name | Filter Type | Notes |
|---|---|---|
externalCode |
string | External system code for meal plan (code in institution's SIS) |
API Response:
| Field Name | Data Type | Notes |
|---|---|---|
| id | string | Globally unique identifier |
| name | string | Unique name of Meal Plan |
| details | string | Meal plan details (description) |
| externalCode | string | External system code for meal plan (code in institution's SIS) |
| cost | CostCodeThin | Default Cost Code associated with this Meal Plan |
Example Response: ***UPDATE***
{
"entities": [
{
"id": "39",
"name": "Commuter Plan 50",
"details": "Default commuter meal plan with 50 meals",
"externalCode": "CMP50",
"cost": {
"id": "16",
"name": "Commuter Plan Fall Rate",
"code": "CMPFA1"
}
}
],
"metaData": {
"agentId": "ab5f95b2-303a-403b-85fd-ab1d0cd8093c",
"rateLimits": {
"tenant": {
"limit": 50,
"remaining": 49,
"reset": 1759520782000
},
"agent": {
"limit": 10,
"remaining": 9,
"reset": 1759520783000
}
},
"pagination": {
"offset": 0,
"limit": 1000
}
}
}