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

# Filter Media by Usage

> Filter source IDs into available vs used for a named media use-case

## Endpoint

```bash theme={null}
POST https://api.ugc.inc/media/filter
```

## Request Body

<ParamField body="source_ids" type="string[]" required>
  Source IDs to evaluate.
</ParamField>

<ParamField body="name" type="string" required>
  Use-case name (for example `profile_picture`).
</ParamField>

<ParamField body="urls" type="string[]">
  Optional parallel array of URLs corresponding to each source ID. When provided, also filters out source IDs whose URLs are already used (catches duplicates where the same image has different source IDs).
</ParamField>

## Response

<ResponseField name="data" type="{ available: string[]; used_count: number; available_count: number }">
  Usage filter result.
</ResponseField>

## TypeScript

```typescript theme={null}
const res = await client.media.filter({
  source_ids: ['source_1', 'source_2'],
  name: 'profile_picture',
});
```
