[READ-ONLY] Mirror of https://github.com/flo-bit/contrail. atproto backend in a bottle flo-bit.dev/contrail/
0

Configure Feed

Select the types of activity you want to include in your feed.

switch to rsvp.atmo

Florian (Mar 18, 2026, 12:50 AM +0100) 33af7b29 bb55f1c8

+275 -275
-126
lexicons-generated/com/example/getProfile.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "com.example.getProfile", 4 - "defs": { 5 - "main": { 6 - "type": "query", 7 - "description": "Get a user's profile by DID or handle", 8 - "parameters": { 9 - "type": "params", 10 - "required": [ 11 - "actor" 12 - ], 13 - "properties": { 14 - "actor": { 15 - "type": "string", 16 - "format": "at-identifier", 17 - "description": "DID or handle of the user" 18 - } 19 - } 20 - }, 21 - "output": { 22 - "encoding": "application/json", 23 - "schema": { 24 - "type": "ref", 25 - "ref": "#profileEntry" 26 - } 27 - } 28 - }, 29 - "profileEntry": { 30 - "type": "object", 31 - "required": [ 32 - "did" 33 - ], 34 - "properties": { 35 - "did": { 36 - "type": "string", 37 - "format": "did" 38 - }, 39 - "handle": { 40 - "type": "string" 41 - }, 42 - "uri": { 43 - "type": "string", 44 - "format": "at-uri" 45 - }, 46 - "collection": { 47 - "type": "string", 48 - "format": "nsid" 49 - }, 50 - "rkey": { 51 - "type": "string" 52 - }, 53 - "cid": { 54 - "type": "string" 55 - }, 56 - "record": { 57 - "type": "ref", 58 - "ref": "#appBskyActorProfile" 59 - } 60 - } 61 - }, 62 - "appBskyActorProfile": { 63 - "type": "object", 64 - "properties": { 65 - "avatar": { 66 - "type": "blob", 67 - "accept": [ 68 - "image/png", 69 - "image/jpeg" 70 - ], 71 - "maxSize": 1000000, 72 - "description": "Small image to be displayed next to posts from account. AKA, 'profile picture'" 73 - }, 74 - "banner": { 75 - "type": "blob", 76 - "accept": [ 77 - "image/png", 78 - "image/jpeg" 79 - ], 80 - "maxSize": 1000000, 81 - "description": "Larger horizontal image to display behind profile view." 82 - }, 83 - "labels": { 84 - "refs": [ 85 - "com.atproto.label.defs#selfLabels" 86 - ], 87 - "type": "union", 88 - "description": "Self-label values, specific to the Bluesky application, on the overall account." 89 - }, 90 - "website": { 91 - "type": "string", 92 - "format": "uri" 93 - }, 94 - "pronouns": { 95 - "type": "string", 96 - "maxLength": 200, 97 - "description": "Free-form pronouns text.", 98 - "maxGraphemes": 20 99 - }, 100 - "createdAt": { 101 - "type": "string", 102 - "format": "datetime" 103 - }, 104 - "pinnedPost": { 105 - "ref": "com.atproto.repo.strongRef", 106 - "type": "ref" 107 - }, 108 - "description": { 109 - "type": "string", 110 - "maxLength": 2560, 111 - "description": "Free-form profile description text.", 112 - "maxGraphemes": 256 113 - }, 114 - "displayName": { 115 - "type": "string", 116 - "maxLength": 640, 117 - "maxGraphemes": 64 118 - }, 119 - "joinedViaStarterPack": { 120 - "ref": "com.atproto.repo.strongRef", 121 - "type": "ref" 122 - } 123 - } 124 - } 125 - } 126 - }
+126
lexicons-generated/rsvp/atmo/getProfile.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "rsvp.atmo.getProfile", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Get a user's profile by DID or handle", 8 + "parameters": { 9 + "type": "params", 10 + "required": [ 11 + "actor" 12 + ], 13 + "properties": { 14 + "actor": { 15 + "type": "string", 16 + "format": "at-identifier", 17 + "description": "DID or handle of the user" 18 + } 19 + } 20 + }, 21 + "output": { 22 + "encoding": "application/json", 23 + "schema": { 24 + "type": "ref", 25 + "ref": "#profileEntry" 26 + } 27 + } 28 + }, 29 + "profileEntry": { 30 + "type": "object", 31 + "required": [ 32 + "did" 33 + ], 34 + "properties": { 35 + "did": { 36 + "type": "string", 37 + "format": "did" 38 + }, 39 + "handle": { 40 + "type": "string" 41 + }, 42 + "uri": { 43 + "type": "string", 44 + "format": "at-uri" 45 + }, 46 + "collection": { 47 + "type": "string", 48 + "format": "nsid" 49 + }, 50 + "rkey": { 51 + "type": "string" 52 + }, 53 + "cid": { 54 + "type": "string" 55 + }, 56 + "record": { 57 + "type": "ref", 58 + "ref": "#appBskyActorProfile" 59 + } 60 + } 61 + }, 62 + "appBskyActorProfile": { 63 + "type": "object", 64 + "properties": { 65 + "avatar": { 66 + "type": "blob", 67 + "accept": [ 68 + "image/png", 69 + "image/jpeg" 70 + ], 71 + "maxSize": 1000000, 72 + "description": "Small image to be displayed next to posts from account. AKA, 'profile picture'" 73 + }, 74 + "banner": { 75 + "type": "blob", 76 + "accept": [ 77 + "image/png", 78 + "image/jpeg" 79 + ], 80 + "maxSize": 1000000, 81 + "description": "Larger horizontal image to display behind profile view." 82 + }, 83 + "labels": { 84 + "refs": [ 85 + "com.atproto.label.defs#selfLabels" 86 + ], 87 + "type": "union", 88 + "description": "Self-label values, specific to the Bluesky application, on the overall account." 89 + }, 90 + "website": { 91 + "type": "string", 92 + "format": "uri" 93 + }, 94 + "pronouns": { 95 + "type": "string", 96 + "maxLength": 200, 97 + "description": "Free-form pronouns text.", 98 + "maxGraphemes": 20 99 + }, 100 + "createdAt": { 101 + "type": "string", 102 + "format": "datetime" 103 + }, 104 + "pinnedPost": { 105 + "ref": "com.atproto.repo.strongRef", 106 + "type": "ref" 107 + }, 108 + "description": { 109 + "type": "string", 110 + "maxLength": 2560, 111 + "description": "Free-form profile description text.", 112 + "maxGraphemes": 256 113 + }, 114 + "displayName": { 115 + "type": "string", 116 + "maxLength": 640, 117 + "maxGraphemes": 64 118 + }, 119 + "joinedViaStarterPack": { 120 + "ref": "com.atproto.repo.strongRef", 121 + "type": "ref" 122 + } 123 + } 124 + } 125 + } 126 + }
-27
lexicons-generated/com/example/admin/getCursor.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "com.example.admin.getCursor", 4 - "defs": { 5 - "main": { 6 - "type": "query", 7 - "description": "Get the current cursor position", 8 - "output": { 9 - "encoding": "application/json", 10 - "schema": { 11 - "type": "object", 12 - "properties": { 13 - "time_us": { 14 - "type": "integer" 15 - }, 16 - "date": { 17 - "type": "string" 18 - }, 19 - "seconds_ago": { 20 - "type": "integer" 21 - } 22 - } 23 - } 24 - } 25 - } 26 - } 27 - }
-51
lexicons-generated/com/example/admin/getOverview.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "com.example.admin.getOverview", 4 - "defs": { 5 - "main": { 6 - "type": "query", 7 - "description": "Get an overview of all indexed collections", 8 - "output": { 9 - "encoding": "application/json", 10 - "schema": { 11 - "type": "object", 12 - "required": [ 13 - "total_records", 14 - "collections" 15 - ], 16 - "properties": { 17 - "total_records": { 18 - "type": "integer" 19 - }, 20 - "collections": { 21 - "type": "array", 22 - "items": { 23 - "type": "ref", 24 - "ref": "#collectionStats" 25 - } 26 - } 27 - } 28 - } 29 - } 30 - }, 31 - "collectionStats": { 32 - "type": "object", 33 - "required": [ 34 - "collection", 35 - "records", 36 - "unique_users" 37 - ], 38 - "properties": { 39 - "collection": { 40 - "type": "string" 41 - }, 42 - "records": { 43 - "type": "integer" 44 - }, 45 - "unique_users": { 46 - "type": "integer" 47 - } 48 - } 49 - } 50 - } 51 - }
-24
lexicons-generated/com/example/admin/reset.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "com.example.admin.reset", 4 - "defs": { 5 - "main": { 6 - "type": "query", 7 - "description": "Delete all data from all tables", 8 - "output": { 9 - "encoding": "application/json", 10 - "schema": { 11 - "type": "object", 12 - "required": [ 13 - "ok" 14 - ], 15 - "properties": { 16 - "ok": { 17 - "type": "boolean" 18 - } 19 - } 20 - } 21 - } 22 - } 23 - } 24 - }
-47
lexicons-generated/com/example/admin/sync.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "com.example.admin.sync", 4 - "defs": { 5 - "main": { 6 - "type": "query", 7 - "description": "Discover users from relays and backfill their records from PDS", 8 - "parameters": { 9 - "type": "params", 10 - "properties": { 11 - "concurrency": { 12 - "type": "integer", 13 - "minimum": 1, 14 - "maximum": 50, 15 - "default": 10 16 - } 17 - } 18 - }, 19 - "output": { 20 - "encoding": "application/json", 21 - "schema": { 22 - "type": "object", 23 - "required": [ 24 - "discovered", 25 - "backfilled", 26 - "remaining", 27 - "done" 28 - ], 29 - "properties": { 30 - "discovered": { 31 - "type": "integer" 32 - }, 33 - "backfilled": { 34 - "type": "integer" 35 - }, 36 - "remaining": { 37 - "type": "integer" 38 - }, 39 - "done": { 40 - "type": "boolean" 41 - } 42 - } 43 - } 44 - } 45 - } 46 - } 47 - }
+27
lexicons-generated/rsvp/atmo/admin/getCursor.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "rsvp.atmo.admin.getCursor", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Get the current cursor position", 8 + "output": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "properties": { 13 + "time_us": { 14 + "type": "integer" 15 + }, 16 + "date": { 17 + "type": "string" 18 + }, 19 + "seconds_ago": { 20 + "type": "integer" 21 + } 22 + } 23 + } 24 + } 25 + } 26 + } 27 + }
+51
lexicons-generated/rsvp/atmo/admin/getOverview.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "rsvp.atmo.admin.getOverview", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Get an overview of all indexed collections", 8 + "output": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": [ 13 + "total_records", 14 + "collections" 15 + ], 16 + "properties": { 17 + "total_records": { 18 + "type": "integer" 19 + }, 20 + "collections": { 21 + "type": "array", 22 + "items": { 23 + "type": "ref", 24 + "ref": "#collectionStats" 25 + } 26 + } 27 + } 28 + } 29 + } 30 + }, 31 + "collectionStats": { 32 + "type": "object", 33 + "required": [ 34 + "collection", 35 + "records", 36 + "unique_users" 37 + ], 38 + "properties": { 39 + "collection": { 40 + "type": "string" 41 + }, 42 + "records": { 43 + "type": "integer" 44 + }, 45 + "unique_users": { 46 + "type": "integer" 47 + } 48 + } 49 + } 50 + } 51 + }
+24
lexicons-generated/rsvp/atmo/admin/reset.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "rsvp.atmo.admin.reset", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Delete all data from all tables", 8 + "output": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": [ 13 + "ok" 14 + ], 15 + "properties": { 16 + "ok": { 17 + "type": "boolean" 18 + } 19 + } 20 + } 21 + } 22 + } 23 + } 24 + }
+47
lexicons-generated/rsvp/atmo/admin/sync.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "rsvp.atmo.admin.sync", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Discover users from relays and backfill their records from PDS", 8 + "parameters": { 9 + "type": "params", 10 + "properties": { 11 + "concurrency": { 12 + "type": "integer", 13 + "minimum": 1, 14 + "maximum": 50, 15 + "default": 10 16 + } 17 + } 18 + }, 19 + "output": { 20 + "encoding": "application/json", 21 + "schema": { 22 + "type": "object", 23 + "required": [ 24 + "discovered", 25 + "backfilled", 26 + "remaining", 27 + "done" 28 + ], 29 + "properties": { 30 + "discovered": { 31 + "type": "integer" 32 + }, 33 + "backfilled": { 34 + "type": "integer" 35 + }, 36 + "remaining": { 37 + "type": "integer" 38 + }, 39 + "done": { 40 + "type": "boolean" 41 + } 42 + } 43 + } 44 + } 45 + } 46 + } 47 + }