> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tattoo.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# My Designs

> Authenticated owner projection for designs.

<Note>
  **Posture:** Owner-scoped private beta. Requires approved authentication plus TattooAPI actor mapping to the owning studio or artist.
</Note>

<Warning>
  **Write boundary:** Owner writes return `owner_write_gated` until the governed mutation contract is approved and activated.
</Warning>

Canonical request URL: `https://api.tattooapi.com/api/v1/me/designs`.

# My Designs

`GET /me/designs` is an authenticated owner-scoped read-beta endpoint.

It can return the authenticated owner actor's design records across public and private publish states.

## Auth

```bash theme={"dark"}
curl "$TATTOO_API_BASE_URL/me/designs?limit=20" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

## Query Parameters

| Parameter                | Type    | Notes                                      |
| ------------------------ | ------- | ------------------------------------------ |
| `page`                   | integer | Default `1`                                |
| `limit`                  | integer | Default `20`, max `100`                    |
| `artist_id`              | string  | Filter own designs by artist id            |
| `style_id`               | string  | Filter own designs by style id             |
| `public`                 | boolean | Filter own records by public/private state |
| `tags`                   | string  | Comma-separated tag filter                 |
| `search`                 | string  | Title and description search               |
| `min_price`, `max_price` | number  | Optional price filters when price exists   |

## Access Rules

* The caller must resolve to an owner-scoped creative actor.
* Draft and owner-private records stay scoped to the owner.
* Cross-studio private creative visibility is blocked.

## Write Boundary

`POST`, `PUT`, `PATCH`, and `DELETE` return `owner_write_gated`.

The route is read-capable now; live owner mutations are not active yet.
