SDK Auto-Imports
This module automatically imports all user-facing request functions from @directus/sdk (like readItems, readSingleton, createItem, etc.) so you can use them in your components without any import statement.
Auto-imported: request functions
Every request command exported by @directus/sdk is available globally in your project. The example below calls readSingleton('globals') with no import statement required in a real project.
The playground you are viewing has nuxt auto-imports disabled. You will not likely need to import anything to use this module in your project.
// This playground uses #imports to make the source explicit:
import { readSingleton, useDirectus } from '#imports'
// In your project — just use it, no import needed:
const directus = useDirectus()
const globals = await directus.request(readSingleton('globals')) Live result — globals singleton:
{
"id": "ab89c489-faea-4310-8b59-7ddb3caf279a",
"url": "https://www.yoururl.com",
"title": "Your Site",
"tagline": "The best site ever",
"description": "We empower you to build the best site possible",
"social_links": [
{
"service": "github",
"url": "https://github.com/directus/directus"
},
{
"service": "linkedin",
"url": "https://www.linkedin.com/company/directus-io"
},
{
"service": "youtube",
"url": "https://www.youtube.com/c/DirectusVideos"
},
{
"url": "https://directus.chat/",
"service": "discord"
},
{
"url": "https://x.com/directus",
"service": "x"
}
],
"logo": "43ddd7b8-9b2f-4aa1-b63c-933b4ae81ca2",
"favicon": "2b4a0ba0-52c7-4e10-b191-c803d8da6a36",
"logo_dark_mode": "ae390ba1-fcff-4b99-a445-5f19257095d1",
"accent_color": "#6644FF"
}Manual imports: client factories
A small set of functions are intentionally excluded from auto-imports and must always be imported from @directus/sdk directly:
- Client factories (
createDirectus,rest,graphql,staticToken,realtime,authentication): module-level setup utilities, not per-request commands. - Module-wrapped functions (
readMe,updateMe,createUser,uploadFiles, etc.): the module exposes these through its own composables (e.g.useDirectusAuth()) with added conveniences. - SDK internals (
throwIfEmpty,queryToParams, etc.): implementation details not intended for direct use.
The most common case where you will reach for a manual import is building a standalone client with a static token, for example a public read-only client that bypasses the session-based useDirectus():
import { createDirectus, rest, staticToken } from '@directus/sdk'
const publicClient = createDirectus('https://your-directus.example.com')
.with(staticToken('your-static-token'))
.with(rest())
const data = await publicClient.request(readItems('posts')) On the server side, this module provides useAdminDirectus() and useSessionDirectus(event) in Nitro API routes to handle client setup for you. See the Server Composables demo.