Publish a batch of releases
Inserts or updates releases for one source, identified by slug or src_… ID on the bare path, or by the org-scoped slug pair. Releases are matched on url: a new URL inserts, a known URL fills empty fields, or, with mode: "upsert-content", overwrites content and media. Re-posting the same batch is safe. Requires a write token, or a publish token bound to this source. A source's first write with its owner's publish token marks it push-fed, so it is no longer polled.
bearerAuthAuthorizationBearer <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.
slug*stringapplication/json- body
mode?stringreleases*array<>Batch result: inserted count, the source's new release total, and the new IDs
application/json- response
inserted*integer0 <= value <= 9007199254740991total*integer0 <= value <= 9007199254740991insertedIds*array<string>curl -X POST 'https://api.releases.sh/v1/sources/string/releases/batch' \ -H 'Content-Type: application/json' \ -d '{ "releases": [ { "title": "string", "content": "string" } ]}'{ "inserted": 0, "total": 0, "insertedIds": [ "string" ]}Inserts or updates releases for one source, identified by slug or src_… ID on the bare path, or by the org-scoped slug pair. Releases are matched on url: a new URL inserts, a known URL fills empty fields, or, with mode: "upsert-content", overwrites content and media. Re-posting the same batch is safe. Requires a write token, or a publish token bound to this source. A source's first write with its owner's publish token marks it push-fed, so it is no longer polled.
bearerAuthAuthorizationBearer <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.
orgSlug*stringsourceSlug*stringapplication/json- body
mode?stringreleases*array<>Batch result: inserted count, the source's new release total, and the new IDs
application/json- response
inserted*integer0 <= value <= 9007199254740991total*integer0 <= value <= 9007199254740991insertedIds*array<string>curl -X POST 'https://api.releases.sh/v1/orgs/string/sources/string/releases/batch' \ -H 'Content-Type: application/json' \ -d '{ "releases": [ { "title": "string", "content": "string" } ]}'{ "inserted": 0, "total": 0, "insertedIds": [ "string" ]}