ReqManagedAgents.Providers.ClaudeManagedAgents.Client (ReqManagedAgents v0.13.3)

Copy Markdown View Source

Low-level control-plane HTTP client for Claude Managed Agents (agents, sessions, events) over Req. The long-lived SSE event stream lives in ReqManagedAgents.Providers.ClaudeManagedAgents.Stream.

Build one with new/1; pass it as the first argument to every call. All requests carry the managed-agents-2026-04-01 beta header.

Summary

Functions

Fetch ALL events for a session, paging via the API's opaque next_page cursor (limit 100/page). Passes the cursor back as the page query param; stops when next_page is absent/blank, or if a cursor repeats (a guard against a pathological server). Returns the flat event list.

Lists persisted events for one thread using page / next_page pagination.

Lists session threads using the API's page / next_page pagination.

Build a client. Resolves :api_key from the option, then Application.get_env(:req_managed_agents, :api_key), then ANTHROPIC_API_KEY. Alternatively resolve :bearer_token_file from the option, application env or ANTHROPIC_BEARER_TOKEN_FILE. Select exactly one source; explicit nil disables a source. Other keys fall back to application env, then defaults.

Convenience for a single event.

Types

t()

@type t() :: %ReqManagedAgents.Providers.ClaudeManagedAgents.Client{
  anthropic_version: String.t(),
  api_key: String.t() | nil,
  base_url: String.t(),
  bearer_token_file: String.t() | nil,
  beta: String.t(),
  files_beta: String.t(),
  profile: atom(),
  receive_timeout: timeout(),
  req_options: keyword()
}

Functions

list_all_events(c, session_id, params \\ %{})

Fetch ALL events for a session, paging via the API's opaque next_page cursor (limit 100/page). Passes the cursor back as the page query param; stops when next_page is absent/blank, or if a cursor repeats (a guard against a pathological server). Returns the flat event list.

list_thread_events(c, session_id, thread_id, params \\ %{})

@spec list_thread_events(
  t() | ReqManagedAgents.Client.t(),
  String.t(),
  String.t(),
  map()
) ::
  {:ok, map()} | {:error, term()}

Lists persisted events for one thread using page / next_page pagination.

list_threads(c, session_id, params \\ %{})

@spec list_threads(t() | ReqManagedAgents.Client.t(), String.t(), map()) ::
  {:ok, map()} | {:error, term()}

Lists session threads using the API's page / next_page pagination.

new(opts \\ [])

@spec new(keyword()) :: t()

Build a client. Resolves :api_key from the option, then Application.get_env(:req_managed_agents, :api_key), then ANTHROPIC_API_KEY. Alternatively resolve :bearer_token_file from the option, application env or ANTHROPIC_BEARER_TOKEN_FILE. Select exactly one source; explicit nil disables a source. Other keys fall back to application env, then defaults.

send_event(c, session_id, event)

Convenience for a single event.