interface

RiduClient

The complete typed REST client for schema, auth, access, content, uploads, versions, globals, preview, and preferences.

Properties

PropertyTypeDescription
adminLoad(key: string, route: string, options?: RequestOptions) => Promise<unknown>Compiled admin read for a router-root pathname + search (without the admin basename).
adminCollectionList(collection: string, query: string, part: "page" | "counts", options?: RequestOptions) => Promise<AdminCollectionListDataV1>Framework list read model, also used for initial route preparation.
schema(options?: RequestOptions) => Promise<SchemaManifest>The schema value.
request(path: string, init?: RequestInit, options?: RequestOptions) => Promise<Response>The request value.
requestPlugin<Result = unknown>(plugin: string, path: string, body: unknown, options?: RequestOptions) => Promise<Result>The requestPlugin value.
auth{ readonly session: SessionFor<Config, SessionCollection<Config, DefaultAuth>> | null; login: <Slug>(credentials: LoginInput<DefaultAuth, Slug>, options?: RequestOptions) => Promise<SessionFor<Config, Slug>>; getSession: (options?: RequestOptions) => Promise<SessionFor<Config, SessionCollection<Config, DefaultAuth>> | null>; rotate: (options?: RequestOptions) => Promise<SessionFor<Config, SessionCollection<Config, DefaultAuth>>>; logout: (options?: RequestOptions) => Promise<LogoutEnvelope>; logoutAll: (options?: RequestOptions) => Promise<LogoutEnvelope>; sessions: (options?: RequestOptions) => Promise<AuthSessionInfo[]>; revokeSession: (id: string, options?: RequestOptions) => Promise<DeleteEnvelope>; changePassword: (input: { currentPassword: string; password: string; }, options?: RequestOptions) => Promise<AuthActionEnvelope>; createUser: { <Slug>(input: [Slug] extends [never] ? never : { data: DraftCreateFor<Config, Slug>; password: string; } & AuthCollectionInput<DefaultAuth, Slug>, options?: (MutationLocaleOptions<LocaleFor<Config>> & { draft?: boolean; } & { draft?: true; }) | undefined): Promise<OutputFor<Config, Slug>>; <Slug>(input: { data: CreateFor<Config, Slug>; password: string; } & AuthCollectionInput<DefaultAuth, Slug>, options?: CreateOptions<LocaleFor<Config>, CollectionVersionsFor<Config, Slug>, CollectionDraftsFor<Config, Slug>> | undefined): Promise<OutputFor<Config, Slug>>; }; bootstrap: <Slug>(input: AuthCollectionInput<DefaultAuth, Slug>, options?: RequestOptions) => Promise<AuthBootstrapEnvelope>; requestPasswordReset: <Slug>(input: { email: string; } & AuthCollectionInput<DefaultAuth, Slug>, options?: RequestOptions) => Promise<AuthActionEnvelope>; resetPassword: <Slug>(input: { token: string; password: string; } & AuthCollectionInput<DefaultAuth, Slug>, options?: RequestOptions) => Promise<AuthActionEnvelope>; requestVerification: <Slug>(input: { email: string; } & AuthCollectionInput<DefaultAuth, Slug>, options?: RequestOptions) => Promise<AuthActionEnvelope>; verifyEmail: <Slug>(input: { token: string; } & AuthCollectionInput<DefaultAuth, Slug>, options?: RequestOptions) => Promise<AuthActionEnvelope>; forceUnlock: <Slug>(input: { id: string; } & AuthCollectionInput<DefaultAuth, Slug>, options?: RequestOptions) => Promise<AuthActionEnvelope>; createAPIKey: (input: CreateAPIKeyInput, options?: RequestOptions) => Promise<APIKey>; apiKeys: (options?: RequestOptions) => Promise<APIKeyInfo[]>; revokeAPIKey: (id: string, options?: RequestOptions) => Promise<DeleteEnvelope>; }Authentication, session, and account operations; see RiduAuth. The mapped copy keeps clients comparable member by member, so an exact generated client still fits a wider contract such as the admin's.
baseURLstringNormalized Ridu origin used for every request and returned upload URL.
getUploadURL<Slug extends UploadCollectionSlug<Config>>(collection: Slug, id: string, options?: UploadURLOptions) => Promise<UploadURL>Create a short-lived delivery URL for a private upload. Use it where the browser cannot send an Authorization header, such as <img src>. The URL never contains the session token and stops working when the session ends or read access is lost.
getUploadURLs<Slug extends UploadCollectionSlug<Config>>(collection: Slug, items: readonly (string | { id: string; size?: string; })[], options?: Omit<UploadURLOptions, "size">) => Promise<UploadURL[]>Create delivery URLs for up to 100 uploads in one request, returned in input order.
preference<Value = unknown>(key: string, options?: RequestOptions) => Promise<Value>The preference value.
setPreference<Value>(key: string, value: Value, options?: RequestOptions) => Promise<Value>The setPreference value.
deletePreference(key: string, options?: RequestOptions) => Promise<DeleteEnvelope>The deletePreference value.
resetPreferences(options?: RequestOptions) => Promise<AuthActionEnvelope>The resetPreferences value.
collectionLiveValidation<Slug extends CollectionSlug<Config>>(collection: Slug, input: LiveValidationRequest, options?: LiveValidationOptions<LocaleFor<Config>>) => Promise<LiveValidationEnvelope>Evaluate only explicitly opted-in advisory validators, independently of Save.
globalLiveValidation<Slug extends GlobalSlug<Config>>(slug: Slug, input: Omit<LiveValidationRequest, "id"> & { id?: never; }, options?: LiveValidationOptions<LocaleFor<Config>>) => Promise<LiveValidationEnvelope>Evaluate advisory validators for one global's unsaved input.
collectionAccess<Slug extends CollectionSlug<Config>>(collection: Slug, options?: CollectionAccessOptions<CreateFor<Config, Slug> & UpdateFor<Config, Slug>, LocaleFor<Config>>) => Promise<AccessCapabilitiesEnvelope>The collectionAccess value.
resolveFilteredSelection<Slug extends CollectionSlug<Config>>(collection: Slug, options?: CollectionSelectionOptions<WhereFor<Config, Slug>, LocaleFor<Config>>) => Promise<CollectionSelectionEnvelope>The resolveFilteredSelection value.
documentLock<Slug extends CollectionSlug<Config>>(collection: Slug, id: string, options?: RequestOptions) => Promise<DocumentLockEnvelope>The documentLock value.
acquireDocumentLock<Slug extends CollectionSlug<Config>>(collection: Slug, id: string, takeover?: boolean, options?: RequestOptions) => Promise<DocumentLockEnvelope>The acquireDocumentLock value.
releaseDocumentLock<Slug extends CollectionSlug<Config>>(collection: Slug, id: string, options?: RequestOptions) => Promise<DeleteEnvelope>The releaseDocumentLock value.
globalAccess<Slug extends GlobalSlug<Config>>(slug: Slug, options?: GlobalAccessOptions<GlobalUpdateFor<Config, Slug>, LocaleFor<Config>>) => Promise<AccessCapabilitiesEnvelope>The globalAccess value.
createPreviewToken<Slug extends DraftCollectionSlug<Config>>(collection: Slug, id: string, options?: RequestOptions) => Promise<PreviewToken>The createPreviewToken value.
revokePreviewToken(token: string, options?: RequestOptions) => Promise<AuthActionEnvelope>The revokePreviewToken value.
preview<Slug extends DraftCollectionSlug<Config>>(collection: Slug, id: string, token: string, options?: RequestOptions) => Promise<OutputFor<Config, Slug>>The preview value.
createGlobalPreviewToken<Slug extends DraftGlobalSlug<Config>>(slug: Slug, options?: RequestOptions) => Promise<PreviewToken>The createGlobalPreviewToken value.
previewGlobal<Slug extends DraftGlobalSlug<Config>>(slug: Slug, token: string, options?: RequestOptions) => Promise<GlobalOutputFor<Config, Slug>>The previewGlobal value.
list<Slug extends CollectionSlug<Config>, const Options extends ListOptions<WhereFor<Config, Slug>, SelectFor<Config, Slug>, PopulateFor<Config, Slug>, LocaleFor<Config>, CollectionDraftsFor<Config, Slug>> | undefined = undefined>(collection: Slug, options?: Options) => Promise<CollectionListResult<CollectionQueryResult<Config, Slug, Options>, Options>>The list value.
count<Slug extends CollectionSlug<Config>>(collection: Slug, options?: Pick<ListOptions<WhereFor<Config, Slug>, never, never, LocaleFor<Config>>, "where" | "trash" | "locale" | "fallbackLocale" | "signal" | "headers">) => Promise<CountEnvelope>The count value.
find<Slug extends CollectionSlug<Config>, const Options extends FindOptions<SelectFor<Config, Slug>, PopulateFor<Config, Slug>, LocaleFor<Config>, CollectionDraftsFor<Config, Slug>> | undefined = undefined>(collection: Slug, id: string, options?: Options) => Promise<CollectionQueryResult<Config, Slug, Options>>The find value.
create{ <Slug extends DraftCollectionSlug<Config>>(collection: Slug, data: DraftCreateFor<Config, Slug>, options?: CreateOptions<LocaleFor<Config>, true, true> & { draft?: true; }): Promise<OutputFor<Config, Slug>>; <Slug extends CollectionSlug<Config>>(collection: Slug, data: CreateFor<Config, Slug>, options?: CreateOptions<LocaleFor<Config>, CollectionVersionsFor<Config, Slug>, CollectionDraftsFor<Config, Slug>>): Promise<OutputFor<Config, Slug>>; }The create value.
duplicate<Slug extends CollectionSlug<Config>>(collection: Slug, id: string, overrides?: Partial<Omit<CreateFor<Config, Slug>, "id">>, options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>>The duplicate value.
copyLocale<Slug extends CollectionSlug<Config>>(collection: Slug, id: string, input: CopyLocaleInput<LocaleFor<Config>>, options?: RevisionOptions) => Promise<OutputFor<Config, Slug>>The copyLocale value.
update{ <Slug extends DraftCollectionSlug<Config>>(collection: Slug, id: string, data: DraftUpdateFor<Config, Slug>, options: UpdateOptions<LocaleFor<Config>, true> & { draft: true; }): Promise<OutputFor<Config, Slug>>; <Slug extends CollectionSlug<Config>>(collection: Slug, id: string, data: UpdateFor<Config, Slug>, options?: UpdateOptions<LocaleFor<Config>, CollectionDraftsFor<Config, Slug>>): Promise<OutputFor<Config, Slug>>; }The update value.
mutateJoin<Slug extends CollectionSlug<Config>>(collection: Slug, id: string, field: string, input: JoinMutationInput, options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<JoinMutationEnvelope<OutputFor<Config, Slug>>>The mutateJoin value.
delete<Slug extends CollectionSlug<Config>>(collection: Slug, id: string, options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<DeleteEnvelope>The delete value.
bulkUpdate<Slug extends CollectionSlug<Config>>(collection: Slug, ids: readonly string[], data: UpdateFor<Config, Slug>, options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>[]>The bulkUpdate value.
bulkPublish<Slug extends VersionCollectionSlug<Config>>(collection: Slug, ids: readonly string[], options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>[]>The bulkPublish value.
bulkUnpublish<Slug extends DraftCollectionSlug<Config>>(collection: Slug, ids: readonly string[], options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>[]>The bulkUnpublish value.
bulkDelete<Slug extends CollectionSlug<Config>>(collection: Slug, ids: readonly string[], options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>[]>The bulkDelete value.
bulkRestoreDeleted<Slug extends TrashCollectionSlug<Config>>(collection: Slug, ids: readonly string[], options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>[]>The bulkRestoreDeleted value.
bulkDeletePermanent<Slug extends TrashCollectionSlug<Config>>(collection: Slug, ids: readonly string[], options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>[]>The bulkDeletePermanent value.
emptyTrash<Slug extends TrashCollectionSlug<Config>>(collection: Slug, options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>[]>The emptyTrash value.
restoreDeleted<Slug extends TrashCollectionSlug<Config>>(collection: Slug, id: string, options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>>The restoreDeleted value.
deletePermanent<Slug extends TrashCollectionSlug<Config>>(collection: Slug, id: string, options?: MutationLocaleOptions<LocaleFor<Config>>) => Promise<DeleteEnvelope>The deletePermanent value.
upload{ <Slug extends Extract<UploadCollectionSlug<Config>, DraftCollectionSlug<Config>>>(collection: Slug, file: Blob, options?: UploadOptions<DraftCreateFor<Config, Slug>, LocaleFor<Config>, true> & { draft?: true; }): Promise<OutputFor<Config, Slug>>; <Slug extends UploadCollectionSlug<Config>>(collection: Slug, file: Blob, ...args: CompleteUploadArgs<CreateFor<Config, Slug>, LocaleFor<Config>, CollectionDraftsFor<Config, Slug>>): Promise<OutputFor<Config, Slug>>; }The upload value.
uploadFromURL{ <Slug extends Extract<UploadCollectionSlug<Config>, DraftCollectionSlug<Config>>>(collection: Slug, url: string, options?: UploadOptions<DraftCreateFor<Config, Slug>, LocaleFor<Config>, true> & { draft?: true; }): Promise<OutputFor<Config, Slug>>; <Slug extends UploadCollectionSlug<Config>>(collection: Slug, url: string, ...args: CompleteUploadArgs<CreateFor<Config, Slug>, LocaleFor<Config>, CollectionDraftsFor<Config, Slug>>): Promise<OutputFor<Config, Slug>>; }The uploadFromURL value.
updateUpload{ <Slug extends Extract<UploadCollectionSlug<Config>, DraftCollectionSlug<Config>>>(collection: Slug, id: string, input: UpdateUploadInput<DraftUpdateFor<Config, Slug>> & { publish?: false; }, options: UpdateOptions<LocaleFor<Config>, true> & { draft: true; }): Promise<OutputFor<Config, Slug>>; <Slug extends UploadCollectionSlug<Config>>(collection: Slug, id: string, input: UpdateUploadInput<UpdateFor<Config, Slug>>, options?: UpdateOptions<LocaleFor<Config>, CollectionDraftsFor<Config, Slug>>): Promise<OutputFor<Config, Slug>>; }The updateUpload value.
readUploadSource<Slug extends UploadCollectionSlug<Config>>(collection: Slug, id: string, options?: RequestOptions) => Promise<Blob>The readUploadSource value.
previewUploadFromURL<Slug extends UploadCollectionSlug<Config>>(collection: Slug, url: string, options?: RequestOptions & { id?: string; }) => Promise<UploadFile>The previewUploadFromURL value.
versions<Slug extends VersionCollectionSlug<Config>, const Options extends LocaleOptions<LocaleFor<Config>> | undefined = undefined>(collection: Slug, id: string, options?: Options) => Promise<Version<LocaleResult<OutputFor<Config, Slug>, AllLocalesOutputFor<Config, Slug>, Options>>[]>The versions value.
countVersions<Slug extends VersionCollectionSlug<Config>>(collection: Slug, id: string, options?: LocaleOptions<LocaleFor<Config>>) => Promise<CountEnvelope>Count retained versions visible for one collection document.
version<Slug extends VersionCollectionSlug<Config>, const Options extends LocaleOptions<LocaleFor<Config>> | undefined = undefined>(collection: Slug, id: string, revision: number, options?: Options) => Promise<Version<LocaleResult<OutputFor<Config, Slug>, AllLocalesOutputFor<Config, Slug>, Options>>>The version value.
schedulePublish<Slug extends VersionCollectionSlug<Config>>(collection: Slug, id: string, runAt: string | Date, options?: PublicationScheduleOptions) => Promise<ScheduledPublication>The schedulePublish value.
scheduleUnpublish<Slug extends DraftCollectionSlug<Config>>(collection: Slug, id: string, runAt: string | Date, options?: PublicationScheduleOptions) => Promise<ScheduledPublication>Schedule a versioned collection document to unpublish at a future instant.
scheduledPublications<Slug extends VersionCollectionSlug<Config>>(collection: Slug, id: string, options?: RequestOptions) => Promise<ScheduledPublication[]>The scheduledPublications value.
cancelScheduledPublication<Slug extends VersionCollectionSlug<Config>>(collection: Slug, id: string, jobID: string, options?: RequestOptions) => Promise<DeleteEnvelope>The cancelScheduledPublication value.
publish<Slug extends VersionCollectionSlug<Config>>(collection: Slug, id: string, options?: MutationOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>>The publish value.
publishChanges<Slug extends VersionCollectionSlug<Config>>(collection: Slug, id: string, data: UpdateFor<Config, Slug>, options?: MutationOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>>The publishChanges value.
unpublish<Slug extends DraftCollectionSlug<Config>>(collection: Slug, id: string, options?: MutationOptions<LocaleFor<Config>>) => Promise<OutputFor<Config, Slug>>The unpublish value.
discardDraft<Slug extends DraftCollectionSlug<Config>>(collection: Slug, id: string, options: MutationOptions<LocaleFor<Config>> & { revision: number; }) => Promise<OutputFor<Config, Slug>>Discard staged working changes while retaining the published snapshot.
restore<Slug extends VersionCollectionSlug<Config>>(collection: Slug, id: string, revision: number, options?: RestoreOptions<LocaleFor<Config>, CollectionDraftsFor<Config, Slug>>) => Promise<OutputFor<Config, Slug>>The restore value.
global<Slug extends GlobalSlug<Config>, const Options extends FindOptions<GlobalSelectFor<Config, Slug>, GlobalPopulateFor<Config, Slug>, LocaleFor<Config>, GlobalDraftsFor<Config, Slug>> | undefined = undefined>(slug: Slug, options?: Options) => Promise<GlobalQueryResult<Config, Slug, Options>>The global value.
updateGlobal{ <Slug extends DraftGlobalSlug<Config>>(slug: Slug, data: GlobalDraftUpdateFor<Config, Slug>, options: UpdateOptions<LocaleFor<Config>, true> & { draft: true; }): Promise<GlobalOutputFor<Config, Slug>>; <Slug extends GlobalSlug<Config>>(slug: Slug, data: GlobalUpdateFor<Config, Slug>, options?: UpdateOptions<LocaleFor<Config>, GlobalDraftsFor<Config, Slug>>): Promise<GlobalOutputFor<Config, Slug>>; }The updateGlobal value.
copyGlobalLocale<Slug extends GlobalSlug<Config>>(slug: Slug, input: CopyLocaleInput<LocaleFor<Config>>, options?: RevisionOptions) => Promise<GlobalOutputFor<Config, Slug>>The copyGlobalLocale value.
globalVersions<Slug extends VersionGlobalSlug<Config>, const Options extends LocaleOptions<LocaleFor<Config>> | undefined = undefined>(slug: Slug, options?: Options) => Promise<Version<LocaleResult<GlobalOutputFor<Config, Slug>, GlobalAllLocalesOutputFor<Config, Slug>, Options>>[]>The globalVersions value.
countGlobalVersions<Slug extends VersionGlobalSlug<Config>>(slug: Slug, options?: LocaleOptions<LocaleFor<Config>>) => Promise<CountEnvelope>Count retained versions visible for one global.
globalVersion<Slug extends VersionGlobalSlug<Config>, const Options extends LocaleOptions<LocaleFor<Config>> | undefined = undefined>(slug: Slug, revision: number, options?: Options) => Promise<Version<LocaleResult<GlobalOutputFor<Config, Slug>, GlobalAllLocalesOutputFor<Config, Slug>, Options>>>The globalVersion value.
publishGlobal<Slug extends VersionGlobalSlug<Config>>(slug: Slug, options?: MutationOptions<LocaleFor<Config>>) => Promise<GlobalOutputFor<Config, Slug>>The publishGlobal value.
publishGlobalChanges<Slug extends VersionGlobalSlug<Config>>(slug: Slug, data: GlobalUpdateFor<Config, Slug>, options?: MutationOptions<LocaleFor<Config>>) => Promise<GlobalOutputFor<Config, Slug>>The publishGlobalChanges value.
unpublishGlobal<Slug extends DraftGlobalSlug<Config>>(slug: Slug, options?: MutationOptions<LocaleFor<Config>>) => Promise<GlobalOutputFor<Config, Slug>>The unpublishGlobal value.
discardGlobalDraft<Slug extends DraftGlobalSlug<Config>>(slug: Slug, options: MutationOptions<LocaleFor<Config>> & { revision: number; }) => Promise<GlobalOutputFor<Config, Slug>>Discard staged global changes while retaining the published snapshot.
restoreGlobal<Slug extends VersionGlobalSlug<Config>>(slug: Slug, revision: number, options?: RestoreOptions<LocaleFor<Config>, GlobalDraftsFor<Config, Slug>>) => Promise<GlobalOutputFor<Config, Slug>>The restoreGlobal value.

How it works

Capability-specific methods only accept generated slugs with the required auth, upload, trash, or version capability.

The SDK validates stable envelopes at runtime; generated document shapes remain TypeScript contracts rather than a second client-side schema validator.

Full signature

interface RiduClient< Config extends RiduConfigShape = RiduConfigShape, DefaultAuth extends AuthCollectionSlug<Config> = never, > { ... }

Source packages/sdk/src/index.ts:79

Methods