Projects + Default Project
Projects are the namespace boundary for memory. Most issues during setup come down to a mismatched project slug. This guide shows the rules, the API, and the default project mechanism that removes footguns.
Project Slugs (Rules)
Slugs must be lowercase, alphanumeric, and hyphen-separated (no underscores).
examples
valid: my-app, veriova-local invalid: my_app, MyApp
List Projects
terminal
curl -H "Authorization: Bearer cv_..." \ https://api.veriova.com/api/v1/projects
Create a Project (ADMIN)
terminal
curl -X POST \
-H "Authorization: Bearer cv_..." \
-H "Content-Type: application/json" \
-d '{"name":"My App","slug":"my-app","description":"optional"}' \
https://api.veriova.com/api/v1/projectsDefault Project (Eliminates Missing project_slug)
If a default project is set for your API key, you can omit project_slug in request bodies and omit ?project= for list endpoints.
terminal
# Set default project
curl -X POST \
-H "Authorization: Bearer cv_..." \
-H "Content-Type: application/json" \
-d '{"project_slug":"my-app"}' \
https://api.veriova.com/api/v1/me/default-projectterminal
# Clear default project
curl -X POST \
-H "Authorization: Bearer cv_..." \
-H "Content-Type: application/json" \
-d '{}' \
https://api.veriova.com/api/v1/me/default-projectWhy This Matters For MCP
MCP clients are configured via env vars. If the project slug is mistyped, calls fail with Project not found. The interactive setup prevents that by fetching your actual projects and letting you select one.