Documentation v1.0
Docs API & Integrations API Endpoints

API Endpoints

Base URL: https://gosprintvibe.com/api/v1

All responses are JSON. All requests require a Bearer token in the Authorization header.

User Info

GET /api/v1/me

Returns the authenticated user's profile and subscription details.

curl -H "Authorization: Bearer sv_xxx" \
  https://gosprintvibe.com/api/v1/me

Response: json { "id": 1, "email": "jane@example.com", "first_name": "Jane", "last_name": "Doe", "subscription_tier": "pro", "subscription_status": "active", "ai_generations_remaining": 250, "chat_messages_remaining": 900, "projects_count": 5, "created_at": "2026-03-15T10:30:00Z" }


Projects

GET /api/v1/projects

List all accessible projects.

Parameter Type Description
page integer Page number (default: 1)
per_page integer Records per page (default: 25, max: 100)
curl -H "Authorization: Bearer sv_xxx" \
  "https://gosprintvibe.com/api/v1/projects?page=1&per_page=25"

Response: json { "data": [ { "id": 1, "name": "My Project", "description": "Project description", "tech_stack": "Rails, PostgreSQL", "team_size": 3, "status": "active", "sprints_count": 5, "backlog_stories_count": 12, "created_at": "2026-03-15T10:30:00Z", "updated_at": "2026-03-20T14:45:00Z" } ], "meta": { "page": 1, "per_page": 25, "total": 5, "total_pages": 1 } }

GET /api/v1/projects/:id

Get project details with nested sprints.

curl -H "Authorization: Bearer sv_xxx" \
  https://gosprintvibe.com/api/v1/projects/1

The response includes a sprints array with all sprints for the project.


Sprints

GET /api/v1/projects/:project_id/sprints

List sprints for a project. Supports page and per_page parameters.

curl -H "Authorization: Bearer sv_xxx" \
  "https://gosprintvibe.com/api/v1/projects/1/sprints"

GET /api/v1/sprints/:id

Get sprint with full epics and stories.

curl -H "Authorization: Bearer sv_xxx" \
  https://gosprintvibe.com/api/v1/sprints/10

Response includes: - Sprint details (name, goal, dates, status) - epics array with id, name, description, color, position - stories array with full story objects including tasks


Stories

GET /api/v1/sprints/:sprint_id/stories

List stories in a sprint with optional filters.

Parameter Type Description
status string Filter: todo, in_progress, review, done
epic_id integer Filter by epic
user_id integer Filter by assignee
page integer Page number
per_page integer Records per page
curl -H "Authorization: Bearer sv_xxx" \
  "https://gosprintvibe.com/api/v1/sprints/10/stories?status=in_progress"

GET /api/v1/stories/:id

Get full story details including tasks, project context, sprint context, and attachments.

curl -H "Authorization: Bearer sv_xxx" \
  https://gosprintvibe.com/api/v1/stories/100

Response includes: - Story fields (title, description, acceptance criteria, status, points, priority) - epic object (id, name, color) - assignee object (id, name, email) - tasks array (id, title, completed, position) - project object (id, name, tech_stack, context) - sprint object (id, name, goal) - attachments array (file_name, content_type, url)

POST /api/v1/sprints/:sprint_id/stories

Create a new story. Requires write scope.

curl -X POST -H "Authorization: Bearer sv_xxx" \
  -H "Content-Type: application/json" \
  -d '{"story": {"title": "Implement login", "priority": "high", "story_points": 5}}' \
  https://gosprintvibe.com/api/v1/sprints/10/stories
Field Type Required Description
title string Yes Story title
description string No Detailed description
acceptance_criteria string No Acceptance criteria
epic_id integer No Epic to assign to
priority string No low, medium, high, critical
story_points integer No Effort estimate
user_id integer No Assignee user ID

PATCH /api/v1/stories/:id

Update a story. Requires write scope. All fields are optional.

curl -X PATCH -H "Authorization: Bearer sv_xxx" \
  -H "Content-Type: application/json" \
  -d '{"story": {"status": "in_progress"}}' \
  https://gosprintvibe.com/api/v1/stories/100

Accepts the same fields as POST, plus status (todo, in_progress, review, done).


PATCH /api/v1/sprints/:id

Update a sprint's status or goal. Requires write scope.

curl -X PATCH -H "Authorization: Bearer sv_xxx" \
  -H "Content-Type: application/json" \
  -d '{"sprint": {"status": "active"}}' \
  https://gosprintvibe.com/api/v1/sprints/10
Field Type Description
status string planning, active, completed
goal string Updated sprint goal

Comments

GET /api/v1/stories/:story_id/comments

List comments on a story, ordered by most recent first. Supports pagination.

curl -H "Authorization: Bearer sv_xxx" \
  "https://gosprintvibe.com/api/v1/stories/100/comments"

Response: json { "data": [ { "id": 500, "content": "Merged PR #123", "activity_type": "comment", "user": { "id": 1, "name": "Jane Doe" }, "created_at": "2026-03-20T16:20:00Z" } ], "meta": { "page": 1, "per_page": 25, "total": 3, "total_pages": 1 } }

POST /api/v1/stories/:story_id/comments

Add a comment to a story. Requires write scope.

curl -X POST -H "Authorization: Bearer sv_xxx" \
  -H "Content-Type: application/json" \
  -d '{"comment": {"content": "Merged PR #123"}}' \
  https://gosprintvibe.com/api/v1/stories/100/comments

Response (201): json { "id": 500, "content": "Merged PR #123", "activity_type": "comment", "user": { "id": 1, "name": "Jane Doe", "email": "jane@example.com" }, "created_at": "2026-03-20T16:20:00Z" }


POST /api/v1/stories/:story_id/pr_summary

Generate an AI-powered PR summary. Requires write scope and Pro/Teams plan.

Parameter Type Required Description
pr_id integer No The PR ID (defaults to latest open PR)
curl -X POST -H "Authorization: Bearer sv_xxx" \
  -H "Content-Type: application/json" \
  -d '{"pr_id": 42}' \
  https://gosprintvibe.com/api/v1/stories/100/pr_summary

Response (200): json { "pr_id": 42, "pr_number": 15, "summary": "## Changes Summary\nAdded login functionality...", "generated_at": "2026-04-07T10:00:00Z" }


GET /api/v1/projects/:project_id/activity

Get development activity for a project's GitHub repository. Requires Pro/Teams plan.

Parameter Type Required Description
days integer No Number of days to look back (default: 30, max: 90)
curl -H "Authorization: Bearer sv_xxx" \
  "https://gosprintvibe.com/api/v1/projects/1/activity?days=30"

Response (200): json { "period_days": 30, "stats": { "total_commits": 42, "prs_opened": 8, "prs_merged": 5, "reviews_submitted": 12 }, "top_contributors": [ { "login": "octocat", "commits": 15 } ], "recent_activity": [...] }

Last updated July 18, 2026