---
metadata:
  - name: generator
    content: Diplodoc Platform v5.19.4
alternate:
  - https://yandex.ru/dev/audience/en/ref/openapi/segments/uploadFile.md
  - https://yandex.ru/dev/audience/ru/ref/openapi/segments/uploadFile.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/audience/en/llms.txt

<div class="openapi">

# Creating a segment from a file

<!-- markdownlint-disable-file -->

Creates a segment from a file with data. There must be at least 100 entries in the file.

{% cut "Sample request" %}

```json translate=no
POST https://api-audience.yandex.com/v1/management/segments/upload_file
Content-Type: multipart/form-data; boundary=--------------------------5b2a52c5c90f668a
Context-Length: 331

--------------------------5b2a52c5c90f668a
Content-Disposition: form-data; name="file"; filename="data.tsv"
Content-Type: application/octet-stream
aaaaaaaa-bbbb-cccc-1111-222222222200
aaaaaaaa-bbbb-cccc-1111-222222222201
--------------------------5b2a52c5c90f668a--
```

{% endcut %}


## Request

<div class="openapi__requests">

<div class="openapi__request__wrapper" style="--method: var(--dc-openapi-methods-post);margin-bottom: 12px">

<div class="openapi__request">

POST {.openapi__method}
```text translate=no
https://api-audience.yandex.ru/v1/management/segments/upload_file
```

</div>

</div>

</div>

<div class="openapi-entity">

### Body

{% cut "multipart/form-data" %}

```json translate=no
{
  "file": "example"
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_file_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string&lt;binary&gt;

File to upload.

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
|#{.json-schema-properties}

</div>

## Responses

<div class="openapi__response__code__200">

## 200 OK

OK

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "segment": {
    "type": "example",
    "id": 0,
    "name": "example",
    "status": "example",
    "create_time": "2025-01-01T00:00:00Z",
    "owner": "example",
    "has_guests": true,
    "guest_quantity": 0,
    "can_create_dependent": true,
    "has_derivatives": true,
    "derivatives": [
      0
    ],
    "cookies_matched_quantity": 0,
    "hashed": true,
    "used_hashing_alg": "example",
    "content_type": "example",
    "source_id": 0,
    "source_name": "example",
    "item_quantity": 0,
    "valid_unique_quantity": 0,
    "valid_unique_percentage": "example",
    "matched_quantity": 0,
    "matched_percentage": "example",
    "counter_id": 0,
    "uploading_last_modify_time": "2025-01-01T00:00:00Z",
    "device_matching_type": "example"
  }
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_segment_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [UploadingSegment](#entity-UploadingSegment)

A segment created from a file with user data.

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "type": "example",
  "id": 0,
  "name": "example",
  "status": "example",
  "create_time": "2025-01-01T00:00:00Z",
  "owner": "example",
  "has_guests": true,
  "guest_quantity": 0,
  "can_create_dependent": true,
  "has_derivatives": true,
  "derivatives": [
    0
  ],
  "cookies_matched_quantity": 0,
  "hashed": true,
  "used_hashing_alg": "example",
  "content_type": "example",
  "source_id": 0,
  "source_name": "example",
  "item_quantity": 0,
  "valid_unique_quantity": 0,
  "valid_unique_percentage": "example",
  "matched_quantity": 0,
  "matched_percentage": "example",
  "counter_id": 0,
  "uploading_last_modify_time": "2025-01-01T00:00:00Z",
  "device_matching_type": "example"
}
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

</div>

<div class="openapi-entity">

### BaseSegment {#entity-BaseSegment}

The segment description by type.

#|
|| **Name** | **Description** ||
||

_name_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Segment name.

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_create_time_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string&lt;date-time&gt;

The time of segment creation.

_Example:_{.json-schema-reset .json-schema-example} `2025-01-01T00:00:00Z`
{.table-cell}
||
||

_id_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: integer

ID of the segment. Specify this parameter when updating a segment.
{.table-cell}
||
||

_owner_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

The username of the segment owner.

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_status_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

Status of processing the segment. Acceptable values:

- `uploaded`: The segment with the user's data has been uploaded.
- `is_processed`: The segment with the specified parameters is being processed.
- `processed`: The segment has been uploaded and processed. The segment is ready to use.
- `processing_failed`: Segment processing has failed.
- `is_updated`: The segment is updating.
- `few_data`: The segment has insufficient data.


_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_type_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

Segment type. Acceptable values:

- `uploading`: A segment created from a file with user data.
- `metrika`: A segment imported from Yandex Metrica.
- `appmetrica`: A segment imported from AppMetrica.
- `lookalike`: A segment of users who "look like" one of the client's other segments (uses the "lookalike" technology).
- `geo`: A segment based on location data for polygons and circles.
- `pixel`: A segment created using a tracking pixel.


_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "type": "example",
  "id": 0,
  "name": "example",
  "status": "example",
  "create_time": "2025-01-01T00:00:00Z",
  "owner": "example"
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### UploadingSegment {#entity-UploadingSegment}

A segment created from a file with user data.

{% cut "**All of 2 types**" %}{.json-schema-combinators data-marker=and}

- **Type**: [BaseSegment](#entity-BaseSegment)

  The segment description by type.

  {% cut "**Example**" %}{.json-schema-example}

  ```json translate=no
  {
    "type": "example",
    "id": 0,
    "name": "example",
    "status": "example",
    "create_time": "2025-01-01T00:00:00Z",
    "owner": "example",
    "has_guests": true,
    "guest_quantity": 0,
    "can_create_dependent": true,
    "has_derivatives": true,
    "derivatives": [
      0
    ],
    "cookies_matched_quantity": 0
  }
  ```

  {% endcut %}

- {% cut "**Type**: object" %}

  #|
  ||

  _content_type_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: string

  Type of file content. Acceptable values:

  - `idfa_gaid`: Device IDs.
  - `mac`: MAC addresses.
  - `crm`: CRM data.


  _Example:_{.json-schema-reset .json-schema-example} `example`
  {.table-cell}
  ||
  ||

  _device_matching_type_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: string

  Device search mode for the segment.

  Acceptable values:

  - `CROSS_DEVICE`: The segment includes other devices associated with the uploaded ID and belonging to the same user. This is the default value if no search mode is selected.
  - `IN_DEVICE`: The segment includes only the uploaded devices, without expanding to other devices. Currently, the `IN_DEVICE` mode is available only for `idfa_gaid` segments.


  _Example:_{.json-schema-reset .json-schema-example} `example`
  {.table-cell}
  ||
  ||

  _hashed_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: boolean

  Whether every string in the uploaded file is hashed. Acceptable values:

  - `true`: Hashed.
  - `false`: Unhashed.

  {.table-cell}
  ||
  ||

  _used_hashing_alg_{.json-schema-reset .json-schema-property}
  {.table-cell}|
  **Type**: string

  The hashing algorithm used for the data is sent for `hashed: true`. Acceptable value: `SHA256`.

  {% note alert "" %}

  Starting January 2025, uploading new MD5 hashes is no longer supported. To upload new data, use SHA‑256.

  {% endnote %}


  _Example:_{.json-schema-reset .json-schema-example} `example`
  {.table-cell}
  ||
  |#{.json-schema-properties}

  {% endcut %}

  {% cut "**Example**" %}{.json-schema-example}

  ```json translate=no
  {
    "hashed": true,
    "used_hashing_alg": "example",
    "content_type": "example",
    "device_matching_type": "example"
  }
  ```

  {% endcut %}

{% endcut %}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "type": "example",
  "id": 0,
  "name": "example",
  "status": "example",
  "create_time": "2025-01-01T00:00:00Z",
  "owner": "example",
  "has_guests": true,
  "guest_quantity": 0,
  "can_create_dependent": true,
  "has_derivatives": true,
  "derivatives": [
    0
  ],
  "cookies_matched_quantity": 0,
  "hashed": true,
  "used_hashing_alg": "example",
  "content_type": "example",
  "device_matching_type": "example"
}
```

{% endcut %}

</div>

</div>

</div>

[*Deprecated]: No longer supported, please use an alternative and newer version.