shipi | docs

API

The shipi API allows you to generate release notes programmatically.

Base URL

https://api.the dashboard/v1

Authentication

Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Endpoints

POST /generate

Generate release notes from commits.

curl -X POST https://api.the dashboard/v1/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "commits": [
      {
        "hash": "abc123",
        "message": "feat: add dark mode toggle",
        "diff": "optional diff content"
      }
    ],
    "options": {
      "audience": "changelog",
      "tickets": true
    }
  }'

Request body

FieldTypeRequiredDescription
commitsarrayYesArray of commit objects
commits[].hashstringYesCommit hash
commits[].messagestringYesCommit message
commits[].diffstringNoCommit diff
options.audiencestringNochangelog, internal, executive
options.ticketsbooleanNoExtract ticket references
options.formatstringNomarkdown, json, text

Response

{
  "success": true,
  "data": {
    "content": "## What's New\n\n- Added dark mode toggle",
    "format": "markdown",
    "tokens_used": 150
  }
}

GET /usage

Get your current usage.

curl https://api.the dashboard/v1/usage \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "data": {
    "plan": "pro",
    "generations_used": 42,
    "generations_limit": 500,
    "period_ends": "2024-02-01T00:00:00Z"
  }
}

Errors

StatusDescription
400Invalid request body
401Invalid or missing API key
429Rate limit exceeded
500Server error

Error response format:

{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "You have exceeded your monthly generation limit"
  }
}

Rate limits

PlanGenerations/month
Starter50
Pro500

Rate limit headers are included in responses:

X-RateLimit-Limit: 500
X-RateLimit-Remaining: 458
X-RateLimit-Reset: 1706745600