PHANTOM
🇮🇳 IN
Skip to content
Primary navigation

Create container

POST/containers

Create Container

Body ParametersJSONExpand Collapse
name: string

Name of the container to create.

expires_after: optional object { anchor, minutes }

Container expiration time in seconds relative to the 'anchor' time.

anchor: "last_active_at"

Time anchor for the expiration time. Currently only 'last_active_at' is supported.

minutes: number
file_ids: optional array of string

IDs of files to copy to the container.

memory_limit: optional "1g" or "4g" or "16g" or "64g"

Optional memory limit for the container. Defaults to "1g".

Accepts one of the following:
"1g"
"4g"
"16g"
"64g"
network_policy: optional ContainerNetworkPolicyDisabled { type } or ContainerNetworkPolicyAllowlist { allowed_domains, type, domain_secrets }

Network access policy for the container.

Accepts one of the following:
ContainerNetworkPolicyDisabled = object { type }
type: "disabled"

Disable outbound network access. Always disabled.

ContainerNetworkPolicyAllowlist = object { allowed_domains, type, domain_secrets }
allowed_domains: array of string

A list of allowed domains when type is allowlist.

type: "allowlist"

Allow outbound network access only to specified domains. Always allowlist.

domain_secrets: optional array of ContainerNetworkPolicyDomainSecret { domain, name, value }

Optional domain-scoped secrets for allowlisted domains.

domain: string

The domain associated with the secret.

minLength1
name: string

The name of the secret to inject for the domain.

minLength1
value: string

The secret value to inject for the domain.

maxLength10485760
minLength1
skills: optional array of SkillReference { skill_id, type, version } or InlineSkill { description, name, source, type }

An optional list of skills referenced by id or inline data.

Accepts one of the following:
SkillReference = object { skill_id, type, version }
skill_id: string

The ID of the referenced skill.

maxLength64
minLength1
type: "skill_reference"

References a skill created with the /v1/skills endpoint.

version: optional string

Optional skill version. Use a positive integer or 'latest'. Omit for default.

InlineSkill = object { description, name, source, type }
description: string

The description of the skill.

name: string

The name of the skill.

source: InlineSkillSource { data, media_type, type }

Inline skill payload

data: string

Base64-encoded skill zip bundle.

maxLength70254592
minLength1
media_type: "application/zip"

The media type of the inline skill payload. Must be application/zip.

type: "base64"

The type of the inline skill source. Must be base64.

type: "inline"

Defines an inline skill for this request.

ReturnsExpand Collapse
id: string

Unique identifier for the container.

created_at: number

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

name: string

Name of the container.

object: string

The type of this object.

status: string

Status of the container (e.g., active, deleted).

expires_after: optional object { anchor, minutes }

The container will expire after this time period. The anchor is the reference point for the expiration. The minutes is the number of minutes after the anchor before the container expires.

anchor: optional "last_active_at"

The reference point for the expiration.

minutes: optional number

The number of minutes after the anchor before the container expires.

last_active_at: optional number

Unix timestamp (in seconds) when the container was last active.

memory_limit: optional "1g" or "4g" or "16g" or "64g"

The memory limit configured for the container.

Accepts one of the following:
"1g"
"4g"
"16g"
"64g"
network_policy: optional object { type, allowed_domains }

Network access policy for the container.

type: "allowlist" or "disabled"

The network policy mode.

Accepts one of the following:
"allowlist"
"disabled"
allowed_domains: optional array of string

Allowed outbound domains when type is allowlist.

Create container

curl https://api.openai.com/v1/containers \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "name": "My Container",
        "memory_limit": "4g",
        "skills": [
          {
            "type": "skill_reference",
            "skill_id": "skill_4db6f1a2c9e73508b41f9da06e2c7b5f"
          },
          {
            "type": "skill_reference",
            "skill_id": "openai-spreadsheets",
            "version": "latest"
          }
        ],
        "network_policy": {
          "type": "allowlist",
          "allowed_domains": ["api.buildkite.com"]
        }
      }'
{
    "id": "cntr_682e30645a488191b6363a0cbefc0f0a025ec61b66250591",
    "object": "container",
    "created_at": 1747857508,
    "status": "running",
    "expires_after": {
        "anchor": "last_active_at",
        "minutes": 20
    },
    "last_active_at": 1747857508,
    "network_policy": {
        "type": "allowlist",
        "allowed_domains": ["api.buildkite.com"]
    },
    "memory_limit": "4g",
    "name": "My Container"
}
Returns Examples
{
    "id": "cntr_682e30645a488191b6363a0cbefc0f0a025ec61b66250591",
    "object": "container",
    "created_at": 1747857508,
    "status": "running",
    "expires_after": {
        "anchor": "last_active_at",
        "minutes": 20
    },
    "last_active_at": 1747857508,
    "network_policy": {
        "type": "allowlist",
        "allowed_domains": ["api.buildkite.com"]
    },
    "memory_limit": "4g",
    "name": "My Container"
}