# Files

## List vector store files

`$ openai vector-stores:files list`

**get** `/vector_stores/{vector_store_id}/files`

Returns a list of vector store files.

### Parameters

- `--vector-store-id: string`

  The ID of the vector store that the files belong to.

- `--after: optional string`

  A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.

- `--before: optional string`

  A cursor for use in pagination. `before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.

- `--filter: optional "in_progress" or "completed" or "failed" or "cancelled"`

  Filter by file status. One of `in_progress`, `completed`, `failed`, `cancelled`.

- `--limit: optional number`

  A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.

- `--order: optional "asc" or "desc"`

  Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.

### Returns

- `ListVectorStoreFilesResponse: object { data, first_id, has_more, 2 more }`

  - `data: array of VectorStoreFile`

    - `id: string`

      The identifier, which can be referenced in API endpoints.

    - `created_at: number`

      The Unix timestamp (in seconds) for when the vector store file was created.

    - `last_error: object { code, message }`

      The last error associated with this vector store file. Will be `null` if there are no errors.

      - `code: "server_error" or "unsupported_file" or "invalid_file"`

        One of `server_error`, `unsupported_file`, or `invalid_file`.

        - `"server_error"`

        - `"unsupported_file"`

        - `"invalid_file"`

      - `message: string`

        A human-readable description of the error.

    - `object: "vector_store.file"`

      The object type, which is always `vector_store.file`.

    - `status: "in_progress" or "completed" or "cancelled" or "failed"`

      The status of the vector store file, which can be either `in_progress`, `completed`, `cancelled`, or `failed`. The status `completed` indicates that the vector store file is ready for use.

      - `"in_progress"`

      - `"completed"`

      - `"cancelled"`

      - `"failed"`

    - `usage_bytes: number`

      The total vector store usage in bytes. Note that this may be different from the original file size.

    - `vector_store_id: string`

      The ID of the [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object) that the [File](https://platform.openai.com/docs/api-reference/files) is attached to.

    - `attributes: optional map[string or number or boolean]`

      Set of 16 key-value pairs that can be attached to an object. This can be
      useful for storing additional information about the object in a structured
      format, and querying for objects via API or the dashboard. Keys are strings
      with a maximum length of 64 characters. Values are strings with a maximum
      length of 512 characters, booleans, or numbers.

      - `union_member_0: string`

      - `union_member_1: number`

      - `union_member_2: boolean`

    - `chunking_strategy: optional StaticFileChunkingStrategyObject or OtherFileChunkingStrategyObject`

      The strategy used to chunk the file.

      - `static_file_chunking_strategy_object: object { static, type }`

        - `static: object { chunk_overlap_tokens, max_chunk_size_tokens }`

          - `chunk_overlap_tokens: number`

            The number of tokens that overlap between chunks. The default value is `400`.

            Note that the overlap must not exceed half of `max_chunk_size_tokens`.

          - `max_chunk_size_tokens: number`

            The maximum number of tokens in each chunk. The default value is `800`. The minimum value is `100` and the maximum value is `4096`.

        - `type: "static"`

          Always `static`.

      - `other_file_chunking_strategy_object: object { type }`

        This is returned when the chunking strategy is unknown. Typically, this is because the file was indexed before the `chunking_strategy` concept was introduced in the API.

        - `type: "other"`

          Always `other`.

  - `first_id: string`

  - `has_more: boolean`

  - `last_id: string`

  - `object: string`

### Example

```cli
openai vector-stores:files list \
  --api-key 'My API Key' \
  --vector-store-id vector_store_id
```

#### Response

```json
{
  "data": [
    {
      "id": "id",
      "created_at": 0,
      "last_error": {
        "code": "server_error",
        "message": "message"
      },
      "object": "vector_store.file",
      "status": "in_progress",
      "usage_bytes": 0,
      "vector_store_id": "vector_store_id",
      "attributes": {
        "foo": "string"
      },
      "chunking_strategy": {
        "static": {
          "chunk_overlap_tokens": 0,
          "max_chunk_size_tokens": 100
        },
        "type": "static"
      }
    }
  ],
  "first_id": "file-abc123",
  "has_more": false,
  "last_id": "file-abc456",
  "object": "list"
}
```

## Create vector store file

`$ openai vector-stores:files create`

**post** `/vector_stores/{vector_store_id}/files`

Create a vector store file by attaching a [File](https://platform.openai.com/docs/api-reference/files) to a [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object).

### Parameters

- `--vector-store-id: string`

  The ID of the vector store for which to create a File.

- `--file-id: string`

  A [File](https://platform.openai.com/docs/api-reference/files) ID that the vector store should use. Useful for tools like `file_search` that can access files. For multi-file ingestion, we recommend [`file_batches`](https://platform.openai.com/docs/api-reference/vector-stores-file-batches/createBatch) to minimize per-vector-store write requests.

- `--attributes: optional map[string or number or boolean]`

  Set of 16 key-value pairs that can be attached to an object. This can be
  useful for storing additional information about the object in a structured
  format, and querying for objects via API or the dashboard. Keys are strings
  with a maximum length of 64 characters. Values are strings with a maximum
  length of 512 characters, booleans, or numbers.

- `--chunking-strategy: optional AutoFileChunkingStrategyParam or StaticFileChunkingStrategyObjectParam`

  The chunking strategy used to chunk the file(s). If not set, will use the `auto` strategy. Only applicable if `file_ids` is non-empty.

### Returns

- `vector_store_file: object { id, created_at, last_error, 6 more }`

  A list of files attached to a vector store.

  - `id: string`

    The identifier, which can be referenced in API endpoints.

  - `created_at: number`

    The Unix timestamp (in seconds) for when the vector store file was created.

  - `last_error: object { code, message }`

    The last error associated with this vector store file. Will be `null` if there are no errors.

    - `code: "server_error" or "unsupported_file" or "invalid_file"`

      One of `server_error`, `unsupported_file`, or `invalid_file`.

      - `"server_error"`

      - `"unsupported_file"`

      - `"invalid_file"`

    - `message: string`

      A human-readable description of the error.

  - `object: "vector_store.file"`

    The object type, which is always `vector_store.file`.

  - `status: "in_progress" or "completed" or "cancelled" or "failed"`

    The status of the vector store file, which can be either `in_progress`, `completed`, `cancelled`, or `failed`. The status `completed` indicates that the vector store file is ready for use.

    - `"in_progress"`

    - `"completed"`

    - `"cancelled"`

    - `"failed"`

  - `usage_bytes: number`

    The total vector store usage in bytes. Note that this may be different from the original file size.

  - `vector_store_id: string`

    The ID of the [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object) that the [File](https://platform.openai.com/docs/api-reference/files) is attached to.

  - `attributes: optional map[string or number or boolean]`

    Set of 16 key-value pairs that can be attached to an object. This can be
    useful for storing additional information about the object in a structured
    format, and querying for objects via API or the dashboard. Keys are strings
    with a maximum length of 64 characters. Values are strings with a maximum
    length of 512 characters, booleans, or numbers.

    - `union_member_0: string`

    - `union_member_1: number`

    - `union_member_2: boolean`

  - `chunking_strategy: optional StaticFileChunkingStrategyObject or OtherFileChunkingStrategyObject`

    The strategy used to chunk the file.

    - `static_file_chunking_strategy_object: object { static, type }`

      - `static: object { chunk_overlap_tokens, max_chunk_size_tokens }`

        - `chunk_overlap_tokens: number`

          The number of tokens that overlap between chunks. The default value is `400`.

          Note that the overlap must not exceed half of `max_chunk_size_tokens`.

        - `max_chunk_size_tokens: number`

          The maximum number of tokens in each chunk. The default value is `800`. The minimum value is `100` and the maximum value is `4096`.

      - `type: "static"`

        Always `static`.

    - `other_file_chunking_strategy_object: object { type }`

      This is returned when the chunking strategy is unknown. Typically, this is because the file was indexed before the `chunking_strategy` concept was introduced in the API.

      - `type: "other"`

        Always `other`.

### Example

```cli
openai vector-stores:files create \
  --api-key 'My API Key' \
  --vector-store-id vs_abc123 \
  --file-id file_id
```

#### Response

```json
{
  "id": "id",
  "created_at": 0,
  "last_error": {
    "code": "server_error",
    "message": "message"
  },
  "object": "vector_store.file",
  "status": "in_progress",
  "usage_bytes": 0,
  "vector_store_id": "vector_store_id",
  "attributes": {
    "foo": "string"
  },
  "chunking_strategy": {
    "static": {
      "chunk_overlap_tokens": 0,
      "max_chunk_size_tokens": 100
    },
    "type": "static"
  }
}
```

## Update vector store file attributes

`$ openai vector-stores:files update`

**post** `/vector_stores/{vector_store_id}/files/{file_id}`

Update attributes on a vector store file.

### Parameters

- `--vector-store-id: string`

  The ID of the vector store the file belongs to.

- `--file-id: string`

  The ID of the file to update attributes.

- `--attributes: map[string or number or boolean]`

  Set of 16 key-value pairs that can be attached to an object. This can be
  useful for storing additional information about the object in a structured
  format, and querying for objects via API or the dashboard. Keys are strings
  with a maximum length of 64 characters. Values are strings with a maximum
  length of 512 characters, booleans, or numbers.

### Returns

- `vector_store_file: object { id, created_at, last_error, 6 more }`

  A list of files attached to a vector store.

  - `id: string`

    The identifier, which can be referenced in API endpoints.

  - `created_at: number`

    The Unix timestamp (in seconds) for when the vector store file was created.

  - `last_error: object { code, message }`

    The last error associated with this vector store file. Will be `null` if there are no errors.

    - `code: "server_error" or "unsupported_file" or "invalid_file"`

      One of `server_error`, `unsupported_file`, or `invalid_file`.

      - `"server_error"`

      - `"unsupported_file"`

      - `"invalid_file"`

    - `message: string`

      A human-readable description of the error.

  - `object: "vector_store.file"`

    The object type, which is always `vector_store.file`.

  - `status: "in_progress" or "completed" or "cancelled" or "failed"`

    The status of the vector store file, which can be either `in_progress`, `completed`, `cancelled`, or `failed`. The status `completed` indicates that the vector store file is ready for use.

    - `"in_progress"`

    - `"completed"`

    - `"cancelled"`

    - `"failed"`

  - `usage_bytes: number`

    The total vector store usage in bytes. Note that this may be different from the original file size.

  - `vector_store_id: string`

    The ID of the [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object) that the [File](https://platform.openai.com/docs/api-reference/files) is attached to.

  - `attributes: optional map[string or number or boolean]`

    Set of 16 key-value pairs that can be attached to an object. This can be
    useful for storing additional information about the object in a structured
    format, and querying for objects via API or the dashboard. Keys are strings
    with a maximum length of 64 characters. Values are strings with a maximum
    length of 512 characters, booleans, or numbers.

    - `union_member_0: string`

    - `union_member_1: number`

    - `union_member_2: boolean`

  - `chunking_strategy: optional StaticFileChunkingStrategyObject or OtherFileChunkingStrategyObject`

    The strategy used to chunk the file.

    - `static_file_chunking_strategy_object: object { static, type }`

      - `static: object { chunk_overlap_tokens, max_chunk_size_tokens }`

        - `chunk_overlap_tokens: number`

          The number of tokens that overlap between chunks. The default value is `400`.

          Note that the overlap must not exceed half of `max_chunk_size_tokens`.

        - `max_chunk_size_tokens: number`

          The maximum number of tokens in each chunk. The default value is `800`. The minimum value is `100` and the maximum value is `4096`.

      - `type: "static"`

        Always `static`.

    - `other_file_chunking_strategy_object: object { type }`

      This is returned when the chunking strategy is unknown. Typically, this is because the file was indexed before the `chunking_strategy` concept was introduced in the API.

      - `type: "other"`

        Always `other`.

### Example

```cli
openai vector-stores:files update \
  --api-key 'My API Key' \
  --vector-store-id vs_abc123 \
  --file-id file-abc123 \
  --attributes '{foo: string}'
```

#### Response

```json
{
  "id": "id",
  "created_at": 0,
  "last_error": {
    "code": "server_error",
    "message": "message"
  },
  "object": "vector_store.file",
  "status": "in_progress",
  "usage_bytes": 0,
  "vector_store_id": "vector_store_id",
  "attributes": {
    "foo": "string"
  },
  "chunking_strategy": {
    "static": {
      "chunk_overlap_tokens": 0,
      "max_chunk_size_tokens": 100
    },
    "type": "static"
  }
}
```

## Retrieve vector store file

`$ openai vector-stores:files retrieve`

**get** `/vector_stores/{vector_store_id}/files/{file_id}`

Retrieves a vector store file.

### Parameters

- `--vector-store-id: string`

  The ID of the vector store that the file belongs to.

- `--file-id: string`

  The ID of the file being retrieved.

### Returns

- `vector_store_file: object { id, created_at, last_error, 6 more }`

  A list of files attached to a vector store.

  - `id: string`

    The identifier, which can be referenced in API endpoints.

  - `created_at: number`

    The Unix timestamp (in seconds) for when the vector store file was created.

  - `last_error: object { code, message }`

    The last error associated with this vector store file. Will be `null` if there are no errors.

    - `code: "server_error" or "unsupported_file" or "invalid_file"`

      One of `server_error`, `unsupported_file`, or `invalid_file`.

      - `"server_error"`

      - `"unsupported_file"`

      - `"invalid_file"`

    - `message: string`

      A human-readable description of the error.

  - `object: "vector_store.file"`

    The object type, which is always `vector_store.file`.

  - `status: "in_progress" or "completed" or "cancelled" or "failed"`

    The status of the vector store file, which can be either `in_progress`, `completed`, `cancelled`, or `failed`. The status `completed` indicates that the vector store file is ready for use.

    - `"in_progress"`

    - `"completed"`

    - `"cancelled"`

    - `"failed"`

  - `usage_bytes: number`

    The total vector store usage in bytes. Note that this may be different from the original file size.

  - `vector_store_id: string`

    The ID of the [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object) that the [File](https://platform.openai.com/docs/api-reference/files) is attached to.

  - `attributes: optional map[string or number or boolean]`

    Set of 16 key-value pairs that can be attached to an object. This can be
    useful for storing additional information about the object in a structured
    format, and querying for objects via API or the dashboard. Keys are strings
    with a maximum length of 64 characters. Values are strings with a maximum
    length of 512 characters, booleans, or numbers.

    - `union_member_0: string`

    - `union_member_1: number`

    - `union_member_2: boolean`

  - `chunking_strategy: optional StaticFileChunkingStrategyObject or OtherFileChunkingStrategyObject`

    The strategy used to chunk the file.

    - `static_file_chunking_strategy_object: object { static, type }`

      - `static: object { chunk_overlap_tokens, max_chunk_size_tokens }`

        - `chunk_overlap_tokens: number`

          The number of tokens that overlap between chunks. The default value is `400`.

          Note that the overlap must not exceed half of `max_chunk_size_tokens`.

        - `max_chunk_size_tokens: number`

          The maximum number of tokens in each chunk. The default value is `800`. The minimum value is `100` and the maximum value is `4096`.

      - `type: "static"`

        Always `static`.

    - `other_file_chunking_strategy_object: object { type }`

      This is returned when the chunking strategy is unknown. Typically, this is because the file was indexed before the `chunking_strategy` concept was introduced in the API.

      - `type: "other"`

        Always `other`.

### Example

```cli
openai vector-stores:files retrieve \
  --api-key 'My API Key' \
  --vector-store-id vs_abc123 \
  --file-id file-abc123
```

#### Response

```json
{
  "id": "id",
  "created_at": 0,
  "last_error": {
    "code": "server_error",
    "message": "message"
  },
  "object": "vector_store.file",
  "status": "in_progress",
  "usage_bytes": 0,
  "vector_store_id": "vector_store_id",
  "attributes": {
    "foo": "string"
  },
  "chunking_strategy": {
    "static": {
      "chunk_overlap_tokens": 0,
      "max_chunk_size_tokens": 100
    },
    "type": "static"
  }
}
```

## Delete vector store file

`$ openai vector-stores:files delete`

**delete** `/vector_stores/{vector_store_id}/files/{file_id}`

Delete a vector store file. This will remove the file from the vector store but the file itself will not be deleted. To delete the file, use the [delete file](https://platform.openai.com/docs/api-reference/files/delete) endpoint.

### Parameters

- `--vector-store-id: string`

  The ID of the vector store that the file belongs to.

- `--file-id: string`

  The ID of the file to delete.

### Returns

- `vector_store_file_deleted: object { id, deleted, object }`

  - `id: string`

  - `deleted: boolean`

  - `object: "vector_store.file.deleted"`

### Example

```cli
openai vector-stores:files delete \
  --api-key 'My API Key' \
  --vector-store-id vector_store_id \
  --file-id file_id
```

#### Response

```json
{
  "id": "id",
  "deleted": true,
  "object": "vector_store.file.deleted"
}
```

## Retrieve vector store file content

`$ openai vector-stores:files content`

**get** `/vector_stores/{vector_store_id}/files/{file_id}/content`

Retrieve the parsed contents of a vector store file.

### Parameters

- `--vector-store-id: string`

  The ID of the vector store.

- `--file-id: string`

  The ID of the file within the vector store.

### Returns

- `VectorStoreFileContentResponse: object { data, has_more, next_page, object }`

  Represents the parsed content of a vector store file.

  - `data: array of object { text, type }`

    Parsed content of the file.

    - `text: optional string`

      The text content

    - `type: optional string`

      The content type (currently only `"text"`)

  - `has_more: boolean`

    Indicates if there are more content pages to fetch.

  - `next_page: string`

    The token for the next page, if any.

  - `object: "vector_store.file_content.page"`

    The object type, which is always `vector_store.file_content.page`

### Example

```cli
openai vector-stores:files content \
  --api-key 'My API Key' \
  --vector-store-id vs_abc123 \
  --file-id file-abc123
```

#### Response

```json
{
  "data": [
    {
      "text": "text",
      "type": "type"
    }
  ],
  "has_more": true,
  "next_page": "next_page",
  "object": "vector_store.file_content.page"
}
```

## Domain Types

### Vector Store File

- `vector_store_file: object { id, created_at, last_error, 6 more }`

  A list of files attached to a vector store.

  - `id: string`

    The identifier, which can be referenced in API endpoints.

  - `created_at: number`

    The Unix timestamp (in seconds) for when the vector store file was created.

  - `last_error: object { code, message }`

    The last error associated with this vector store file. Will be `null` if there are no errors.

    - `code: "server_error" or "unsupported_file" or "invalid_file"`

      One of `server_error`, `unsupported_file`, or `invalid_file`.

      - `"server_error"`

      - `"unsupported_file"`

      - `"invalid_file"`

    - `message: string`

      A human-readable description of the error.

  - `object: "vector_store.file"`

    The object type, which is always `vector_store.file`.

  - `status: "in_progress" or "completed" or "cancelled" or "failed"`

    The status of the vector store file, which can be either `in_progress`, `completed`, `cancelled`, or `failed`. The status `completed` indicates that the vector store file is ready for use.

    - `"in_progress"`

    - `"completed"`

    - `"cancelled"`

    - `"failed"`

  - `usage_bytes: number`

    The total vector store usage in bytes. Note that this may be different from the original file size.

  - `vector_store_id: string`

    The ID of the [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object) that the [File](https://platform.openai.com/docs/api-reference/files) is attached to.

  - `attributes: optional map[string or number or boolean]`

    Set of 16 key-value pairs that can be attached to an object. This can be
    useful for storing additional information about the object in a structured
    format, and querying for objects via API or the dashboard. Keys are strings
    with a maximum length of 64 characters. Values are strings with a maximum
    length of 512 characters, booleans, or numbers.

    - `union_member_0: string`

    - `union_member_1: number`

    - `union_member_2: boolean`

  - `chunking_strategy: optional StaticFileChunkingStrategyObject or OtherFileChunkingStrategyObject`

    The strategy used to chunk the file.

    - `static_file_chunking_strategy_object: object { static, type }`

      - `static: object { chunk_overlap_tokens, max_chunk_size_tokens }`

        - `chunk_overlap_tokens: number`

          The number of tokens that overlap between chunks. The default value is `400`.

          Note that the overlap must not exceed half of `max_chunk_size_tokens`.

        - `max_chunk_size_tokens: number`

          The maximum number of tokens in each chunk. The default value is `800`. The minimum value is `100` and the maximum value is `4096`.

      - `type: "static"`

        Always `static`.

    - `other_file_chunking_strategy_object: object { type }`

      This is returned when the chunking strategy is unknown. Typically, this is because the file was indexed before the `chunking_strategy` concept was introduced in the API.

      - `type: "other"`

        Always `other`.

### Vector Store File Deleted

- `vector_store_file_deleted: object { id, deleted, object }`

  - `id: string`

  - `deleted: boolean`

  - `object: "vector_store.file.deleted"`
