ShortyShorty
API Reference

Create a summary

POST
/v1/summaries

Starts an async summary job for a YouTube video, a web page, or pasted text, selected by the source field. Usually responds 202 with a Location header and a job_id you can poll at GET /v1/jobs/{id} (send an Idempotency-Key header to make retries safe). If the exact source was already summarized in the requested language it responds 200 already_complete with the article_id and no job to poll.

Authorization

BearerApiKey
AuthorizationBearer <token>

A Shorty API key, sent as Authorization: Bearer <key>. An OAuth 2.1 access token issued to a connected app is also accepted on the same header.

In: header

Header Parameters

Idempotency-Key?string

Optional client-generated key (1–255 visible ASCII chars) that makes this POST replay-safe: a retry with the SAME key and body returns the original response (with Idempotency-Replayed: true) instead of creating a duplicate. Reusing a key with a different body is rejected (422).

Length1 <= length <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/summaries" \  -H "Content-Type: application/json" \  -d '{    "source": "youtube",    "url": "http://example.com"  }'
{  "status": "already_complete",  "article_id": "string"}