Complete reference for the Recisphere backend API endpoints
https://api.recisphere.comMost endpoints require authentication. Include the JWT token in the Authorization header:
Authorization: Bearer <your-jwt-token>Get all recipes
Accept-Language - Language preference (optional, e.g., "en")Get a specific recipe by ID
id - Recipe ID (integer)Accept-Language - Language preference (optional)Search recipes by keywords
keywords - Search terms (string)Accept-Language - Language preference (optional)Create a new recipe (requires authentication)
{
"name": "Recipe Name",
"description": "Description",
"sourceURL": "https://example.com",
"active": true,
"prepTime": 30,
"cookTime": 45,
"recipeYield": 4
}Create multiple recipes in bulk (requires authentication)
[{
"name": "Recipe 1",
"description": "Description 1",
"active": true,
"prepTime": 30,
"cookTime": 45,
"recipeYield": 4
}]Update an existing recipe (requires authentication)
id - Recipe ID (integer)Same format as POST /api/v1/recipes/recipe
Login with Facebook OAuth token
{
"facebookToken": "string",
"name": "string",
"email": "string"
}{
"success": true,
"token": "jwt_token_here",
"user": {
"id": 1,
"name": "User Name",
"email": "user@email.com"
}
}Health check endpoint
"pong"
Get raw recipe data for debugging
id - Recipe ID (integer)Recipe objects have the following structure:
{
"id": 1,
"name": "Recipe Name",
"description": "Recipe description",
"sourceURL": "https://example.com",
"active": true,
"prepTime": 30,
"cookTime": 45,
"recipeYield": 4,
"recipeCategory": "Main Course",
"recipeCuisine": "Italian",
"notes": ["Note 1", "Note 2"],
"recipeIngredients": ["Ingredient 1", "Ingredient 2"],
"keywords": ["keyword1", "keyword2"],
"recipeInstructions": [],
"images": [],
"videos": []
}Error responses include HTTP status codes and error details:
{
"success": false,
"error": "Error description",
"code": "ERROR_CODE",
"timestamp": "2024-12-20T10:30:00Z"
}API requests are limited to 1000 requests per hour per IP address.