Base URL https://api.foundry.mindaeon.com. Every response is JSON.
Endpoints marked AUTH require a JWT access token. Send it as a bearer token:
Authorization: Bearer <access_token>
/api/auth| Method | Path | Description | Auth |
|---|---|---|---|
| POST | /api/auth/register | Create account | — |
| POST | /api/auth/login | Email/password login | — |
| POST | /api/auth/refresh | Refresh JWT tokens | — |
| GET | /api/auth/me | Current user profile | Yes |
| PUT | /api/auth/profile | Update profile | Yes |
| POST | /api/auth/forgot-password | Send reset email | — |
| POST | /api/auth/reset-password | Reset with token | — |
| POST | /api/auth/change-password | Change password | Yes |
/api/auth| Method | Path | Description | Auth |
|---|---|---|---|
| GET | /api/auth/google | Start Google OAuth flow | — |
| GET | /api/auth/google/callback | Google OAuth callback | — |
| GET | /api/auth/github | Start GitHub OAuth flow | — |
| GET | /api/auth/github/callback | GitHub OAuth callback | — |
/api/projects| Method | Path | Description | Auth |
|---|---|---|---|
| GET | /api/projects/ | List all projects | Yes |
| POST | /api/projects/ | Create project | Yes |
| GET | /api/projects/:id | Get project | Yes |
| PUT | /api/projects/:id | Update project | Yes |
| DELETE | /api/projects/:id | Soft-delete project | Yes |
| GET | /api/projects/:id/phases/:phase | Get phase data | Yes |
| PUT | /api/projects/:id/phases/:phase | Save phase data | Yes |
/api/pipeline| Method | Path | Description | Auth |
|---|---|---|---|
| POST | /api/pipeline/run | Run a planning phase | Yes |
| GET | /api/pipeline/:projectId/:phase | Get phase results | Yes |
/api/export| Method | Path | Description | Auth |
|---|---|---|---|
| POST | /api/export/:projectId/html | Export plan as HTML | Yes |
| POST | /api/export/:projectId/react | Export plan as React components | Yes |
/api/files| Method | Path | Description | Auth |
|---|---|---|---|
| GET | /api/files/:projectId | List files | Yes |
| GET | /api/files/:projectId/* | Get file content | Yes |
| PUT | /api/files/:projectId/* | Upload or write file | Yes |
| DELETE | /api/files/:projectId/* | Delete file | Yes |
| GET | /api/files/:projectId/export | Export all as text bundle | Yes |
/api/team| Method | Path | Description | Auth |
|---|---|---|---|
| GET | /api/team/ | List members | Yes |
| POST | /api/team/invite | Invite member (admin) | Yes |
| PUT | /api/team/:memberId/role | Change role (admin) | Yes |
| DELETE | /api/team/:memberId | Remove member (admin) | Yes |
/api/stripe| Method | Path | Description | Auth |
|---|---|---|---|
| GET | /api/stripe/status | Subscription status | Yes |
| POST | /api/stripe/checkout | Create checkout session | Yes |
| POST | /api/stripe/portal | Open customer portal | Yes |
| GET | /api/stripe/usage | Usage metrics | Yes |