> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# Datasphere

> Document storage and vector search.

[restclient]: /docs/server-sdks/reference/typescript/rest/client

[list]: /docs/server-sdks/reference/typescript/rest/datasphere/list

[create]: /docs/server-sdks/reference/typescript/rest/datasphere/create

[get]: /docs/server-sdks/reference/typescript/rest/datasphere/get

[update]: /docs/server-sdks/reference/typescript/rest/datasphere/update

[delete]: /docs/server-sdks/reference/typescript/rest/datasphere/delete

[search]: /docs/server-sdks/reference/typescript/rest/datasphere/search

[listchunks]: /docs/server-sdks/reference/typescript/rest/datasphere/list-chunks

[getchunk]: /docs/server-sdks/reference/typescript/rest/datasphere/get-chunk

[deletechunk]: /docs/server-sdks/reference/typescript/rest/datasphere/delete-chunk

Manage documents and perform semantic search via the Datasphere API. Documents
are stored with vector embeddings, enabling natural-language search across your
knowledge base. The `documents` sub-resource provides full CRUD plus search and
chunk-level operations.

Access via `client.datasphere.documents` on a [`RestClient`][restclient] instance.

```typescript {9}
import { RestClient } from "@signalwire/sdk";

const client = new RestClient({
  project: "your-project-id",
  token: "your-api-token",
  host: "your-space.signalwire.com"
});

const results = await client.datasphere.documents.search({ query_string: "billing FAQ" });
for (const doc of results.data ?? []) {
    console.log(doc.id, doc.title);
}
```

## **Methods**

List documents in the project.

Upload a new document.

Retrieve a specific document.

Update a document.

Delete a document and all its chunks.

Perform a semantic search across all documents.

List chunks belonging to a document.

Retrieve a specific chunk from a document.

Delete a specific chunk from a document.