lexicon devex tutorial
1{
2 "defs": {
3 "main": {
4 "description": "A job listing",
5 "key": "tid",
6 "record": {
7 "properties": {
8 "applyLink": {
9 "description": "URL where applicants can apply for the job.",
10 "format": "uri",
11 "type": "string"
12 },
13 "banner": {
14 "accept": [
15 "image/png",
16 "image/jpeg"
17 ],
18 "description": "Larger horizontal image to display behind job listing view.",
19 "maxSize": 1000000,
20 "type": "blob"
21 },
22 "description": {
23 "description": "The description of the job listing.",
24 "maxGraphemes": 10000,
25 "maxLength": 10000,
26 "type": "string"
27 },
28 "facets": {
29 "description": "Annotations of text (mentions, URLs, hashtags, etc).",
30 "items": {
31 "ref": "app.bsky.richtext.facet",
32 "type": "ref"
33 },
34 "type": "array"
35 },
36 "locations": {
37 "description": "Locations that are relevant to the job listing.",
38 "items": {
39 "refs": [
40 "community.lexicon.location.hthree"
41 ],
42 "type": "union"
43 },
44 "type": "array"
45 },
46 "notAfter": {
47 "description": "Client-declared timestamp when the job listing expires.",
48 "format": "datetime",
49 "type": "string"
50 },
51 "notBefore": {
52 "description": "Client-declared timestamp when the job listing becomes visible.",
53 "format": "datetime",
54 "type": "string"
55 },
56 "title": {
57 "description": "The title of the job listing.",
58 "maxLength": 200,
59 "type": "string"
60 }
61 },
62 "required": [
63 "title",
64 "notBefore",
65 "notAfter",
66 "description"
67 ],
68 "type": "object"
69 },
70 "type": "record"
71 }
72 },
73 "id": "place.atwork.listing",
74 "lexicon": 1
75}