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

# GET /users/me/outfits/sync — Incremental outfit sync

> Incrementally sync outfit changes since a given timestamp. Returns updated outfits and deleted IDs, with a server_time for the next sync.

Call `GET /users/me/outfits/sync` to fetch only the outfit changes that occurred since your last sync. The response includes full outfit objects — including scene placement data — for any outfits created or modified, IDs of deleted outfits, and a `server_time` cursor for your next call. If you omit `updated_since`, all outfits are returned.

## Endpoint

| Field         | Value                    |
| ------------- | ------------------------ |
| Method        | `GET`                    |
| Path          | `/users/me/outfits/sync` |
| Auth required | Yes — Bearer token       |
| Rate limit    | 5 per minute             |

## Query parameters

<ParamField query="updated_since" type="string">
  ISO 8601 datetime. Only outfits updated or deleted after this time are returned. If omitted, all outfits are returned from the beginning.
</ParamField>

## Response fields

**Status: 200 OK**

<ResponseField name="updated" type="array" required>
  Outfit objects that were created or modified since `updated_since`. Each object includes full scene placement data.
</ResponseField>

<ResponseField name="deleted" type="array" required>
  IDs of outfits that were deleted since `updated_since`.
</ResponseField>

<ResponseField name="server_time" type="string" required>
  Current server time in ISO 8601 format. Use this as `updated_since` on your next sync call.
</ResponseField>

## Example

```bash cURL theme={null}
curl --request GET \
  --url "https://api.drssed.com/users/me/outfits/sync?updated_since=2024-06-01T12:00:00Z" \
  --header "Authorization: Bearer <token>"
```

```json Response theme={null}
{
  "updated": [
    {
      "outfit_id": "otft_b2c3d4e5f6a1",
      "name": "Summer Casual",
      "is_public": false,
      "is_favorite": true,
      "user_id": "usr_9z8y7x6w",
      "created_at": "2024-06-03T10:00:00+00:00",
      "updated_at": "2024-06-05T16:20:00+00:00",
      "scene": [
        {
          "clothing_id": "clth_a1b2c3d4e5f6",
          "x": 0.5,
          "y": 0.2,
          "z": 1,
          "scale": 1.0,
          "rotation": 0.0
        }
      ],
      "seasons": ["Summer"],
      "tags": ["Casual"],
      "description": null
    }
  ],
  "deleted": ["otft_x1y2z3w4v5u6"],
  "server_time": "2024-06-10T14:35:42.193847+00:00"
}
```

<Tip>
  Use the `server_time` from the response as `updated_since` on your next sync call. Avoid generating timestamps on the client to prevent clock skew from causing missed updates.
</Tip>
