How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

SparkyFitness Nutrition & Meals API

Food database, diary logging, meal planning, and nutritional preferences.

SparkyFitness Nutrition & Meals API is one of 22 APIs that SparkyFitness publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Nutrition & Meals. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, and rate-limit docs.

This API exposes 88 operations across 61 paths, and defines 10 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://{host}/api.

88 operations 61 paths 10 schemas 14 DELETE33 GET30 POST11 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://{host}/api
Authentication
API Key
Contact
SparkyFitness Support
Resource Areas
1

Authentication & Security 1

SparkyFitness Nutrition & Meals API declares 1 security scheme for authenticating requests. An API key is passed in the header as x-api-key (apiKeyAuth). By default, every request must be authenticated.

  • apiKeyAuth — API key authentication via x-api-key header.

Paths & Operations 88

Across 61 paths, the API surfaces 88 operations — 14 DELETE, 33 GET, 30 POST, 11 PUT. Each is listed below with its method, path, parameters, and response codes.

Nutrition & Meals 88

Food database, diary logging, meal planning, and nutritional preferences.

POST
/custom-nutrients
Create a new custom nutrient
body → 201401500
GET
/custom-nutrients
Retrieve all custom nutrients
→ 200401500
POST
/custom-nutrients/from-catalog
Find-or-create custom nutrients from the canonical micronutrient catalog
body → 200400401500
GET
/custom-nutrients/{id}
Retrieve a single custom nutrient by ID
1 param → 200401404500
PUT
/custom-nutrients/{id}
Update a custom nutrient
1 param body → 200401404500
DELETE
/custom-nutrients/{id}
Delete a custom nutrient
2 params → 200401404500
GET
/favorites
List the user's favorite (starred) foods and meals
→ 200
POST
/favorites/{type}/{id}
Star a food or meal as a favorite
DELETE
/favorites/{type}/{id}
Remove a food or meal from favorites
GET
/foods/search
Search for foods (AI-dedicated)
4 params → 200400
GET
/foods
Search for foods
6 params → 200400
POST
/foods
Create a new food
body → 201403
GET
/foods/foods-paginated
Get foods with pagination
5 params → 200
POST
/foods/food-variants
Create a new food variant
body → 201403404
GET
/foods/food-variants
Get food variants by food ID
1 param → 200400
POST
/foods/food-variants/bulk
Bulk create food variants
body → 201403
GET
/foods/food-variants/{id}
Get a food variant by ID
1 param → 200400403404
PUT
/foods/food-variants/{id}
Update a food variant
1 param body → 200400403404
DELETE
/foods/food-variants/{id}
Delete a food variant
1 param → 200400403404
GET
/foods/barcode/{barcode}
Look up a food by barcode
2 params → 200400
GET
/foods/{foodId}
Get a food by ID
1 param → 200400403404
PUT
/foods/{id}
Update a food
1 param body → 200400403404
DELETE
/foods/{id}
Delete a food
2 params → 200400403404
GET
/foods/{id}/deletion-impact
Get food deletion impact
1 param → 200400403404
POST
/foods/import-from-csv
Import foods from CSV
body → 200400
GET
/foods/needs-review
Get foods needing review
→ 200
POST
/foods/update-snapshot
Update food entries snapshot
body → 200400
POST
/food-entry-meals
Create a new FoodEntryMeal
body → 201403
GET
/food-entry-meals/by-date/{date}
Get FoodEntryMeals by date
1 param → 200403
GET
/food-entry-meals/{id}
Get a specific FoodEntryMeal with its components
1 param → 200403404
PUT
/food-entry-meals/{id}
Update an existing FoodEntryMeal
1 param body → 200403404
DELETE
/food-entry-meals/{id}
Delete a FoodEntryMeal
1 param → 204403404
POST
/food-entry-meals/{id}/image
Set a logged meal's override photo
body → 200400404
DELETE
/food-entry-meals/{id}/image
Clear a logged meal's override photo
→ 200404
GET
/food-entries/export/csv
Export all food entries as CSV
→ 200
POST
/food-entries/import-from-csv
Import diary log entries from CSV
body → 200400
POST
/food-entries
Create a new food entry
body → 201400403
GET
/food-entries
Get food entries by selected date
1 param → 200400403
POST
/food-entries/copy
Copy food entries from one meal to another
body → 201400403
POST
/food-entries/copy-from-user
Copy food entries from a family member's diary to the active user's diary
body → 201400403
POST
/food-entries/copy-reviewed-from-user
Copy an unchanged reviewed family meal into the authenticated user's diary
body → 201400403409
POST
/food-entries/copy-selected-from-user
Copy selected food entries from a family member's diary
body → 201400403409
POST
/food-entries/copy-to-user
Copy food entries from the active user's diary to a family member's diary
body → 201400403
POST
/food-entries/copy-yesterday
Copy food entries from yesterday's meal
body → 201400403
POST
/food-entries/copy-all
Copy all food entries from one day to another
body → 201400403
POST
/food-entries/copy-all-yesterday
Copy all food entries from yesterday
body → 201400
PUT
/food-entries/{id}
Update a food entry
1 param body → 200400403404
DELETE
/food-entries/{id}
Delete a food entry
1 param → 200400403404
GET
/food-entries/by-date/{date}
Get all food entries for a specific date
1 param → 200400403
GET
/food-entries/range/{startDate}/{endDate}
Get food entries within a date range
2 params → 200400403
GET
/food-entries/nutrition/today
Get daily nutrition summary
1 param → 200400403404
POST
/food-entries/{id}/image
Set the per-entry override photo for a diary entry
body → 200400403
DELETE
/food-entries/{id}/image
Clear a diary entry's override photo
→ 200
GET
/foods/food-entries/{date}
Get food entries by date (re-routed)
1 param → 200400
POST
/meal-plan-templates
Create a new meal plan template
body → 201403
GET
/meal-plan-templates
Get all meal plan templates for a user
→ 200403
PUT
/meal-plan-templates/{id}
Update a meal plan template
1 param body → 200403404
DELETE
/meal-plan-templates/{id}
Delete a meal plan template
1 param → 204403404
POST
/meal-plan-templates/{id}/duplicate
Duplicate a meal plan template
1 param → 201
POST
/meals/plan
Create a new meal plan entry
body → 201400403
GET
/meals/plan
Get meal plan entries for a specific date or date range
2 params → 200400403
PUT
/meals/plan/{id}
Update a meal plan entry
1 param body → 200403404
DELETE
/meals/plan/{id}
Delete a meal plan entry
1 param → 200403404
POST
/meals
Create a new meal template
body → 201400403
GET
/meals
Get all meal templates for the user
2 params → 200403
GET
/meals/recent
Get recently logged meal templates
1 param → 200403
GET
/meals/top
Get most frequently logged meal templates
1 param → 200403
GET
/meals/search
Search for meal templates
1 param → 200400
GET
/meals/{id}
Get a specific meal template by ID
1 param → 200403404
PUT
/meals/{id}
Update an existing meal template
1 param body → 200400403404
DELETE
/meals/{id}
Delete a meal template
1 param → 200403404
GET
/meals/{id}/deletion-impact
Get the deletion impact for a meal
1 param → 200403404
POST
/meals/plan/{id}/log-to-diary
Log a specific meal plan entry to the food diary
1 param body → 201403404
POST
/meals/plan/log-day-to-diary
Log all meal plan entries for a specific day to the food diary
body → 201400403
GET
/meals/needs-review
Get meals needing review
→ 200403
POST
/meals/update-snapshot
Update meal entries snapshot
body → 200400403
POST
/meals/create-meal-from-diary
Create a meal from diary entries
body → 201400403
GET
/meal-types
Retrieve all meal types
→ 200401500
POST
/meal-types
Create a new custom meal type
body → 201400401409500
GET
/meal-types/{id}
Retrieve a single meal type by ID
1 param → 200401404500
PUT
/meal-types/{id}
Update a meal type
1 param body → 200401403404500
DELETE
/meal-types/{id}
Delete a custom meal type
1 param → 200401403404409500
GET
/preferences/nutrient-display
Get all nutrient display preferences for the logged-in user
→ 200401500
PUT
/preferences/nutrient-display/{viewGroup}/{platform}
Upsert a nutrient display preference
2 params body → 200401500
DELETE
/preferences/nutrient-display/{viewGroup}/{platform}
Reset a nutrient display preference to default
2 params → 200401500
GET
/nutrient-goal-preferences
Get effective goal-direction preferences for every nutrient
→ 200401
PUT
/nutrient-goal-preferences/{nutrientKey}
Set a nutrient's goal-direction override
1 param body → 200400401
DELETE
/nutrient-goal-preferences/{nutrientKey}
Reset a nutrient's goal direction to its built-in default
1 param → 200401

Schemas 10

The contract defines 10 schemas that model the data the API accepts and returns. The most detailed are FoodEntry (34 properties), Food (14 properties), FoodEntryMeal (13 properties), MealType (7 properties). Each schema is shown below with its type and property counts.

FoodVariant
object
4 properties 4 required
MealType
object
7 properties 4 required
NutrientDisplayPreference
object
6 properties 4 required
CustomNutrient
object
7 properties 4 required
FoodEntry
object
34 properties 7 required
FoodEntryMeal
object
13 properties 7 required
MealPlanTemplate
object
7 properties 3 required
NutrientGoalPreference
object
3 properties
Food
object
14 properties 3 required
NutritionSummary
object
6 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

sparkyfitness-nutrition-meals-api-openapi.yml Raw ↑

Other APIs SparkyFitness publishes across the network.

SparkyFitness MCP Server
SparkyFitness Admin API
SparkyFitness AI API
SparkyFitness AI & Insights API
SparkyFitness Allergen Preferences API
SparkyFitness Authentication API
SparkyFitness Dashboard API
SparkyFitness Dashboard Layouts API
SparkyFitness Exercise Entries API
SparkyFitness Exercise Stats API
SparkyFitness Exercise & Workouts API
SparkyFitness External Integrations API
Where this information came from

This is an independent, third-party profile of SparkyFitness Nutrition & Meals API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.