Skip to content

API Reference

This is a compact list of public types and members. If you are looking for usage examples, start with Getting Started and Inputs and Outputs.

Core classes

Codex

  • Codex(CodexOptions? options = null)
  • Thread StartThread(ThreadOptions? options = null)
  • Thread ResumeThread(string id, ThreadOptions? options = null)

Thread

  • Task<Turn> RunAsync(string input, TurnOptions? options = null)
  • Task<Turn> RunAsync(IEnumerable<UserInput> input, TurnOptions? options = null)
  • Task<RunStreamedResult> RunStreamedAsync(string input, TurnOptions? options = null)
  • Task<RunStreamedResult> RunStreamedAsync(IEnumerable<UserInput> input, TurnOptions? options = null)
  • string? Id (thread identifier)

Turn

  • IReadOnlyList<ThreadItem> Items
  • string FinalResponse
  • Usage? Usage

Options

CodexOptions

  • string? CodexPathOverride
  • string? BaseUrl
  • string? ApiKey
  • IReadOnlyDictionary<string, string>? Env

ThreadOptions

  • string? Model
  • SandboxMode? SandboxMode
  • string? WorkingDirectory
  • bool? SkipGitRepoCheck
  • ModelReasoningEffort? ModelReasoningEffort
  • bool? NetworkAccessEnabled
  • WebSearchMode? WebSearchMode
  • bool? WebSearchEnabled
  • ApprovalMode? ApprovalPolicy
  • string[]? AdditionalDirectories

TurnOptions

  • object? OutputSchema
  • CancellationToken CancellationToken

UserInput

  • static UserInput TextInput(string text)
  • static UserInput LocalImage(string path)

Events

Events are returned when streaming.

  • ThreadStartedEvent (thread.started)
  • TurnStartedEvent (turn.started)
  • TurnCompletedEvent (turn.completed)
  • TurnFailedEvent (turn.failed)
  • ItemStartedEvent (item.started)
  • ItemUpdatedEvent (item.updated)
  • ItemCompletedEvent (item.completed)
  • ThreadErrorEvent (error)

Items

Items represent completed units of work within a turn.

  • AgentMessageItem
  • ReasoningItem
  • CommandExecutionItem
  • FileChangeItem
  • McpToolCallItem
  • WebSearchItem
  • TodoListItem
  • ErrorItem