---
title: "Write (or mark none) an asset's text slot"
method: PUT
path: "/api/v1/assets/{assetId}/text"
tags: ["Assets"]
---

# Write (or mark none) an asset's text slot

`PUT /api/v1/assets/{assetId}/text`

## Request

- Base URL: `https://api-docs.busabase.com`
- URL: `https://api-docs.busabase.com/api/v1/assets/{assetId}/text`
- Auth: none declared

## Path parameters

- `assetId` string, required

## Request body

- object
  - `text` string
  - `storageKey` string
  - `contentHash` string
  - `none` boolean

## Response `200`

Text slot updated: inline body (≤1MB), or bound from a presigned upload (server-verified content hash, hash-poisoning-safe), or marked `none` for files with no extractable text. Direct write, audit-logged, not ChangeRequest-gated.

- object
  - `assetId` string, required
  - `textStatus` 'missing' | 'present' | 'none' | 'stale', required
  - `lineCount` integer, required
  - `charCount` integer, required
  - `byteCount` integer, required

---

[API](https://skmtc.dev/busabase/apis/busabase-api.md) · [All operations](https://skmtc.dev/busabase/apis/busabase-api/llms.txt) · [OpenAPI document](https://skmtc.dev/busabase/apis/busabase-api/revisions/bc6a7d5ff4c1?raw)
