# Files

## List container files

`$ openai containers:files list`

**get** `/containers/{container_id}/files`

List Container files

### Parameters

- `--container-id: string`

- `--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.

- `--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

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

  - `data: array of object { id, bytes, container_id, 4 more }`

    A list of container files.

    - `id: string`

      Unique identifier for the file.

    - `bytes: number`

      Size of the file in bytes.

    - `container_id: string`

      The container this file belongs to.

    - `created_at: number`

      Unix timestamp (in seconds) when the file was created.

    - `object: "container.file"`

      The type of this object (`container.file`).

    - `path: string`

      Path of the file in the container.

    - `source: string`

      Source of the file (e.g., `user`, `assistant`).

  - `first_id: string`

    The ID of the first file in the list.

  - `has_more: boolean`

    Whether there are more files available.

  - `last_id: string`

    The ID of the last file in the list.

  - `object: "list"`

    The type of object returned, must be 'list'.

### Example

```cli
openai containers:files list \
  --api-key 'My API Key' \
  --container-id container_id
```

#### Response

```json
{
  "data": [
    {
      "id": "id",
      "bytes": 0,
      "container_id": "container_id",
      "created_at": 0,
      "object": "container.file",
      "path": "path",
      "source": "source"
    }
  ],
  "first_id": "first_id",
  "has_more": true,
  "last_id": "last_id",
  "object": "list"
}
```

## Create container file

`$ openai containers:files create`

**post** `/containers/{container_id}/files`

Create a Container File

You can send either a multipart/form-data request with the raw file content, or a JSON request with a file ID.

### Parameters

- `--container-id: string`

- `--file: optional string`

  The File object (not file name) to be uploaded.

- `--file-id: optional string`

  Name of the file to create.

### Returns

- `ContainerFileNewResponse: object { id, bytes, container_id, 4 more }`

  - `id: string`

    Unique identifier for the file.

  - `bytes: number`

    Size of the file in bytes.

  - `container_id: string`

    The container this file belongs to.

  - `created_at: number`

    Unix timestamp (in seconds) when the file was created.

  - `object: "container.file"`

    The type of this object (`container.file`).

  - `path: string`

    Path of the file in the container.

  - `source: string`

    Source of the file (e.g., `user`, `assistant`).

### Example

```cli
openai containers:files create \
  --api-key 'My API Key' \
  --container-id container_id
```

#### Response

```json
{
  "id": "id",
  "bytes": 0,
  "container_id": "container_id",
  "created_at": 0,
  "object": "container.file",
  "path": "path",
  "source": "source"
}
```

## Retrieve container file

`$ openai containers:files retrieve`

**get** `/containers/{container_id}/files/{file_id}`

Retrieve Container File

### Parameters

- `--container-id: string`

- `--file-id: string`

### Returns

- `ContainerFileGetResponse: object { id, bytes, container_id, 4 more }`

  - `id: string`

    Unique identifier for the file.

  - `bytes: number`

    Size of the file in bytes.

  - `container_id: string`

    The container this file belongs to.

  - `created_at: number`

    Unix timestamp (in seconds) when the file was created.

  - `object: "container.file"`

    The type of this object (`container.file`).

  - `path: string`

    Path of the file in the container.

  - `source: string`

    Source of the file (e.g., `user`, `assistant`).

### Example

```cli
openai containers:files retrieve \
  --api-key 'My API Key' \
  --container-id container_id \
  --file-id file_id
```

#### Response

```json
{
  "id": "id",
  "bytes": 0,
  "container_id": "container_id",
  "created_at": 0,
  "object": "container.file",
  "path": "path",
  "source": "source"
}
```

## Delete a container file

`$ openai containers:files delete`

**delete** `/containers/{container_id}/files/{file_id}`

Delete Container File

### Parameters

- `--container-id: string`

- `--file-id: string`

### Example

```cli
openai containers:files delete \
  --api-key 'My API Key' \
  --container-id container_id \
  --file-id file_id
```

# Content

## Retrieve container file content

`$ openai containers:files:content retrieve`

**get** `/containers/{container_id}/files/{file_id}/content`

Retrieve Container File Content

### Parameters

- `--container-id: string`

- `--file-id: string`

### Returns

- `unnamed_schema_3: file path`

### Example

```cli
openai containers:files:content retrieve \
  --api-key 'My API Key' \
  --container-id container_id \
  --file-id file_id
```
