API Reference
Public REST API
Fetch your releases, changelog entries, and developer feeds programmatically. All public endpoints are CORS-enabled and require no authentication.
Base URL
https://yanib.devAll endpoints return JSON. CORS is enabled for cross-origin requests. Responses are cached for 60s (client) and 5min (CDN).
Endpoints
GET
/api/v1/releasesFetch published releases for a repo with all changelog entries.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| repo | string | No | Repository full name (e.g. owner/repo) |
| slug | string | No | Changelog slug (alternative to repo) |
| limit | number | No | Max results (default 10, max 50) |
Example
curl https://yanib.dev/api/v1/releases?repo=acme/web&limit=5Response
{
"repo": {
"fullName": "acme/web",
"slug": "acme-web",
"title": "Acme Web",
"changelogUrl": "https://yanib.dev/changelog/acme-web"
},
"releases": [
{
"id": "clx...",
"tag": "v2.4.0",
"summary": "Team collaboration, auth fixes, legacy API removed",
"publishedAt": "2026-04-10T14:00:00.000Z",
"entries": [
{
"title": "Team roles & collaboration",
"description": "Owner, Admin, Member roles with invite flow",
"changeType": "FEATURE",
"prNumber": 42
}
]
}
]
}GET
/api/v1/releases/latestFetch the single most recent published release.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| repo | string | No | Repository full name |
| slug | string | No | Changelog slug (alternative to repo) |
Example
curl https://yanib.dev/api/v1/releases/latest?slug=acme-webResponse
{
"release": {
"tag": "v2.4.0",
"summary": "Team collaboration, auth fixes",
"publishedAt": "2026-04-10T14:00:00.000Z",
"entries": [
{ "title": "Team roles", "changeType": "FEATURE" }
],
"changelogUrl": "https://yanib.dev/changelog/acme-web"
}
}GET
/api/changelog/{slug}/embedJSON endpoint for embeddable widgets. Returns the latest releases formatted for the SDK components. CORS-enabled.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| slug | string (path) | Yes | Changelog slug from the repo settings |
Example
curl https://yanib.dev/api/changelog/acme-web/embedResponse
{
"repo": { "fullName": "acme/web", "title": "Acme Web" },
"releases": [...]
}GET
/api/feed/{username}Public JSON feed of a developer's releases across all repos. Used by the <yanib-feed> SDK component.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| username | string (path) | Yes | Yanib username |
| limit | number | No | Max results (default 10) |
Example
curl https://yanib.dev/api/feed/alice?limit=5Response
{
"user": { "username": "alice", "name": "Alice" },
"releases": [...]
}Embed SDK
Drop one script tag on your site and use web components to display changelogs, banners, notifications, and developer feeds.
<script src="https://yanib.dev/sdk.js"></script> <!-- Full changelog feed --> <yanib-changelog slug="your-repo-slug" theme="light" limit="5" /> <!-- Dismissible announcement banner --> <yanib-banner slug="your-repo-slug" dismissible="true" /> <!-- Notification bell popup --> <yanib-notifications slug="your-repo-slug" position="bottom-right" /> <!-- Personal developer feed --> <yanib-feed user="your-username" limit="5" />