at.happyproto.registry.getArtifact
Schema Diff
+32 -16
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "An artifact's bytes, from the registry's own copy — never redirected to the publisher. A deleted release still serves them. The output encoding is `*/*`, as com.atproto.sync.getBlob's is, and the media type is the one the bytes were stored under.",
5
+
"description": "The bytes of a blob the registry has copied, served from its own copy and never redirected to the publisher, so a version stays installable after its publisher deletes it. Name the blob either by version and kind or by its CID. Only blobs that an indexed manifest or publication references are served. The output encoding is `*/*`, as com.atproto.sync.getBlob's is; the media type is the one the blob was published with.",
6
6
"errors": [
7
7
{
8
-
"description": "No release is indexed at that version.",
9
-
"name": "ReleaseNotFound"
10
-
},
11
-
{
12
-
"description": "The release is indexed but its bytes have not been copied yet, or that artifact type was never published.",
8
+
"description": "The registry does not hold that blob: it has not copied it yet, the version does not have one of that kind, or nothing indexed references it.",
13
9
"name": "ArtifactNotHeld"
14
10
},
15
11
{
16
-
"description": "The registry instance has no identity configured (HAPPYPROTO_DID), so it cannot read its own state. An operator problem, not a caller's.",
12
+
"description": "The registry has no identity configured, so it cannot read its own state. An operator problem, not a caller's.",
17
13
"name": "NotConfigured"
18
14
}
19
15
],
20
16
"output": {
21
17
"encoding": "*/*"
22
18
},
23
19
"parameters": {
24
20
"properties": {
21
+
"cid": {
22
+
"description": "The blob's CID, in place of the other parameters.",
23
+
"format": "cid",
24
+
"type": "string"
25
+
},
25
26
"did": {
27
+
"description": "The publisher. Required unless cid is given.",
26
28
"format": "did",
27
29
"type": "string"
28
30
},
29
-
"slug": {
31
+
"index": {
32
+
"default": 0,
33
+
"description": "Which screenshot, counting from 0, when kind is `screenshot`.",
34
+
"maximum": 7,
35
+
"minimum": 0,
36
+
"type": "integer"
37
+
},
38
+
"kind": {
39
+
"description": "Which blob of the version. Required unless cid is given. `icon` is the project's publication icon.",
40
+
"knownValues": [
41
+
"package",
42
+
"manifest",
43
+
"icon",
44
+
"banner",
45
+
"screenshot"
46
+
],
30
47
"type": "string"
31
48
},
32
-
"type": {
33
-
"default": "package",
34
-
"description": "Which artifact: `package` is the module, `icon`, `banner` and `screenshots` are presentation assets, and a custom type carries an `x-` prefix.",
49
+
"name": {
50
+
"description": "The project's name, which is the record key of its software.release.project: 1 to 64 lowercase letters, digits and interior hyphens. Required unless cid is given.",
51
+
"maxLength": 64,
52
+
"minLength": 1,
35
53
"type": "string"
36
54
},
37
55
"version": {
56
+
"description": "A semver version without build metadata, with an optional lowercase prerelease, such as `1.2.0` or `1.2.0-beta.1`. Required unless cid is given.",
57
+
"maxLength": 64,
58
+
"minLength": 1,
38
59
"type": "string"
39
60
}
40
61
},
41
-
"required": [
42
-
"did",
43
-
"slug",
44
-
"version"
45
-
],
46
62
"type": "params"
47
63
},
48
64
"type": "query"
49
65
}
50
66
},
51
67
"id": "at.happyproto.registry.getArtifact",
52
68
"lexicon": 1
53
69
}