""" Indicates that an Input Object is a OneOf Input Object (and thus requires exactly one of its field be provided) """ directive @oneOf on INPUT_OBJECT """ Provides a scalar specification URL for specifying the behavior of custom scalar types. """ directive @specifiedBy( """URL that specifies the behavior of this scalar.""" url: String! ) on SCALAR input AggregationOrderBy { count: SortDirection } type AppBskyActorProfile { id: ID! uri: String! cid: String! did: String! indexedAt: String! actorHandle: String avatar: Blob banner: Blob createdAt: String description: String displayName: String joinedViaStarterPack: JSON labels: JSON pinnedPost: JSON appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type AppBskyActorProfileAggregated { avatar: JSON banner: JSON createdAt: JSON description: JSON displayName: JSON joinedViaStarterPack: JSON labels: JSON pinnedPost: JSON count: Int! } type AppBskyActorProfileConnection { totalCount: Int! pageInfo: PageInfo! edges: [AppBskyActorProfileEdge!]! nodes: [AppBskyActorProfile!]! } type AppBskyActorProfileEdge { node: AppBskyActorProfile! cursor: String! } enum AppBskyActorProfileGroupByField { indexedAt avatar banner createdAt description displayName joinedViaStarterPack labels pinnedPost } input AppBskyActorProfileGroupByFieldInput { field: AppBskyActorProfileGroupByField! interval: DateInterval } input AppBskyActorProfileInput { avatar: JSON banner: JSON createdAt: String description: String displayName: String joinedViaStarterPack: JSON labels: JSON pinnedPost: JSON } input AppBskyActorProfileSortFieldInput { field: AppBskyActorProfileGroupByField! direction: SortDirection } input AppBskyActorProfileWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter avatar: StringFilter banner: StringFilter createdAt: StringFilter description: StringFilter displayName: StringFilter joinedViaStarterPack: StringFilter labels: StringFilter pinnedPost: StringFilter json: StringFilter and: [AppBskyActorProfileWhereInput] or: [AppBskyActorProfileWhereInput] } type AppBskyEmbedDefsAspectRatio { height: Int width: Int } type AppBskyEmbedExternal { id: ID! uri: String! cid: String! did: String! indexedAt: String! actorHandle: String external: AppBskyEmbedExternalExternal! appBskyActorProfile: AppBskyActorProfile appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type AppBskyEmbedExternalAggregated { external: JSON count: Int! } type AppBskyEmbedExternalConnection { totalCount: Int! pageInfo: PageInfo! edges: [AppBskyEmbedExternalEdge!]! nodes: [AppBskyEmbedExternal!]! } type AppBskyEmbedExternalEdge { node: AppBskyEmbedExternal! cursor: String! } type AppBskyEmbedExternalExternal { description: String thumb: Blob title: String uri: String } enum AppBskyEmbedExternalGroupByField { indexedAt external } input AppBskyEmbedExternalGroupByFieldInput { field: AppBskyEmbedExternalGroupByField! interval: DateInterval } input AppBskyEmbedExternalInput { external: JSON! } input AppBskyEmbedExternalSortFieldInput { field: AppBskyEmbedExternalGroupByField! direction: SortDirection } input AppBskyEmbedExternalWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter external: StringFilter json: StringFilter and: [AppBskyEmbedExternalWhereInput] or: [AppBskyEmbedExternalWhereInput] } type AppBskyEmbedImages { id: ID! uri: String! cid: String! did: String! indexedAt: String! actorHandle: String images: [AppBskyEmbedImagesImage!] appBskyActorProfile: AppBskyActorProfile appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type AppBskyEmbedImagesAggregated { images: JSON count: Int! } type AppBskyEmbedImagesConnection { totalCount: Int! pageInfo: PageInfo! edges: [AppBskyEmbedImagesEdge!]! nodes: [AppBskyEmbedImages!]! } type AppBskyEmbedImagesEdge { node: AppBskyEmbedImages! cursor: String! } enum AppBskyEmbedImagesGroupByField { indexedAt images } input AppBskyEmbedImagesGroupByFieldInput { field: AppBskyEmbedImagesGroupByField! interval: DateInterval } type AppBskyEmbedImagesImage { alt: String aspectRatio: JSON image: Blob } input AppBskyEmbedImagesInput { images: JSON! } input AppBskyEmbedImagesSortFieldInput { field: AppBskyEmbedImagesGroupByField! direction: SortDirection } input AppBskyEmbedImagesWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter images: StringFilter json: StringFilter and: [AppBskyEmbedImagesWhereInput] or: [AppBskyEmbedImagesWhereInput] } type AppBskyEmbedRecord { record: JSON } type AppBskyEmbedRecordAggregated { record: JSON count: Int! } type AppBskyEmbedRecordConnection { totalCount: Int! pageInfo: PageInfo! edges: [AppBskyEmbedRecordEdge!]! nodes: [AppBskyEmbedRecord!]! } type AppBskyEmbedRecordEdge { node: AppBskyEmbedRecord! cursor: String! } enum AppBskyEmbedRecordGroupByField { indexedAt record } input AppBskyEmbedRecordGroupByFieldInput { field: AppBskyEmbedRecordGroupByField! interval: DateInterval } input AppBskyEmbedRecordInput { record: JSON! } input AppBskyEmbedRecordSortFieldInput { field: AppBskyEmbedRecordGroupByField! direction: SortDirection } input AppBskyEmbedRecordWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter record: StringFilter json: StringFilter and: [AppBskyEmbedRecordWhereInput] or: [AppBskyEmbedRecordWhereInput] } type AppBskyEmbedRecordWithMedia { id: ID! uri: String! cid: String! did: String! indexedAt: String! actorHandle: String media: JSON! record: AppBskyEmbedRecord! appBskyActorProfile: AppBskyActorProfile appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type AppBskyEmbedRecordWithMediaAggregated { media: JSON record: JSON count: Int! } type AppBskyEmbedRecordWithMediaConnection { totalCount: Int! pageInfo: PageInfo! edges: [AppBskyEmbedRecordWithMediaEdge!]! nodes: [AppBskyEmbedRecordWithMedia!]! } type AppBskyEmbedRecordWithMediaEdge { node: AppBskyEmbedRecordWithMedia! cursor: String! } enum AppBskyEmbedRecordWithMediaGroupByField { indexedAt media record } input AppBskyEmbedRecordWithMediaGroupByFieldInput { field: AppBskyEmbedRecordWithMediaGroupByField! interval: DateInterval } input AppBskyEmbedRecordWithMediaInput { media: JSON! record: JSON! } input AppBskyEmbedRecordWithMediaSortFieldInput { field: AppBskyEmbedRecordWithMediaGroupByField! direction: SortDirection } input AppBskyEmbedRecordWithMediaWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter media: StringFilter record: StringFilter json: StringFilter and: [AppBskyEmbedRecordWithMediaWhereInput] or: [AppBskyEmbedRecordWithMediaWhereInput] } type AppBskyEmbedVideo { id: ID! uri: String! cid: String! did: String! indexedAt: String! actorHandle: String alt: String aspectRatio: AppBskyEmbedDefsAspectRatio captions: [AppBskyEmbedVideoCaption] video: Blob appBskyActorProfile: AppBskyActorProfile appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type AppBskyEmbedVideoAggregated { alt: JSON aspectRatio: JSON captions: JSON video: JSON count: Int! } type AppBskyEmbedVideoCaption { file: Blob lang: String } type AppBskyEmbedVideoConnection { totalCount: Int! pageInfo: PageInfo! edges: [AppBskyEmbedVideoEdge!]! nodes: [AppBskyEmbedVideo!]! } type AppBskyEmbedVideoEdge { node: AppBskyEmbedVideo! cursor: String! } enum AppBskyEmbedVideoGroupByField { indexedAt alt aspectRatio captions video } input AppBskyEmbedVideoGroupByFieldInput { field: AppBskyEmbedVideoGroupByField! interval: DateInterval } input AppBskyEmbedVideoInput { alt: String aspectRatio: JSON captions: JSON video: JSON! } input AppBskyEmbedVideoSortFieldInput { field: AppBskyEmbedVideoGroupByField! direction: SortDirection } input AppBskyEmbedVideoWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter alt: StringFilter aspectRatio: StringFilter captions: StringFilter video: StringFilter json: StringFilter and: [AppBskyEmbedVideoWhereInput] or: [AppBskyEmbedVideoWhereInput] } type AppBskyFeedPostgate { id: ID! uri: String! cid: String! did: String! indexedAt: String! actorHandle: String createdAt: String! detachedEmbeddingUris: [String] embeddingRules: JSON post: String! appBskyFeedThreadgate: AppBskyFeedThreadgate appBskyActorProfile: AppBskyActorProfile fmTealAlphaFeedPlay: FmTealAlphaFeedPlay appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type AppBskyFeedPostgateAggregated { createdAt: JSON detachedEmbeddingUris: JSON embeddingRules: JSON post: JSON count: Int! } type AppBskyFeedPostgateConnection { totalCount: Int! pageInfo: PageInfo! edges: [AppBskyFeedPostgateEdge!]! nodes: [AppBskyFeedPostgate!]! } type AppBskyFeedPostgateEdge { node: AppBskyFeedPostgate! cursor: String! } enum AppBskyFeedPostgateGroupByField { indexedAt createdAt detachedEmbeddingUris embeddingRules post } input AppBskyFeedPostgateGroupByFieldInput { field: AppBskyFeedPostgateGroupByField! interval: DateInterval } input AppBskyFeedPostgateInput { createdAt: String! detachedEmbeddingUris: [String] embeddingRules: JSON post: String! } input AppBskyFeedPostgateSortFieldInput { field: AppBskyFeedPostgateGroupByField! direction: SortDirection } input AppBskyFeedPostgateWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter createdAt: StringFilter detachedEmbeddingUris: StringFilter embeddingRules: StringFilter post: StringFilter json: StringFilter and: [AppBskyFeedPostgateWhereInput] or: [AppBskyFeedPostgateWhereInput] } type AppBskyFeedThreadgate { id: ID! uri: String! cid: String! did: String! indexedAt: String! actorHandle: String allow: JSON createdAt: String! hiddenReplies: [String] post: String! appBskyFeedPostgate: AppBskyFeedPostgate appBskyActorProfile: AppBskyActorProfile fmTealAlphaFeedPlay: FmTealAlphaFeedPlay appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type AppBskyFeedThreadgateAggregated { allow: JSON createdAt: JSON hiddenReplies: JSON post: JSON count: Int! } type AppBskyFeedThreadgateConnection { totalCount: Int! pageInfo: PageInfo! edges: [AppBskyFeedThreadgateEdge!]! nodes: [AppBskyFeedThreadgate!]! } type AppBskyFeedThreadgateEdge { node: AppBskyFeedThreadgate! cursor: String! } enum AppBskyFeedThreadgateGroupByField { indexedAt allow createdAt hiddenReplies post } input AppBskyFeedThreadgateGroupByFieldInput { field: AppBskyFeedThreadgateGroupByField! interval: DateInterval } input AppBskyFeedThreadgateInput { allow: JSON createdAt: String! hiddenReplies: [String] post: String! } input AppBskyFeedThreadgateSortFieldInput { field: AppBskyFeedThreadgateGroupByField! direction: SortDirection } input AppBskyFeedThreadgateWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter allow: StringFilter createdAt: StringFilter hiddenReplies: StringFilter post: StringFilter json: StringFilter and: [AppBskyFeedThreadgateWhereInput] or: [AppBskyFeedThreadgateWhereInput] } type AppBskyRichtextFacet { id: ID! uri: String! cid: String! did: String! indexedAt: String! actorHandle: String features: JSON! index: AppBskyRichtextFacetByteSlice! appBskyActorProfile: AppBskyActorProfile appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type AppBskyRichtextFacetAggregated { features: JSON index: JSON count: Int! } type AppBskyRichtextFacetByteSlice { byteEnd: Int byteStart: Int } type AppBskyRichtextFacetConnection { totalCount: Int! pageInfo: PageInfo! edges: [AppBskyRichtextFacetEdge!]! nodes: [AppBskyRichtextFacet!]! } type AppBskyRichtextFacetEdge { node: AppBskyRichtextFacet! cursor: String! } enum AppBskyRichtextFacetGroupByField { indexedAt features index } input AppBskyRichtextFacetGroupByFieldInput { field: AppBskyRichtextFacetGroupByField! interval: DateInterval } input AppBskyRichtextFacetInput { features: JSON! index: JSON! } input AppBskyRichtextFacetSortFieldInput { field: AppBskyRichtextFacetGroupByField! direction: SortDirection } input AppBskyRichtextFacetWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter features: StringFilter index: StringFilter json: StringFilter and: [AppBskyRichtextFacetWhereInput] or: [AppBskyRichtextFacetWhereInput] } type Blob { ref: String! mimeType: String! size: Int! """ Generate CDN URL for the blob with the specified preset (avatar, banner, feed_thumbnail, feed_fullsize) """ url(preset: String): String! } type BlobUploadResponse { blob: Blob! } type CollectionSummary { collection: String! estimatedRepos: Int! isExternal: Boolean! } type ComAtprotoRepoStrongRef { id: ID! did: String! indexedAt: String! actorHandle: String cid: String! uri: String! appBskyFeedPostgate: AppBskyFeedPostgate appBskyFeedThreadgate: AppBskyFeedThreadgate appBskyActorProfile: AppBskyActorProfile fmTealAlphaFeedPlay: FmTealAlphaFeedPlay appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type ComAtprotoRepoStrongRefAggregated { cid: JSON uri: JSON count: Int! } type ComAtprotoRepoStrongRefConnection { totalCount: Int! pageInfo: PageInfo! edges: [ComAtprotoRepoStrongRefEdge!]! nodes: [ComAtprotoRepoStrongRef!]! } type ComAtprotoRepoStrongRefEdge { node: ComAtprotoRepoStrongRef! cursor: String! } enum ComAtprotoRepoStrongRefGroupByField { indexedAt cid uri } input ComAtprotoRepoStrongRefGroupByFieldInput { field: ComAtprotoRepoStrongRefGroupByField! interval: DateInterval } input ComAtprotoRepoStrongRefInput { cid: String! uri: String! } input ComAtprotoRepoStrongRefSortFieldInput { field: ComAtprotoRepoStrongRefGroupByField! direction: SortDirection } input ComAtprotoRepoStrongRefWhereInput { indexedAt: DateTimeFilter did: StringFilter collection: StringFilter actorHandle: StringFilter cid: StringFilter uri: StringFilter json: StringFilter and: [ComAtprotoRepoStrongRefWhereInput] or: [ComAtprotoRepoStrongRefWhereInput] } enum DateInterval { second minute hour day week month quarter year } input DateTimeFilter { eq: String gt: String gte: String lt: String lte: String } type DeleteSliceRecordsOutput { message: String! recordsDeleted: Int! actorsDeleted: Int! } type FmTealAlphaFeedDefsArtist { artistMbId: String artistName: String } type FmTealAlphaFeedPlay { id: ID! uri: String! cid: String! did: String! indexedAt: String! actorHandle: String artistMbIds: [String] artistNames: [String] artists: [FmTealAlphaFeedDefsArtist] duration: Int isrc: String musicServiceBaseDomain: String originUrl: String playedTime: String recordingMbId: String releaseMbId: String releaseName: String submissionClientAgent: String trackMbId: String trackName: String! appBskyActorProfile: AppBskyActorProfile appBskyFeedPostgates(limit: Int): [AppBskyFeedPostgate!]! appBskyFeedPostgatesCount: Int! appBskyFeedThreadgates(limit: Int): [AppBskyFeedThreadgate!]! appBskyFeedThreadgatesCount: Int! appBskyActorProfiles(limit: Int): [AppBskyActorProfile!]! appBskyActorProfilesCount: Int! fmTealAlphaFeedPlays(limit: Int): [FmTealAlphaFeedPlay!]! fmTealAlphaFeedPlaysCount: Int! } type FmTealAlphaFeedPlayAggregated { artistMbIds: JSON artistNames: JSON artists: JSON duration: JSON isrc: JSON musicServiceBaseDomain: JSON originUrl: JSON playedTime: JSON recordingMbId: JSON releaseMbId: JSON releaseName: JSON submissionClientAgent: JSON trackMbId: JSON trackName: JSON count: Int! } type FmTealAlphaFeedPlayConnection { totalCount: Int! pageInfo: PageInfo! edges: [FmTealAlphaFeedPlayEdge!]! nodes: [FmTealAlphaFeedPlay!]! } type FmTealAlphaFeedPlayEdge { node: FmTealAlphaFeedPlay! cursor: String! } enum FmTealAlphaFeedPlayGroupByField { indexedAt artistMbIds artistNames artists duration isrc musicServiceBaseDomain originUrl playedTime recordingMbId releaseMbId releaseName submissionClientAgent trackMbId trackName } input FmTealAlphaFeedPlayGroupByFieldInput { field: FmTealAlphaFeedPlayGroupByField! interval: DateInterval } input FmTealAlphaFeedPlayInput { artistMbIds: [String] artistNames: [String] artists: JSON duration: Int isrc: String musicServiceBaseDomain: String originUrl: String playedTime: String recordingMbId: String releaseMbId: String releaseName: String submissionClientAgent: String trackMbId: String trackName: String! } input FmTealAlphaFeedPlaySortFieldInput { field: FmTealAlphaFeedPlayGroupByField! direction: SortDirection } input FmTealAlphaFeedPlayWhereInput { indexedAt: DateTimeFilter uri: StringFilter cid: StringFilter did: StringFilter collection: StringFilter actorHandle: StringFilter artistMbIds: StringFilter artistNames: StringFilter artists: StringFilter duration: IntFilter isrc: StringFilter musicServiceBaseDomain: StringFilter originUrl: StringFilter playedTime: StringFilter recordingMbId: StringFilter releaseMbId: StringFilter releaseName: StringFilter submissionClientAgent: StringFilter trackMbId: StringFilter trackName: StringFilter json: StringFilter and: [FmTealAlphaFeedPlayWhereInput] or: [FmTealAlphaFeedPlayWhereInput] } input IntFilter { eq: Int in: [Int] gt: Int gte: Int lt: Int lte: Int } type JetstreamLogEntry { id: String! createdAt: String! logType: String! jobId: String userDid: String sliceUri: String level: String! message: String! metadata: JSON } scalar JSON type Mutation { """Sync user collections for a given DID""" syncUserCollections(did: String!): SyncResult! """Create a new app.bsky.embed.record record""" createAppBskyEmbedRecord(input: AppBskyEmbedRecordInput!, rkey: String): AppBskyEmbedRecord! """Update a app.bsky.embed.record record""" updateAppBskyEmbedRecord(rkey: String!, input: AppBskyEmbedRecordInput!): AppBskyEmbedRecord! """Delete a app.bsky.embed.record record""" deleteAppBskyEmbedRecord(rkey: String!): AppBskyEmbedRecord! """Create a new app.bsky.embed.images record""" createAppBskyEmbedImages(input: AppBskyEmbedImagesInput!, rkey: String): AppBskyEmbedImages! """Update a app.bsky.embed.images record""" updateAppBskyEmbedImages(rkey: String!, input: AppBskyEmbedImagesInput!): AppBskyEmbedImages! """Delete a app.bsky.embed.images record""" deleteAppBskyEmbedImages(rkey: String!): AppBskyEmbedImages! """Create a new app.bsky.embed.recordWithMedia record""" createAppBskyEmbedRecordWithMedia(input: AppBskyEmbedRecordWithMediaInput!, rkey: String): AppBskyEmbedRecordWithMedia! """Update a app.bsky.embed.recordWithMedia record""" updateAppBskyEmbedRecordWithMedia(rkey: String!, input: AppBskyEmbedRecordWithMediaInput!): AppBskyEmbedRecordWithMedia! """Delete a app.bsky.embed.recordWithMedia record""" deleteAppBskyEmbedRecordWithMedia(rkey: String!): AppBskyEmbedRecordWithMedia! """Create a new app.bsky.embed.video record""" createAppBskyEmbedVideo(input: AppBskyEmbedVideoInput!, rkey: String): AppBskyEmbedVideo! """Update a app.bsky.embed.video record""" updateAppBskyEmbedVideo(rkey: String!, input: AppBskyEmbedVideoInput!): AppBskyEmbedVideo! """Delete a app.bsky.embed.video record""" deleteAppBskyEmbedVideo(rkey: String!): AppBskyEmbedVideo! """Create a new app.bsky.embed.external record""" createAppBskyEmbedExternal(input: AppBskyEmbedExternalInput!, rkey: String): AppBskyEmbedExternal! """Update a app.bsky.embed.external record""" updateAppBskyEmbedExternal(rkey: String!, input: AppBskyEmbedExternalInput!): AppBskyEmbedExternal! """Delete a app.bsky.embed.external record""" deleteAppBskyEmbedExternal(rkey: String!): AppBskyEmbedExternal! """Create a new app.bsky.feed.postgate record""" createAppBskyFeedPostgate(input: AppBskyFeedPostgateInput!, rkey: String): AppBskyFeedPostgate! """Update a app.bsky.feed.postgate record""" updateAppBskyFeedPostgate(rkey: String!, input: AppBskyFeedPostgateInput!): AppBskyFeedPostgate! """Delete a app.bsky.feed.postgate record""" deleteAppBskyFeedPostgate(rkey: String!): AppBskyFeedPostgate! """Create a new app.bsky.feed.threadgate record""" createAppBskyFeedThreadgate(input: AppBskyFeedThreadgateInput!, rkey: String): AppBskyFeedThreadgate! """Update a app.bsky.feed.threadgate record""" updateAppBskyFeedThreadgate(rkey: String!, input: AppBskyFeedThreadgateInput!): AppBskyFeedThreadgate! """Delete a app.bsky.feed.threadgate record""" deleteAppBskyFeedThreadgate(rkey: String!): AppBskyFeedThreadgate! """Create a new app.bsky.richtext.facet record""" createAppBskyRichtextFacet(input: AppBskyRichtextFacetInput!, rkey: String): AppBskyRichtextFacet! """Update a app.bsky.richtext.facet record""" updateAppBskyRichtextFacet(rkey: String!, input: AppBskyRichtextFacetInput!): AppBskyRichtextFacet! """Delete a app.bsky.richtext.facet record""" deleteAppBskyRichtextFacet(rkey: String!): AppBskyRichtextFacet! """Create a new app.bsky.actor.profile record""" createAppBskyActorProfile(input: AppBskyActorProfileInput!, rkey: String): AppBskyActorProfile! """Update a app.bsky.actor.profile record""" updateAppBskyActorProfile(rkey: String!, input: AppBskyActorProfileInput!): AppBskyActorProfile! """Delete a app.bsky.actor.profile record""" deleteAppBskyActorProfile(rkey: String!): AppBskyActorProfile! """Create a new com.atproto.repo.strongRef record""" createComAtprotoRepoStrongRef(input: ComAtprotoRepoStrongRefInput!, rkey: String): ComAtprotoRepoStrongRef! """Update a com.atproto.repo.strongRef record""" updateComAtprotoRepoStrongRef(rkey: String!, input: ComAtprotoRepoStrongRefInput!): ComAtprotoRepoStrongRef! """Delete a com.atproto.repo.strongRef record""" deleteComAtprotoRepoStrongRef(rkey: String!): ComAtprotoRepoStrongRef! """Create a new fm.teal.alpha.feed.play record""" createFmTealAlphaFeedPlay(input: FmTealAlphaFeedPlayInput!, rkey: String): FmTealAlphaFeedPlay! """Update a fm.teal.alpha.feed.play record""" updateFmTealAlphaFeedPlay(rkey: String!, input: FmTealAlphaFeedPlayInput!): FmTealAlphaFeedPlay! """Delete a fm.teal.alpha.feed.play record""" deleteFmTealAlphaFeedPlay(rkey: String!): FmTealAlphaFeedPlay! """Start a sync job to backfill collections from the ATProto relay""" startSync(slice: String, collections: [String], externalCollections: [String], repos: [String], limitPerRepo: Int, skipValidation: Boolean, maxRepos: Int): StartSyncOutput! """Cancel a pending or running sync job""" cancelJob(jobId: String!): Boolean! """Delete a sync job from the database""" deleteJob(id: ID!): ID """Upload a blob to the user's AT Protocol repository""" uploadBlob(data: String!, mimeType: String!): BlobUploadResponse! """Register a new OAuth client for a slice""" createOAuthClient(sliceUri: String!, clientName: String!, redirectUris: [String!]!, scope: String!, clientUri: String, logoUri: String, tosUri: String, policyUri: String): OAuthClient! """Update an OAuth client""" updateOAuthClient(clientId: String!, clientName: String, redirectUris: [String], scope: String, clientUri: String, logoUri: String, tosUri: String, policyUri: String): OAuthClient! """Delete an OAuth client""" deleteOAuthClient(clientId: String!): Boolean! """ Delete all records and actors from a slice index. Requires authentication and slice ownership. """ deleteSliceRecords(slice: String): DeleteSliceRecordsOutput! } type OAuthClient { clientId: String! clientSecret: String clientName: String! redirectUris: [String!]! grantTypes: [String!]! responseTypes: [String!]! scope: String clientUri: String logoUri: String tosUri: String policyUri: String createdAt: String! createdByDid: String! } type PageInfo { hasNextPage: Boolean! hasPreviousPage: Boolean! startCursor: String endCursor: String } type Query { """Query app.bsky.embed.record records""" appBskyEmbedRecords(first: Int, after: String, last: Int, before: String, sortBy: [AppBskyEmbedRecordSortFieldInput], where: AppBskyEmbedRecordWhereInput): AppBskyEmbedRecordConnection! """ Aggregated query for app.bsky.embed.record records with GROUP BY support """ appBskyEmbedRecordsAggregated(groupBy: [AppBskyEmbedRecordGroupByFieldInput!], where: AppBskyEmbedRecordWhereInput, orderBy: AggregationOrderBy, limit: Int): [AppBskyEmbedRecordAggregated!]! """Query app.bsky.embed.images records""" appBskyEmbedImageses(first: Int, after: String, last: Int, before: String, sortBy: [AppBskyEmbedImagesSortFieldInput], where: AppBskyEmbedImagesWhereInput): AppBskyEmbedImagesConnection! """ Aggregated query for app.bsky.embed.images records with GROUP BY support """ appBskyEmbedImagesesAggregated(groupBy: [AppBskyEmbedImagesGroupByFieldInput!], where: AppBskyEmbedImagesWhereInput, orderBy: AggregationOrderBy, limit: Int): [AppBskyEmbedImagesAggregated!]! """Query app.bsky.embed.recordWithMedia records""" appBskyEmbedRecordWithMedias(first: Int, after: String, last: Int, before: String, sortBy: [AppBskyEmbedRecordWithMediaSortFieldInput], where: AppBskyEmbedRecordWithMediaWhereInput): AppBskyEmbedRecordWithMediaConnection! """ Aggregated query for app.bsky.embed.recordWithMedia records with GROUP BY support """ appBskyEmbedRecordWithMediasAggregated(groupBy: [AppBskyEmbedRecordWithMediaGroupByFieldInput!], where: AppBskyEmbedRecordWithMediaWhereInput, orderBy: AggregationOrderBy, limit: Int): [AppBskyEmbedRecordWithMediaAggregated!]! """Query app.bsky.embed.video records""" appBskyEmbedVideos(first: Int, after: String, last: Int, before: String, sortBy: [AppBskyEmbedVideoSortFieldInput], where: AppBskyEmbedVideoWhereInput): AppBskyEmbedVideoConnection! """ Aggregated query for app.bsky.embed.video records with GROUP BY support """ appBskyEmbedVideosAggregated(groupBy: [AppBskyEmbedVideoGroupByFieldInput!], where: AppBskyEmbedVideoWhereInput, orderBy: AggregationOrderBy, limit: Int): [AppBskyEmbedVideoAggregated!]! """Query app.bsky.embed.external records""" appBskyEmbedExternals(first: Int, after: String, last: Int, before: String, sortBy: [AppBskyEmbedExternalSortFieldInput], where: AppBskyEmbedExternalWhereInput): AppBskyEmbedExternalConnection! """ Aggregated query for app.bsky.embed.external records with GROUP BY support """ appBskyEmbedExternalsAggregated(groupBy: [AppBskyEmbedExternalGroupByFieldInput!], where: AppBskyEmbedExternalWhereInput, orderBy: AggregationOrderBy, limit: Int): [AppBskyEmbedExternalAggregated!]! """Query app.bsky.feed.postgate records""" appBskyFeedPostgates(first: Int, after: String, last: Int, before: String, sortBy: [AppBskyFeedPostgateSortFieldInput], where: AppBskyFeedPostgateWhereInput): AppBskyFeedPostgateConnection! """ Aggregated query for app.bsky.feed.postgate records with GROUP BY support """ appBskyFeedPostgatesAggregated(groupBy: [AppBskyFeedPostgateGroupByFieldInput!], where: AppBskyFeedPostgateWhereInput, orderBy: AggregationOrderBy, limit: Int): [AppBskyFeedPostgateAggregated!]! """Query app.bsky.feed.threadgate records""" appBskyFeedThreadgates(first: Int, after: String, last: Int, before: String, sortBy: [AppBskyFeedThreadgateSortFieldInput], where: AppBskyFeedThreadgateWhereInput): AppBskyFeedThreadgateConnection! """ Aggregated query for app.bsky.feed.threadgate records with GROUP BY support """ appBskyFeedThreadgatesAggregated(groupBy: [AppBskyFeedThreadgateGroupByFieldInput!], where: AppBskyFeedThreadgateWhereInput, orderBy: AggregationOrderBy, limit: Int): [AppBskyFeedThreadgateAggregated!]! """Query app.bsky.richtext.facet records""" appBskyRichtextFacets(first: Int, after: String, last: Int, before: String, sortBy: [AppBskyRichtextFacetSortFieldInput], where: AppBskyRichtextFacetWhereInput): AppBskyRichtextFacetConnection! """ Aggregated query for app.bsky.richtext.facet records with GROUP BY support """ appBskyRichtextFacetsAggregated(groupBy: [AppBskyRichtextFacetGroupByFieldInput!], where: AppBskyRichtextFacetWhereInput, orderBy: AggregationOrderBy, limit: Int): [AppBskyRichtextFacetAggregated!]! """Query app.bsky.actor.profile records""" appBskyActorProfiles(first: Int, after: String, last: Int, before: String, sortBy: [AppBskyActorProfileSortFieldInput], where: AppBskyActorProfileWhereInput): AppBskyActorProfileConnection! """ Aggregated query for app.bsky.actor.profile records with GROUP BY support """ appBskyActorProfilesAggregated(groupBy: [AppBskyActorProfileGroupByFieldInput!], where: AppBskyActorProfileWhereInput, orderBy: AggregationOrderBy, limit: Int): [AppBskyActorProfileAggregated!]! """Query com.atproto.repo.strongRef records""" comAtprotoRepoStrongRefs(first: Int, after: String, last: Int, before: String, sortBy: [ComAtprotoRepoStrongRefSortFieldInput], where: ComAtprotoRepoStrongRefWhereInput): ComAtprotoRepoStrongRefConnection! """ Aggregated query for com.atproto.repo.strongRef records with GROUP BY support """ comAtprotoRepoStrongRefsAggregated(groupBy: [ComAtprotoRepoStrongRefGroupByFieldInput!], where: ComAtprotoRepoStrongRefWhereInput, orderBy: AggregationOrderBy, limit: Int): [ComAtprotoRepoStrongRefAggregated!]! """Query fm.teal.alpha.feed.play records""" fmTealAlphaFeedPlays(first: Int, after: String, last: Int, before: String, sortBy: [FmTealAlphaFeedPlaySortFieldInput], where: FmTealAlphaFeedPlayWhereInput): FmTealAlphaFeedPlayConnection! """ Aggregated query for fm.teal.alpha.feed.play records with GROUP BY support """ fmTealAlphaFeedPlaysAggregated(groupBy: [FmTealAlphaFeedPlayGroupByFieldInput!], where: FmTealAlphaFeedPlayWhereInput, orderBy: AggregationOrderBy, limit: Int): [FmTealAlphaFeedPlayAggregated!]! """ Get logs from the Jetstream real-time indexing service, optionally filtered by slice """ jetstreamLogs(slice: String, limit: Int): [JetstreamLogEntry!]! """Get status of a specific sync job""" syncJob(jobId: String!): SyncJob """Get sync job history for a slice""" syncJobs(slice: String, limit: Int): [SyncJob!]! """Get logs for a specific sync job""" syncJobLogs(jobId: String!, limit: Int): [JetstreamLogEntry!]! """Get summary of repos that would be synced based on collection filters""" getSyncSummary(slice: String!, collections: [String], externalCollections: [String], repos: [String]): SyncSummary! """ Get sparkline data for multiple slices showing record indexing activity over time """ sparklines(slices: [String!]!, interval: String, duration: String): [SliceSparkline!]! """ Query records across all collections in a slice with filtering and pagination. Provide either sliceUri or both actorHandle and rkey. """ sliceRecords(sliceUri: String, actorHandle: String, rkey: String, first: Int, after: String, where: SliceRecordsWhereInput): SliceRecordsConnection! """Get all OAuth clients for a slice""" oauthClients(slice: String): [OAuthClient!]! } type SliceRecord { uri: String! cid: String! did: String! collection: String! value: String! indexedAt: String! } type SliceRecordEdge { node: SliceRecord! cursor: String! } type SliceRecordsConnection { totalCount: Int! edges: [SliceRecordEdge!]! pageInfo: PageInfo! } input SliceRecordsWhereInput { collection: StringFilter did: StringFilter uri: StringFilter cid: StringFilter indexedAt: DateTimeFilter json: StringFilter or: [SliceRecordsWhereInput] } type SliceSparkline { sliceUri: String! points: [SparklinePoint!]! } enum SortDirection { asc desc } type SparklinePoint { timestamp: String! count: Int! } type StartSyncOutput { jobId: String! message: String! } input StringFilter { eq: String in: [String] contains: String fuzzy: String gt: String gte: String lt: String lte: String } type Subscription { """Subscribe to app.bsky.feed.postgate record creation events""" appBskyFeedPostgateCreated: AppBskyFeedPostgate! """Subscribe to app.bsky.feed.postgate record update events""" appBskyFeedPostgateUpdated: AppBskyFeedPostgate! """ Subscribe to app.bsky.feed.postgate record deletion events. Returns the URI of deleted records. """ appBskyFeedPostgateDeleted: String! """Subscribe to app.bsky.feed.threadgate record creation events""" appBskyFeedThreadgateCreated: AppBskyFeedThreadgate! """Subscribe to app.bsky.feed.threadgate record update events""" appBskyFeedThreadgateUpdated: AppBskyFeedThreadgate! """ Subscribe to app.bsky.feed.threadgate record deletion events. Returns the URI of deleted records. """ appBskyFeedThreadgateDeleted: String! """Subscribe to app.bsky.actor.profile record creation events""" appBskyActorProfileCreated: AppBskyActorProfile! """Subscribe to app.bsky.actor.profile record update events""" appBskyActorProfileUpdated: AppBskyActorProfile! """ Subscribe to app.bsky.actor.profile record deletion events. Returns the URI of deleted records. """ appBskyActorProfileDeleted: String! """Subscribe to fm.teal.alpha.feed.play record creation events""" fmTealAlphaFeedPlayCreated: FmTealAlphaFeedPlay! """Subscribe to fm.teal.alpha.feed.play record update events""" fmTealAlphaFeedPlayUpdated: FmTealAlphaFeedPlay! """ Subscribe to fm.teal.alpha.feed.play record deletion events. Returns the URI of deleted records. """ fmTealAlphaFeedPlayDeleted: String! """Subscribe to new Jetstream log entries, optionally filtered by slice""" jetstreamLogsCreated(slice: String): JetstreamLogEntry! """Subscribe to sync job status updates""" syncJobUpdated(jobId: String, slice: String): SyncJob! } type SyncJob { id: ID! jobId: String! sliceUri: String! status: String! createdAt: String! startedAt: String completedAt: String result: SyncJobResult error: String retryCount: Int! } type SyncJobResult { success: Boolean! totalRecords: Int! collectionsSynced: [String!]! reposProcessed: Int! message: String! } type SyncResult { success: Boolean! reposProcessed: Int! recordsSynced: Int! timedOut: Boolean! message: String! } type SyncSummary { totalRepos: Int! cappedRepos: Int! wouldBeCapped: Boolean! appliedLimit: Int! collectionsSummary: [CollectionSummary!]! }