Releases Index
Validate a manifest
View .md

Validate a domain's releases.json and preview its listing

POST
/listing/validate

Fetches https://{domain}/.well-known/releases.json live (HTTPS-only, 64KB, 5s), validates it against the v2 manifest schema, and returns a preview: identity, products, and per-locator classification, plus whether the domain is already listed. Public and anonymous; rate limited.

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.

Request Body

application/json
  1. body
domain*string
Length1 <= length <= 255

Response Body

Manifest validation result and listing preview

application/json
  1. response
valid*boolean
errors*array<>
domainStatus*string
Value in"unlisted""listed""stub"
org?
identity?
products?array<>
locations*array<>
Example Request
curl -X POST 'https://api.releases.sh/v1/listing/validate' \  -H 'Content-Type: application/json' \  -d '{  "domain": "string"}'
Example Response
{  "valid": true,  "errors": [    {      "path": "string",      "message": "string"    }  ],  "domainStatus": "unlisted",  "org": {    "slug": "string",    "name": "string",    "webUrl": "string"  },  "identity": {    "name": "string",    "slug": "string",    "domain": "string"  },  "products": [    {      "name": "string",      "locationCount": 0    }  ],  "locations": [    {      "locator": "string",      "kind": "feed",      "classification": "tier1-live",      "becomes": "string",      "productName": "string",      "path": "string",      "setupSteps": [        {          "id": "verify",          "title": "string",          "detail": "string"        }      ]    }  ]}