Add a software.release.status record about one of the caller's projects or versions. Statuses are never edited or deleted: to cancel one, add another with status `withdrawn` that names it in `withdraws`.
Input
application/jsonkind
string
Optional
Why, as a category a client can act on.
maxLength: 64 bytesreason
string
Optional
Why, in words shown to operators.
maxLength: 3000 bytesmaxGraphemes: 300 graphemesstatus
string
Required
An ECMA-428 event type. `endOfDevelopment`, `endOfSupport` and `supersededBy` deprecate the subject; `endOfDistribution` makes it unavailable; `endOfLife` retires it; `withdrawn` cancels the status named in `withdraws`.
maxLength: 64 bytessubject
stringat-uri
Required
The caller's software.release.project or software.release.version the status is about.
supersededBy
string
Optional
Required when status is `supersededBy`: the version of the same project to use instead.
maxLength: 64 bytesminLength: 1 byteswithdraws
stringat-uri
Optional
Required when status is `withdrawn`: the caller's software.release.status record to cancel.
Output
application/jsoncid
stringcid
Required
A content identifier (CID) referencing immutable data.
uri
stringat-uri
Required
The software.release.status written.
Errors
AuthRequired
The caller's identity could not be determined, so there is no repo to write to. NotConfigured
The registry has no identity configured. An operator problem, not a caller's. InvalidRecord
The input breaks a rule the registry applies, so it would refuse the records. The message names the field. Upstream
A record could not be written to the caller's repo. Records written before the failure stay, and the same call can be made again. SubjectNotFound
The subject, or the status named in withdraws, is not an indexed record of the caller's. InvalidStatus
The status is missing a field it requires, such as supersededBy or withdraws, or names one that is not valid. Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"description": "Add a software.release.status record about one of the caller's projects or versions. Statuses are never edited or deleted: to cancel one, add another with status `withdrawn` that names it in `withdraws`.",
"errors": [
{
"description": "The caller's identity could not be determined, so there is no repo to write to.",
"name": "AuthRequired"
},
{
"description": "The registry has no identity configured. An operator problem, not a caller's.",
"name": "NotConfigured"
},
{
"description": "The input breaks a rule the registry applies, so it would refuse the records. The message names the field.",
"name": "InvalidRecord"
},
{
"description": "A record could not be written to the caller's repo. Records written before the failure stay, and the same call can be made again.",
"name": "Upstream"
},
{
"description": "The subject, or the status named in withdraws, is not an indexed record of the caller's.",
"name": "SubjectNotFound"
},
{
"description": "The status is missing a field it requires, such as supersededBy or withdraws, or names one that is not valid.",
"name": "InvalidStatus"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"kind": {
"description": "Why, as a category a client can act on.",
"knownValues": [
"security",
"broken",
"superseded"
],
"maxLength": 64,
"type": "string"
},
"reason": {
"description": "Why, in words shown to operators.",
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"status": {
"description": "An ECMA-428 event type. `endOfDevelopment`, `endOfSupport` and `supersededBy` deprecate the subject; `endOfDistribution` makes it unavailable; `endOfLife` retires it; `withdrawn` cancels the status named in `withdraws`.",
"knownValues": [
"endOfDevelopment",
"endOfSupport",
"supersededBy",
"endOfDistribution",
"endOfLife",
"withdrawn"
],
"maxLength": 64,
"type": "string"
},
"subject": {
"description": "The caller's software.release.project or software.release.version the status is about.",
"format": "at-uri",
"type": "string"
},
"supersededBy": {
"description": "Required when status is `supersededBy`: the version of the same project to use instead.",
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"withdraws": {
"description": "Required when status is `withdrawn`: the caller's software.release.status record to cancel.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"subject",
"status"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cid": {
"format": "cid",
"type": "string"
},
"uri": {
"description": "The software.release.status written.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"cid"
],
"type": "object"
}
},
"type": "procedure"
}