createContainer method

Future<Container> createContainer({
  1. required String name,
  2. ContainerExpiresAfter? expiresAfter,
  3. List<String>? fileIds,
})

Create a container.

final container = await client.createContainer(
  name: 'My Container',
  expiresAfter: ContainerExpiresAfter(anchor: 'last_active_at', minutes: 20),
  fileIds: ['file_abc123'], // optional
);

Implementation

Future<Container> createContainer({
  required String name,
  ContainerExpiresAfter? expiresAfter,
  List<String>? fileIds,
}) async {
  final resp = await postJson('/containers', {
    'name': name,
    if (expiresAfter != null) 'expires_after': expiresAfter.toJson(),
    if (fileIds != null) 'file_ids': fileIds,
  });

  if (resp.statusCode == 200 || resp.statusCode == 201) {
    return Container.fromJson(jsonDecode(resp.body) as Map<String, dynamic>);
  }
  throw OpenAIRequestException.fromHttpResponse(resp);
}