REST + JSON · Token auth · OpenAPI 3

SprintFlint API.
For agents and humans.

Programmatic access to projects, sprints, tickets, and comments. REST endpoints, JSON payloads, token authentication, and an OpenAPI 3 spec. Built for AI coding agents (Cursor, Claude Code, Codex) and for engineers who want to script their sprint workflow.

Authentication

Every request needs a Bearer token. Generate one from your account settings. Tokens are scoped to your organisation and revocable.

Authorization: Bearer YOUR_TOKEN
Accept: application/json
Content-Type: application/json

Quick start

List your projects in four lines of code. Pick the sample that matches your stack.

curl

curl https://sprintflint.com/api/v1/projects \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"

Ruby

require 'net/http'
require 'json'

uri = URI('https://sprintflint.com/api/v1/projects')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer YOUR_TOKEN'
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |h| h.request(req) }
puts JSON.parse(res.body)

Python

import requests

r = requests.get(
    'https://sprintflint.com/api/v1/projects',
    headers={'Authorization': 'Bearer YOUR_TOKEN'}
)
print(r.json())

Node

const res = await fetch('https://sprintflint.com/api/v1/projects', {
  headers: { Authorization: 'Bearer YOUR_TOKEN' }
});
const data = await res.json();
console.log(data);

Resource model

Four core resources, with consistent CRUD semantics across all of them.

Projects

Top-level container. GET /api/v1/projects lists all projects in your organisation. Create, update, delete with the matching verbs.

Sprints

Time-boxed iterations within a project. POST /api/v1/projects/:id/sprints/:id/activate starts a sprint. /complete ends it.

Issues (tickets)

The unit of work. Live inside sprints. Status, story points, assignee, labels, and free-form descriptions in markdown.

Comments

Per-ticket conversation thread. AI agents can post status updates, link PRs, or surface blockers without leaving the editor.

For AI coding agents

SprintFlint is designed to be readable by AI agents. Two surfaces are public.

/llms.txt

Machine-readable index of every public surface: tools, blog posts, templates, comparisons, glossary terms. Agents can crawl it once and skip the HTML scrape.

/api-docs/v1/swagger.yaml

OpenAPI 3 spec. Drop into Cursor, Claude Code, or any agent that consumes OpenAPI. Authentication, schemas, examples — all there.

Rate limits and conventions

  • Base URL: https://sprintflint.com/api/v1
  • Auth: Authorization: Bearer YOUR_TOKEN
  • Format: JSON request and response. Content-Type: application/json on writes.
  • Errors: Standard HTTP status codes. Body is { "error": "human-readable message" } on 4xx/5xx.
  • Pagination: ?page=N&per_page=M on collection endpoints. per_page defaults to 25, max 100.
  • Rate limit: 600 requests / minute / token. 429 on exceed with Retry-After header.

Build something with the API

Sprint dashboards. Custom reports. Auto-import from Linear or Jira. Slack bots. AI agents. The 14-day free trial includes API access — no card, no upsell.