---
title: "Save the items a 3D model holds in Directional Sprites (weapons and accessories, each a GLB fitted to one bone) on the model: the whole list, an empty one clears it. Returns the list as saved (Roles: user)."
method: POST
path: "/games/sprite3d/attachments"
tags: ["Games"]
---

# Save the items a 3D model holds in Directional Sprites (weapons and accessories, each a GLB fitted to one bone) on the model: the whole list, an empty one clears it. Returns the list as saved (Roles: user).

`POST /games/sprite3d/attachments`

## Request

- Base URL: `https://api.ludo.ai/api`
- URL: `https://api.ludo.ai/api/games/sprite3d/attachments`
- Auth: API key in header `Authorization`

## Request body

- Sprite3DAttachmentsPayload
  - `model_id` string, required: The 3D model's history id (its three_d_asset entry, keyed by image.id).
  - `attachments` object[], required: Every item the model holds, each a Sprite3DAttachment (checked field by field by the server). An empty list clears them.

## Response `200`

Success

- Sprite3DAttachment[]
  - `id` string
  - `name` string
  - `url` string: The item's GLB, on our storage (one of the user's 3D models, or an uploaded file).
  - `thumb` string: Its picture. Sent as a small image data uri (an upload's snapshot), it is hosted and saved as a url.
  - `source` 'model' | 'upload'
  - `modelId` string: The item's own 3D model history id, when it is one of the user's models.
  - `bone` string: The name of the bone that holds it.
  - `point` 'right_hand' | 'left_hand' | 'head' | 'back' | 'hips': The named place it was fitted to, when it was one.
  - `baseScale` number, double
  - `flipped` boolean: Turned end for end at its grip.
  - `grip` boolean: The fingers closed round it.
  - `position` number[]: Relative to the bone, x y z.
  - `quaternion` number[]: Relative to the bone, x y z w.
  - `scale` number[]

## Other responses

- `400`: Error
- `404`: No such 3D model of the caller's

## Changes

- **2026-11-03** `4efeb12a23c9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ludo/apis/ludo-ai-api/changes/games/sprite3d/attachments/post.md)

---

[API](https://skmtc.dev/ludo/apis/ludo-ai-api.md) - [All operations](https://skmtc.dev/ludo/apis/ludo-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ludo/apis/ludo-ai-api/revisions/4efeb12a23c9?raw)
