Releases Index
Get source changelog
View .md

Get source changelog

GET
/sources/{slug}/changelog

Returns the source's tracked CHANGELOG.md (or the file selected by ?path=), sliced by characters (?offset=, ?limit=) or by a cl100k_base token budget (?tokens=). Page with nextOffset. Always includes the full files index so clients can render a file picker.

Authorization

bearerAuth
headerAuthorizationBearer <relk_… | relu_… | OAuth JWT>

Machine/operator tokens use the relk_ prefix; self-serve read-only user keys use relu_; Sign in with Releases supplies an OAuth access token. Required scope depends on the endpoint.

Path Parameters

slug*string

Query Parameters

path?string

Repo path of the file to return, from files[].path. Defaults to the root CHANGELOG.

offset?integer
Range0 <= value
limit?integer

Slice length in characters.

Range1 <= value
tokens?integer

Slice to this many cl100k_base tokens instead of limit characters.

Range1 <= value

Response Body

Changelog slice with file index

application/json
  1. response
path*string
filename*string
url*string
rawUrl*string
content*string
bytes*integer
Range0 <= value <= 9007199254740991
fetchedAt*string
offset*integer
Range0 <= value <= 9007199254740991
limit*integer
Range0 <= value <= 9007199254740991
nextOffset*|null
totalChars*integer
Range0 <= value <= 9007199254740991
tokens?integer
Range-9007199254740991 <= value <= 9007199254740991
sliceTokens?integer
Range-9007199254740991 <= value <= 9007199254740991
totalTokens*integer
Range0 <= value <= 9007199254740991
truncated*boolean
truncatedAt*|null
files*array<>
Example Request
curl -X GET 'https://api.releases.sh/v1/sources/string/changelog'
Example Response
{  "path": "string",  "filename": "string",  "url": "string",  "rawUrl": "string",  "content": "string",  "bytes": 0,  "fetchedAt": "string",  "offset": 0,  "limit": 0,  "nextOffset": -9007199254740991,  "totalChars": 0,  "tokens": -9007199254740991,  "sliceTokens": -9007199254740991,  "totalTokens": 0,  "truncated": true,  "truncatedAt": -9007199254740991,  "files": [    {      "path": "string",      "filename": "string",      "url": "string",      "bytes": 0,      "fetchedAt": "string"    }  ]}
GET
/orgs/{orgSlug}/sources/{sourceSlug}/changelog

Returns the source's tracked CHANGELOG.md (or the file selected by ?path=), sliced by characters (?offset=, ?limit=) or by a cl100k_base token budget (?tokens=). Page with nextOffset. Always includes the full files index so clients can render a file picker.

Authorization

bearerAuth
headerAuthorizationBearer <relk_… | relu_… | OAuth JWT>

Machine/operator tokens use the relk_ prefix; self-serve read-only user keys use relu_; Sign in with Releases supplies an OAuth access token. Required scope depends on the endpoint.

Path Parameters

orgSlug*string
sourceSlug*string

Query Parameters

path?string

Repo path of the file to return, from files[].path. Defaults to the root CHANGELOG.

offset?integer
Range0 <= value
limit?integer

Slice length in characters.

Range1 <= value
tokens?integer

Slice to this many cl100k_base tokens instead of limit characters.

Range1 <= value

Response Body

Changelog slice with file index

application/json
  1. response
path*string
filename*string
url*string
rawUrl*string
content*string
bytes*integer
Range0 <= value <= 9007199254740991
fetchedAt*string
offset*integer
Range0 <= value <= 9007199254740991
limit*integer
Range0 <= value <= 9007199254740991
nextOffset*|null
totalChars*integer
Range0 <= value <= 9007199254740991
tokens?integer
Range-9007199254740991 <= value <= 9007199254740991
sliceTokens?integer
Range-9007199254740991 <= value <= 9007199254740991
totalTokens*integer
Range0 <= value <= 9007199254740991
truncated*boolean
truncatedAt*|null
files*array<>
Example Request
curl -X GET 'https://api.releases.sh/v1/orgs/string/sources/string/changelog'
Example Response
{  "path": "string",  "filename": "string",  "url": "string",  "rawUrl": "string",  "content": "string",  "bytes": 0,  "fetchedAt": "string",  "offset": 0,  "limit": 0,  "nextOffset": -9007199254740991,  "totalChars": 0,  "tokens": -9007199254740991,  "sliceTokens": -9007199254740991,  "totalTokens": 0,  "truncated": true,  "truncatedAt": -9007199254740991,  "files": [    {      "path": "string",      "filename": "string",      "url": "string",      "bytes": 0,      "fetchedAt": "string"    }  ]}