Projects API

Manage Bootspring projects.

Endpoints#

MethodEndpointDescription
GET/projectsList all projects
POST/projectsCreate a project
GET/projects/:idGet a project
PATCH/projects/:idUpdate a project
DELETE/projects/:idDelete a project

Project Object#

1{ 2 "id": "proj_abc123", 3 "name": "My SaaS App", 4 "slug": "my-saas-app", 5 "description": "A SaaS application built with Next.js", 6 "type": "web", 7 "framework": "nextjs", 8 "status": "active", 9 "settings": { 10 "autoGenerateContext": true, 11 "defaultAgent": "fullstack-expert", 12 "qualityGates": ["pre-commit", "pre-push"] 13 }, 14 "stats": { 15 "agentInvocations": 156, 16 "skillsApplied": 23, 17 "lastActivity": "2024-01-15T10:30:00Z" 18 }, 19 "createdAt": "2024-01-01T00:00:00Z", 20 "updatedAt": "2024-01-15T10:30:00Z" 21}

List Projects#

GET /projects

Query Parameters#

ParameterTypeDescription
pageintegerPage number (default: 1)
per_pageintegerItems per page (default: 20, max: 100)
statusstringFilter by status: active, archived
sortstringSort field: name, created_at, updated_at
orderstringSort order: asc, desc

Example Request#

curl https://api.bootspring.dev/v1/projects?status=active&sort=updated_at&order=desc \ -H "Authorization: Bearer bs_xxx"

Response#

1{ 2 "data": [ 3 { 4 "id": "proj_abc123", 5 "name": "My SaaS App", 6 "slug": "my-saas-app", 7 "status": "active", 8 "createdAt": "2024-01-01T00:00:00Z", 9 "updatedAt": "2024-01-15T10:30:00Z" 10 } 11 ], 12 "pagination": { 13 "total": 5, 14 "page": 1, 15 "perPage": 20, 16 "totalPages": 1 17 } 18}

Create Project#

POST /projects

Request Body#

FieldTypeRequiredDescription
namestringYesProject name (2-100 chars)
descriptionstringNoProject description
typestringNoProject type (default: web)
frameworkstringNoFramework (e.g., nextjs, react)
settingsobjectNoProject settings

Example Request#

1curl -X POST https://api.bootspring.dev/v1/projects \ 2 -H "Authorization: Bearer bs_xxx" \ 3 -H "Content-Type: application/json" \ 4 -d '{ 5 "name": "My New Project", 6 "description": "A new SaaS application", 7 "type": "web", 8 "framework": "nextjs", 9 "settings": { 10 "autoGenerateContext": true 11 } 12 }'

Response#

1{ 2 "data": { 3 "id": "proj_def456", 4 "name": "My New Project", 5 "slug": "my-new-project", 6 "description": "A new SaaS application", 7 "type": "web", 8 "framework": "nextjs", 9 "status": "active", 10 "settings": { 11 "autoGenerateContext": true, 12 "defaultAgent": null, 13 "qualityGates": [] 14 }, 15 "stats": { 16 "agentInvocations": 0, 17 "skillsApplied": 0, 18 "lastActivity": null 19 }, 20 "createdAt": "2024-01-15T12:00:00Z", 21 "updatedAt": "2024-01-15T12:00:00Z" 22 } 23}

Get Project#

GET /projects/:id

Example Request#

curl https://api.bootspring.dev/v1/projects/proj_abc123 \ -H "Authorization: Bearer bs_xxx"

Response#

Returns the full project object.

Update Project#

PATCH /projects/:id

Request Body#

All fields are optional. Only include fields you want to update.

FieldTypeDescription
namestringProject name
descriptionstringProject description
statusstringStatus: active, archived
settingsobjectProject settings (merged)

Example Request#

1curl -X PATCH https://api.bootspring.dev/v1/projects/proj_abc123 \ 2 -H "Authorization: Bearer bs_xxx" \ 3 -H "Content-Type: application/json" \ 4 -d '{ 5 "name": "Updated Project Name", 6 "settings": { 7 "defaultAgent": "backend-expert" 8 } 9 }'

Response#

Returns the updated project object.

Delete Project#

DELETE /projects/:id

Example Request#

curl -X DELETE https://api.bootspring.dev/v1/projects/proj_abc123 \ -H "Authorization: Bearer bs_xxx"

Response#

1{ 2 "data": { 3 "deleted": true, 4 "id": "proj_abc123" 5 } 6}

Project Settings#

Available Settings#

SettingTypeDefaultDescription
autoGenerateContextbooleantrueAuto-generate CLAUDE.md
defaultAgentstringnullDefault agent for invocations
qualityGatesarray[]Enabled quality gates
notificationsobject{}Notification preferences

Example Settings#

1{ 2 "settings": { 3 "autoGenerateContext": true, 4 "defaultAgent": "fullstack-expert", 5 "qualityGates": ["pre-commit", "pre-push", "pre-deploy"], 6 "notifications": { 7 "email": true, 8 "slack": { 9 "enabled": true, 10 "channel": "#dev-alerts" 11 } 12 } 13 } 14}

Project Types#

TypeDescription
webWeb application
apiAPI/Backend service
mobileMobile application
cliCommand-line tool
libraryLibrary/Package

Frameworks#

FrameworkDescription
nextjsNext.js
reactReact
vueVue.js
svelteSvelteKit
expressExpress.js
fastapiFastAPI
djangoDjango
railsRuby on Rails

Errors#

CodeDescription
project_not_foundProject doesn't exist
project_limit_exceededPlan project limit reached
slug_takenProject slug already exists
invalid_frameworkUnknown framework