Developers: SDK
SDK quick reference
Every method signature in one place.
Every method signature in one place.
import { ds } from "@/lib/draftship"ds.entities.<Name>.list(sort?, limit?, skip?) → Promise<T[]>
ds.entities.<Name>.filter(query, sort?, limit?, skip?) → Promise<T[]>
ds.entities.<Name>.get(id) → Promise<T>
ds.entities.<Name>.create(data) → Promise<T>
ds.entities.<Name>.bulkCreate(items) → Promise<T[]>
ds.entities.<Name>.update(id, data) → Promise<T>
ds.entities.<Name>.updateMany(query, data) → Promise<{ updated }>
ds.entities.<Name>.bulkUpdate(itemsWithId) → Promise<T[]>
ds.entities.<Name>.delete(id) → Promise<{ deleted }>
ds.entities.<Name>.deleteMany(query) → Promise<{ deleted }>
ds.entities.<Name>.count(query?) → Promise<number>
ds.entities.<Name>.subscribe(callback, query?) → () => void (live list)
ds.entities.<Name>.onChange(callback) → () => void (each change)
ds.auth.register({ email, password, full_name? }) → Promise<DsUser>
ds.auth.loginViaEmailPassword(email, password) → Promise<DsUser>
ds.auth.me() → Promise<DsUser | null>
ds.auth.updateMe(data) → Promise<DsUser>
ds.auth.isAuthenticated() → Promise<boolean>
ds.auth.logout(redirectUrl?) → void
ds.functions.invoke(name, data?) → Promise<R>
ds.agents.list() → Promise<{ name, description?, greeting? }[]>
ds.agents.createConversation(agentName) → Promise<DsConversation>
ds.agents.listConversations(agentName) → Promise<DsConversation[]>
ds.agents.getConversation(conversationId) → Promise<DsConversation>
ds.agents.sendMessage(conversationId, content) → Promise<DsAgentMessage>
ds.analytics.track({ eventName, properties? }) → void
ds.integrations.Core.InvokeLLM({ prompt, response_json_schema? }) → Promise<string | R>
ds.integrations.Core.GenerateImage({ prompt }) → Promise<{ url }>
ds.integrations.Core.UploadFile({ file }) → Promise<{ file_url }>
ds.integrations.Core.SendEmail({ to, subject, body, from_name? }) → Promise<{ success }>
import { … } from "@/lib/draftship-server"createServiceClient().entities.<Name>.* (same as browser, minus subscribe/onChange/bulkUpdate; ignores rules)
createServiceClient().integrations.Core.* (InvokeLLM, GenerateImage, SendEmail)
createServiceClient().log(message, level?, data?)
getUser(req) → Promise<DsUser | null>
isAutomation(req) → boolean
json(data, status?) → Response