Python 88.3%
TypeScript 7.6%
Shell 4.1%
1[2 {3 "provider": "anthropic",4 "language": "python",5 "package": "anthropic",6 "version_seen": "1.7.0 (installed in .venv; docs: Python ≥3.10, v1 migration guide)",7 "install": "pip install anthropic # extras: anthropic[bedrock], anthropic[vertex], anthropic[aws], anthropic[aiohttp]",8 "client": "from anthropic import Anthropic, AsyncAnthropic; client = Anthropic() # reads ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN",9 "status": [10 "DOCUMENTED",11 "LIVE_VERIFIED"12 ],13 "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/python",14 "messages": {15 "create": "client.messages.create(model, max_tokens, messages, …, stream=False) -> Message | Stream[RawMessageStreamEvent]",16 "stream": "with client.messages.stream(...) as stream: stream.text_stream / for event in stream / stream.get_final_message() / stream.get_final_text() / stream.until_done() / stream.current_message_snapshot / stream.request_id",17 "parse": "client.messages.parse(..., output_format=PydanticModel) — structured outputs helper (translates to output_config.format)",18 "count_tokens": "client.messages.count_tokens(model, messages, system?, tools?, thinking?, output_config?) -> MessageTokensCount",19 "batches": "client.messages.batches.*"20 },21 "beta": "client.beta.messages.create(betas=[...]) / .stream / .parse / .count_tokens / .tool_runner(tools=[@beta_tool functions]) ; client.beta.models",22 "models": "client.models.list() (auto-paginates: for m in client.models.list()) / client.models.retrieve(id) / .has_next_page() / .get_next_page()",23 "completions_legacy": "REMOVED in 1.x: `Anthropic().completions` raises AttributeError (verified on 1.7.0)",24 "removed_params_1_7_0": "LIVE_DISCOVERED: messages.create/stream/parse and beta.messages.create in anthropic 1.7.0 have NO `temperature`, `top_p`, `top_k` keyword arguments (TypeError 'unexpected keyword argument'); pass them via extra_body={'temperature': 0.2} for models that still accept them. New kwargs: user_profile_id, workspace_id. count_tokens/stream still accept legacy `output_format`.",25 "retries": "DEFAULT_MAX_RETRIES=2; retries connection errors, 408, 409, 429, >=500 (and APITimeoutError); backoff INITIAL_RETRY_DELAY 0.5s → MAX_RETRY_DELAY 8s with jitter; honors retry-after; client option max_retries / with_options(max_retries=…)",26 "timeouts": "DEFAULT_TIMEOUT = httpx2.Timeout(connect=5, read=600, write=600, pool=600) i.e. 10 min; raises APITimeoutError; non-streaming requests expected >10 min raise ValueError unless stream=True or timeout overridden; MODEL_NONSTREAMING_TOKENS caps (Opus 4/4.1 ids: 8192)",27 "raw_response": "client.messages.with_raw_response.create(...) -> APIResponse (.headers, .parse()); with_streaming_response for lazy bodies; message._request_id",28 "errors": "APIError > APIStatusError(BadRequestError 400, AuthenticationError 401, PermissionDeniedError 403, NotFoundError 404, ConflictError 409, UnprocessableEntityError 422, RateLimitError 429, RequestTooLargeError 413, InternalServerError ≥500, OverloadedError 529, ServiceUnavailableError, DeadlineExceededError), APIConnectionError, APITimeoutError, plus WIF errors (CredentialsError, WorkloadIdentityError, IdentityTokenFileError)",29 "types": "request params = TypedDicts (anthropic.types.MessageParam, …); responses = Pydantic models (.model_dump(), .to_json(), model_extra for undocumented fields)",30 "headers": "sends anthropic-version 2023-06-01; default_headers / extra_headers / extra_body / extra_query for undocumented fields; client.get/post for undocumented endpoints",31 "middleware": "client.with_middleware([...]) / middleware=[] option; built-in refusal-fallback middleware",32 "cloud_clients": "AnthropicBedrockMantle (new Bedrock), AnthropicBedrock (bedrock-runtime), AnthropicVertex / AnthropicGoogleCloud, AnthropicAWS (beta, workspace_id / ANTHROPIC_AWS_WORKSPACE_ID), AnthropicFoundry — all in the base package, async twins",33 "logging": "ANTHROPIC_LOG=debug|info",34 "verification": {35 "method": "live_api",36 "verified_at": "2026-09-18",37 "result": "success",38 "http_status": 200,39 "request_note": "examples/anthropic/messages/*.py and streaming/*.py executed with .venv/bin/python (anthropic 1.7.0)"40 },41 "_fragment": "generated/fragments/sdks/anthropic-sdks.json"42 },43 {44 "provider": "anthropic",45 "language": "typescript",46 "package": "@anthropic-ai/sdk",47 "version_seen": "0.126.0 (installed in node_modules; docs: TS ≥5.0, Node 20+, Deno, Bun, Workers, Edge; browsers need dangerouslyAllowBrowser)",48 "install": "npm install @anthropic-ai/sdk",49 "client": "import Anthropic from '@anthropic-ai/sdk'; const client = new Anthropic({ apiKey?, authToken?, maxRetries?, timeout?, logLevel? })",50 "status": [51 "DOCUMENTED",52 "LIVE_VERIFIED"53 ],54 "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/typescript",55 "messages": {56 "create": "client.messages.create(params) -> Promise<Message> | (stream: true) -> Stream<RawMessageStreamEvent> (async iterable; stream.controller.abort())",57 "stream": "client.messages.stream(params) -> MessageStream: .on('text'|'message'|'contentBlock'|'streamEvent'|'error'|'finalMessage'), for await (const ev of stream), await stream.finalMessage(), stream.finalText(), stream.request_id",58 "countTokens": "client.messages.countTokens(params) -> MessageTokensCount",59 "batches": "client.messages.batches.*"60 },61 "beta": "client.beta.messages.create({betas: [...]}) / .stream / .countTokens / .toolRunner({tools: [betaTool|betaZodTool], …}) ; ToolError for tool failures; MCP helpers (convert MCP tools/prompts/resources)",62 "models": "client.models.list() (for await auto-pagination; .getNextPage()) / client.models.retrieve(id)",63 "completions_legacy": "client.completions.create({model, prompt, max_tokens_to_sample}) still typed in 0.126.0 (endpoint returns 400 deprecated live)",64 "retries": "maxRetries default 2; retries connection errors, 408, 409, 429, >=500; honors retry-after and x-should-retry",65 "timeouts": "DEFAULT_TIMEOUT 600000 ms (10 min); for non-streaming with large max_tokens the timeout scales: expected = 60min * max_tokens / 128000, and if expected > 10 min (or max_tokens > model non-streaming cap) it throws AnthropicError 'Streaming is required for operations that may take longer than 10 minutes'; APIConnectionTimeoutError on timeout",66 "raw_response": "await client.messages.create(...).asResponse() (headers only) / .withResponse() -> {data, response, request_id}; message._request_id",67 "errors": "APIError > BadRequestError, AuthenticationError, PermissionDeniedError, NotFoundError, ConflictError, UnprocessableEntityError, RateLimitError, InternalServerError; APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, RetryableError, AnthropicError",68 "types": "import type { MessageParam, Message, RawMessageStreamEvent } from '@anthropic-ai/sdk/resources/messages'",69 "headers": "sends anthropic-version 2023-06-01; per-request { headers, query, body } options; // @ts-expect-error for undocumented params",70 "cloud_clients": "@anthropic-ai/vertex-sdk (AnthropicVertex), @anthropic-ai/bedrock-sdk (AnthropicBedrockMantle, AnthropicBedrock), @anthropic-ai/aws-sdk (AnthropicAws, beta), @anthropic-ai/foundry-sdk (AnthropicFoundry)",71 "logging": "ANTHROPIC_LOG or logLevel option: debug|info|warn(default)|error|off; custom logger",72 "verification": {73 "method": "live_api",74 "verified_at": "2026-09-18",75 "result": "success",76 "http_status": 200,77 "request_note": "examples *.ts executed with node --env-file=.env --experimental-strip-types (@anthropic-ai/sdk 0.126.0)"78 },79 "_fragment": "generated/fragments/sdks/anthropic-sdks.json"80 },81 {82 "provider": "anthropic",83 "language": "go",84 "package": "github.com/anthropics/anthropic-sdk-go",85 "version_seen": "docs: Go ≥1.24 (param.SetJSON needs ≥1.20.0)",86 "install": "go get github.com/anthropics/anthropic-sdk-go",87 "client": "client := anthropic.NewClient(option.WithAPIKey(...))",88 "status": [89 "DOCUMENTED"90 ],91 "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/go",92 "messages": "client.Messages.New(ctx, anthropic.MessageNewParams{...}) ; client.Messages.NewStreaming(ctx, params) -> stream.Next()/Current(); message.Accumulate(event) ; client.Messages.CountTokens",93 "retries": "2 by default (connection errors, 408, 409, 429, >=500); option.WithMaxRetries",94 "timeouts": "non-streaming Messages: 10 min default; others none; context deadline or option.WithRequestTimeout (per retry)",95 "errors": "*anthropic.Error with StatusCode, Request, Response (errors.As); transport errors unwrapped (*url.Error)",96 "raw_response": "option.WithResponseInto(&httpResp) → Header.Get(\"request-id\")",97 "middleware": "option.WithMiddleware (client then method, concatenated)",98 "cloud_clients": "bedrock / vertex sub-packages",99 "_fragment": "generated/fragments/sdks/anthropic-sdks.json"100 },101 {102 "provider": "anthropic",103 "language": "java",104 "package": "com.anthropic:anthropic-java",105 "version_seen": "2.63.0 (docs); Java ≥8",106 "install": "implementation(\"com.anthropic:anthropic-java:2.63.0\") // or Maven <dependency>",107 "client": "AnthropicClient client = AnthropicOkHttpClient.fromEnv(); AnthropicClientAsync async = AnthropicOkHttpClientAsync.fromEnv();",108 "status": [109 "DOCUMENTED"110 ],111 "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/java",112 "messages": "client.messages().create(MessageCreateParams.builder()...build()) ; client.messages().createStreaming(params) -> StreamResponse<RawMessageStreamEvent> (try-with-resources, .stream()) ; MessageAccumulator.create().accumulate(event).message() ; client.async().messages().createStreaming(params).subscribe(...) ; countTokens ; batches",113 "retries": "maxRetries builder option (default 2)",114 "timeouts": "timeout builder option; 10 min default for non-streaming",115 "errors": "AnthropicException > AnthropicServiceException (HTTP: BadRequestException, AuthenticationException, PermissionDeniedException, NotFoundException, UnprocessableEntityException, RateLimitException, InternalServerException…), AnthropicIoException, AnthropicRetryableException, AnthropicInvalidDataException",116 "raw_response": "client.messages().withRawResponse().create(params) -> HttpResponseFor<Message> (.requestId(), .headers())",117 "pagination": "auto-paginating iterators for list endpoints",118 "_fragment": "generated/fragments/sdks/anthropic-sdks.json"119 },120 {121 "provider": "anthropic",122 "language": "ruby",123 "package": "anthropic (gem)",124 "version_seen": "docs (Sorbet types)",125 "install": "bundle add anthropic",126 "client": "client = Anthropic::Client.new(api_key: ENV['ANTHROPIC_API_KEY'])",127 "status": [128 "DOCUMENTED"129 ],130 "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/ruby",131 "messages": "client.messages.create(model:, max_tokens:, messages:) ; client.messages.stream(...) → stream.text / .accumulated_message ; client.messages.count_tokens",132 "retries": "max_retries (default 2) on client or request_options: {max_retries:}",133 "timeouts": "timeout: (default 10 min) client or request_options",134 "errors": "Anthropic::Errors::APIError > BadRequestError 400, AuthenticationError 401, PermissionDeniedError 403, NotFoundError 404, ConflictError 409, UnprocessableEntityError 422, RateLimitError 429, InternalServerError ≥500, APIStatusError (other), APITimeoutError, APIConnectionError",135 "raw_response": "per-request middleware (request_options: {middleware: [...]}) to read response.headers['request-id']",136 "_fragment": "generated/fragments/sdks/anthropic-sdks.json"137 },138 {139 "provider": "anthropic",140 "language": "csharp",141 "package": "Anthropic (NuGet)",142 "version_seen": "≥10 is the official SDK (≤3.x was tryAGI); .NET Standard 2.0+",143 "install": "dotnet add package Anthropic",144 "client": "AnthropicClient client = new() { MaxRetries = 3, Timeout = TimeSpan.FromSeconds(42) };",145 "status": [146 "DOCUMENTED"147 ],148 "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/csharp",149 "messages": "await client.Messages.Create(new MessageCreateParams {...}) ; await foreach (var ev in client.Messages.CreateStreaming(parameters)) ; .CreateStreaming(p).Aggregate() → Message ; MessageContentAggregator with .CollectAsync() ; client.WithRawResponse.Messages.Create(...) → response.RequestID ; IChatClient integration",150 "retries": "MaxRetries default 2 (client or `options with { MaxRetries = 3 }`)",151 "timeouts": "Timeout property",152 "errors": "AnthropicApiException (AnthropicBadRequestException 400, AnthropicUnauthorizedException 401, AnthropicForbiddenException 403, AnthropicNotFoundException 404, AnthropicUnprocessableEntityException 422, AnthropicRateLimitException 429, Anthropic5xxException; all 4xx inherit Anthropic4xxException), AnthropicSseException (mid-stream), AnthropicIOException",153 "_fragment": "generated/fragments/sdks/anthropic-sdks.json"154 },155 {156 "provider": "anthropic",157 "language": "php",158 "package": "anthropic-ai/sdk",159 "version_seen": "beta (docs: APIs may change); PSR-18 client, Guzzle recommended",160 "install": "composer require \"anthropic-ai/sdk\" \"guzzlehttp/guzzle:^7\"",161 "client": "$client = new Anthropic\\Client(apiKey: ...);",162 "status": [163 "DOCUMENTED",164 "BETA"165 ],166 "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/php",167 "messages": "$client->messages->create(model:, maxTokens:, messages:) ; $client->messages->createStream(...) foreach $event ; Anthropic\\Lib\\Streaming\\MessageAccumulator::forMessages()->accumulate($event)->message() ; $client->messages->raw->create(...) → getHeaderLine('request-id')",168 "retries": "RequestOptions::with(maxRetries: n) (default 2; connection errors, 408, 409, 429, >=500, timeouts)",169 "errors": "APIStatusException (other HTTP), APITimeoutException, APIConnectionException (+ per-status subclasses)",170 "streaming_note": "requires an incremental PSR-18 client; buffering clients yield all events at once",171 "_fragment": "generated/fragments/sdks/anthropic-sdks.json"172 },173 {174 "provider": "anthropic",175 "language": "cli",176 "package": "ant (anthropic-cli)",177 "version_seen": "1.33.0 in docs (ant apply ≥1.30.0, sessions connect ≥1.32.0)",178 "install": "brew install anthropics/tap/ant | release tarball from github.com/anthropics/anthropic-cli/releases | go install github.com/anthropics/anthropic-cli/cmd/ant@latest",179 "client": "ant auth login (OAuth, workspace-scoped token) | ANTHROPIC_API_KEY | --api-key | ANTHROPIC_AUTH_TOKEN | WIF profiles (ant profile set …)",180 "status": [181 "DOCUMENTED"182 ],183 "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/cli/quickstart",184 "messages": "ant messages create --model claude-opus-5 --max-tokens 1024 --message '{role: user, content: \"Hello\"}' [--system @file.md] [--tool …] [--stream --format jsonl] [--beta a,b] [--workspace-id wrkspc_…]",185 "count_tokens": "ant messages count-tokens … (resource action pattern; beta: prefix for beta resources adds the header automatically)",186 "models": "ant models list | ant models retrieve <id>",187 "global_flags": "--profile, --format auto|json|jsonl|yaml|pretty|raw|explore, --transform <GJSON>, -r/--raw-output, --base-url, --workspace-id, --debug (prints request/response, keys redacted), --format-error, --transform-error",188 "input": "flags for scalars; stdin JSON/YAML document (heredoc) merged with flags (flags win); @path inlines file contents (binary auto base64; @file:// / @data:// force; \\@ escapes)",189 "auth_commands": "ant auth login [--scope org:admin] | ant auth status | ant auth logout [--all] | ant auth print-credentials --access-token (use as Authorization: Bearer for curl)",190 "other": "ant apply (agents/environments/skills/memory stores/deployments as files, claude-lock.json, --dry-run --yes --force --prune) ; ant beta:sessions connect --session-id … [--web] ; ant @completion zsh|bash|fish|powershell",191 "verification": {192 "method": "docs_only",193 "verified_at": "2026-09-18",194 "result": "skipped",195 "http_status": null,196 "request_note": "ant not installed locally; documented only"197 },198 "_fragment": "generated/fragments/sdks/anthropic-sdks.json"199 },200 {201 "provider": "anthropic",202 "language": "libraries",203 "package": "openai-sdk compatibility / apple-foundation-models",204 "version_seen": "n/a",205 "install": "see pages",206 "client": "OpenAI SDK pointed at the Claude API compatibility layer; Swift package for Apple LanguageModelSession",207 "status": [208 "DOCUMENTED"209 ],210 "source": "https://platform.claude.com/docs/en/cli-sdks-libraries/libraries/openai-sdk",211 "note": "Not general-purpose Messages clients; documented under cli-sdks-libraries/libraries.",212 "_fragment": "generated/fragments/sdks/anthropic-sdks.json"213 },214 {215 "provider": "gemini",216 "language": "python",217 "package": "google-genai",218 "version_seen": "2.24.0 (installed in .venv; pyproject requires-python >=3.10)",219 "install": "pip install google-genai # extras: google-genai[aiohttp] for a faster async transport",220 "client": "from google import genai; client = genai.Client() # reads GEMINI_API_KEY / GOOGLE_API_KEY (GOOGLE_API_KEY wins if both set); genai.Client(api_key=...) explicit; genai.Client(vertexai=True, project=..., location=...) or env GOOGLE_GENAI_USE_VERTEXAI=true + GOOGLE_CLOUD_PROJECT + GOOGLE_CLOUD_LOCATION for Gemini Enterprise Agent Platform (Vertex AI)",221 "status": [222 "DOCUMENTED",223 "LIVE_VERIFIED"224 ],225 "source": "https://ai.google.dev/gemini-api/docs/libraries",226 "http_options": "types.HttpOptions(api_version='v1'|'v1beta'(default)|'v1alpha', base_url=, base_url_resource_scope=, headers={}, timeout=<ms>, client_args={}, async_client_args={}, extra_body={}, retry_options=HttpRetryOptions(attempts, initial_delay, max_delay, exp_base, jitter, http_status_codes), httpx_client=, httpx_async_client=); per-request via config=types.GenerateContentConfig(http_options=...)",227 "retries": "Automatic exponential backoff for transient errors (429, 5xx, timeouts, network): default up to 4 attempts, initial delay ~1 s, max 60 s (troubleshooting.md); tune with HttpRetryOptions",228 "models": "client.models.generate_content(model, contents, config=GenerateContentConfig(system_instruction, temperature, max_output_tokens, thinking_config=ThinkingConfig(thinking_level|thinking_budget, include_thoughts), response_mime_type, response_schema|response_json_schema, tools=[Tool(google_search=..., code_execution=..., url_context=..., function_declarations=...)], cached_content, safety_settings, media_resolution, ...)) -> GenerateContentResponse (.text, .parsed, .candidates, .usage_metadata); generate_content_stream(...) -> iterator of chunks; count_tokens / compute_tokens; embed_content(model, contents, config=EmbedContentConfig(task_type, output_dimensionality)); list() / get(model=) -> types.Model (name, display_name, version, input_token_limit, output_token_limit, supported_actions, temperature, max_temperature, ...); generate_images / edit_image / upscale_image (Imagen, retired on Gemini API); generate_videos (Veo, long-running operation polled via client.operations.get)",229 "async": "client.aio.models.generate_content(...) / async for chunk in await client.aio.models.generate_content_stream(...); aiohttp transport via google-genai[aiohttp]",230 "chats": "client.chats.create(model=) -> chat.send_message / send_message_stream (client-side history)",231 "files": "client.files.upload(file=path|IO, config=UploadFileConfig(display_name, mime_type)); files.get / list / delete; files.download(file=) for generated files (Batch output)",232 "caches": "client.caches.create(model=, config=CreateCachedContentConfig(contents, system_instruction, ttl|expire_time, display_name)); caches.get/list/update/delete; use via GenerateContentConfig(cached_content=cache.name). Explicit caching is generateContent-only (Interactions API supports implicit caching only)",233 "interactions": "client.interactions.create(model=|agent=, input=, previous_interaction_id=, background=, store=, stream=, generation_config={'thinking_level':...}, tools=[...]) -> Interaction (.output_text, .steps, .id); interactions.get(id); interactions.cancel; SDK >= 1.55.0 required",234 "live": "async with client.aio.live.connect(model=, config=LiveConnectConfig(response_modalities, speech_config, session_resumption, context_window_compression, ...)) as session: session.send_client_content / send_realtime_input / receive(); client.auth_tokens.create(...) for ephemeral tokens (Live only); client.aio.live.music.connect(...) for Lyria RealTime",235 "batches": "client.batches.create(model=, src=file name | inline requests, config=CreateBatchJobConfig(display_name)); batches.get/list/cancel/delete; embeddings batches via asyncBatchEmbedContent",236 "file_search": "client.file_search_stores.create / upload_to_file_search_store / import_file / documents.*; tool Tool(file_search=FileSearch(file_search_store_names=[...]))",237 "tunings": "client.tunings.tune(...) exists in the SDK for Vertex AI; no tunable model is offered on the Gemini Developer API",238 "function_calling": "Automatic Python function calling: pass Python callables in tools=[fn]; disable with automatic_function_calling=AutomaticFunctionCallingConfig(disable=True); tool_config=ToolConfig(function_calling_config=FunctionCallingConfig(mode='ANY', allowed_function_names=[...])); MCP: pass an mcp ClientSession as a tool (experimental)",239 "structured_output": "response_mime_type='application/json' + response_schema=Pydantic model | types.Schema, or response_json_schema=<JSON Schema dict> (recommended on Gemini 3); response.parsed",240 "errors": "google.genai.errors.APIError (code, message, status, details), ClientError (4xx), ServerError (5xx); FunctionInvocationError",241 "openai_compat": "Not part of google-genai; use `openai` SDK with base_url='https://generativelanguage.googleapis.com/v1beta/openai/' and api_key=GEMINI_API_KEY",242 "legacy": "google-generativeai (import google.generativeai) deprecated 2025-11-30; migrate guide: https://ai.google.dev/gemini-api/docs/migrate",243 "_fragment": "generated/fragments/sdks/gemini-sdks.json"244 },245 {246 "provider": "gemini",247 "language": "typescript",248 "package": "@google/genai",249 "version_seen": "2.23.0 (installed in node_modules; package.json version 2.23.0)",250 "install": "npm install @google/genai",251 "client": "import { GoogleGenAI } from '@google/genai'; const ai = new GoogleGenAI({ apiKey?, vertexai?, project?, location?, httpOptions?: { apiVersion, baseUrl, headers, timeout } }) // Node reads GEMINI_API_KEY / GOOGLE_API_KEY (GOOGLE_API_KEY precedence); GOOGLE_GENAI_USE_VERTEXAI=true switches backend; browser: identical init but never ship a long-lived key - use ephemeral tokens for Live",252 "status": [253 "DOCUMENTED"254 ],255 "source": "https://ai.google.dev/gemini-api/docs/libraries",256 "http_options": "httpOptions: { apiVersion: 'v1' | 'v1beta' (default) | 'v1alpha', baseUrl, headers, timeout }",257 "models": "ai.models.generateContent({ model, contents, config: { systemInstruction, thinkingConfig: { thinkingLevel | thinkingBudget, includeThoughts }, responseMimeType, responseJsonSchema | responseSchema, tools: [{ googleSearch: {} }, { codeExecution: {} }, { urlContext: {} }, { functionDeclarations: [...] }], cachedContent, safetySettings, maxOutputTokens, ... } }) -> response.text / response.candidates / response.usageMetadata; generateContentStream -> async iterable; countTokens; computeTokens (Vertex); embedContent({ model, contents, config: { taskType, outputDimensionality } }); models.list() (pager) / models.get({ model }); generateVideos (Veo LRO) + operations.getVideosOperation; generateImages (Imagen, retired on Gemini API)",258 "chats": "ai.chats.create({ model, history }) -> chat.sendMessage / sendMessageStream",259 "files": "ai.files.upload({ file: path | Blob, config: { mimeType, displayName } }); files.get / list / delete / download",260 "caches": "ai.caches.create({ model, config: { contents, systemInstruction, ttl } }); get / list / update / delete",261 "interactions": "ai.interactions.create({ model | agent, input, previous_interaction_id, background, store, stream, generation_config, tools }) -> interaction.output_text / .steps; interactions.get(id); SDK >= 1.33.0",262 "live": "const session = await ai.live.connect({ model, config: { responseModalities, speechConfig, sessionResumption: { handle }, contextWindowCompression }, callbacks: { onopen, onmessage, onerror, onclose } }); session.sendClientContent / sendRealtimeInput / sendToolResponse / close(); ai.authTokens.create(...) for ephemeral tokens; ai.live.music.connect for Lyria RealTime",263 "batches": "ai.batches.create({ model, src, config }) / get / list / cancel / delete",264 "file_search": "ai.fileSearchStores.create / uploadToFileSearchStore / importFile / documents.*",265 "errors": "ApiError { status, message } thrown for non-2xx; streaming errors surface when iterating",266 "function_calling": "functionDeclarations with JSON-schema parameters; toolConfig: { functionCallingConfig: { mode: 'ANY' | 'AUTO' | 'NONE', allowedFunctionNames } }; MCP via mcpToTool(client) (experimental)",267 "legacy": "@google/generative-ai (google-gemini/generative-ai-js) deprecated 2025-11-30 - not actively maintained; @google/generative_language and @google-cloud/vertexai are previous-generation SDKs",268 "_fragment": "generated/fragments/sdks/gemini-sdks.json"269 },270 {271 "provider": "gemini",272 "language": "go",273 "package": "google.golang.org/genai",274 "version_seen": "not installed here",275 "install": "go get google.golang.org/genai",276 "client": "client, err := genai.NewClient(ctx, &genai.ClientConfig{APIKey: os.Getenv(\"GEMINI_API_KEY\"), Backend: genai.BackendGeminiAPI}) // Vertex: Project, Location, Backend: genai.BackendVertexAI",277 "status": [278 "DOCUMENTED"279 ],280 "source": "https://ai.google.dev/gemini-api/docs/libraries",281 "models": "client.Models.GenerateContent(ctx, model, genai.Text(...), config) / GenerateContentStream / CountTokens / EmbedContent / List(ctx, &genai.ListModelsConfig{}) (Items[].SupportedActions) / Get",282 "legacy": "github.com/google/generative-ai-go deprecated 2025-11-30",283 "_fragment": "generated/fragments/sdks/gemini-sdks.json"284 },285 {286 "provider": "gemini",287 "language": "java",288 "package": "com.google.genai:google-genai",289 "version_seen": "docs snippet pins 1.0.0 (Maven); current releases include the Interactions client com.google.genai.gaos.models.interactions.*",290 "install": "Maven dependency com.google.genai:google-genai",291 "client": "Client client = Client.builder().apiKey(\"...\").httpOptions(HttpOptions.builder().apiVersion(\"v1\").build()).build(); or new Client() reading GOOGLE_API_KEY/GEMINI_API_KEY; Vertex: .vertexAI(true).project().location()",292 "status": [293 "DOCUMENTED"294 ],295 "source": "https://ai.google.dev/gemini-api/docs/libraries",296 "models": "client.models.generateContent(model, contents, GenerateContentConfig) / generateContentStream / countTokens / embedContent; client.interactions.create(CreateInteractionRequestBody.of(CreateModelInteraction.builder().model(Model.of(\"gemini-3.8-flash\")).input(InteractionsInput.of(...)).generationConfig(GenerationConfig.builder().thinkingLevel(ThinkingLevel.LOW)).serviceTier(ServiceTier.FLEX)))",297 "legacy": "no legacy Google Java SDK existed",298 "_fragment": "generated/fragments/sdks/gemini-sdks.json"299 },300 {301 "provider": "gemini",302 "language": "csharp",303 "package": "Google.GenAI",304 "version_seen": "not installed here",305 "install": "dotnet add package Google.GenAI",306 "client": "new Client() / Client with apiKey; repo googleapis/dotnet-genai",307 "status": [308 "DOCUMENTED"309 ],310 "source": "https://ai.google.dev/gemini-api/docs/libraries",311 "_fragment": "generated/fragments/sdks/gemini-sdks.json"312 },313 {314 "provider": "gemini",315 "language": "rest",316 "package": "curl / any HTTP client",317 "version_seen": "v1beta (default in SDKs), v1 (stable), v1alpha (SDK-selectable, undocumented surface)",318 "install": "n/a",319 "client": "curl https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent -H 'x-goog-api-key: $GEMINI_API_KEY' -H 'Content-Type: application/json' -d '{\"contents\":[{\"parts\":[{\"text\":\"...\"}]}]}' ; streaming: ...:streamGenerateContent?alt=sse ; Interactions: POST /v1beta/interactions ; Live: WSS wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent (key via query or ephemeral token) ; uploads: /upload/v1beta/files (resumable X-Goog-Upload-*) ; downloads: /download/v1beta/files/{name}:download?alt=media",320 "status": [321 "DOCUMENTED",322 "LIVE_VERIFIED"323 ],324 "source": "https://ai.google.dev/api",325 "_fragment": "generated/fragments/sdks/gemini-sdks.json"326 },327 {328 "provider": "gemini",329 "language": "openai-compatible",330 "package": "openai (Python 3.16.2 installed in .venv) / openai (Node)",331 "version_seen": "beta compatibility layer",332 "install": "pip install openai / npm install openai",333 "client": "OpenAI(api_key=GEMINI_API_KEY, base_url='https://generativelanguage.googleapis.com/v1beta/openai/') # key MUST travel as Authorization: Bearer",334 "status": [335 "DOCUMENTED",336 "LIVE_VERIFIED"337 ],338 "source": "https://ai.google.dev/gemini-api/docs/openai",339 "supports": "chat.completions (streaming, function calling/tools, image_url, input_audio, response_format JSON schema via beta.chat.completions.parse, reasoning_effort -> thinking_level/budget, service_tier flex|priority, n, stream_options.include_usage, extra_body.google.{thinking_config,cached_content}); embeddings; images.generate (gemini-2.5-flash-image, gemini-3-pro-image-preview; n, size, response_format, extra_body aspect_ratio/generation_config/safety_settings/tools); videos.create/retrieve (veo-3.1-generate-preview; Sora-style LRO); batches.create/retrieve (files must be uploaded/downloaded with the genai SDK); models.list / models.retrieve. Responses API, audio.speech, audio.transcriptions, files, fine-tuning, moderations: not documented",340 "live_2026_09_19": "chat.completions gemini-3.5-flash-lite -> 200 {choices[0].message.content:'OK.', extra_content.google.thought_signature, finish_reason:'stop', usage:{prompt_tokens:5,completion_tokens:2,total_tokens:7}}; GET /openai/models -> 58 ids (object 'list', ids prefixed 'models/'); GET /openai/models/gemini-3.8-flash -> {id:'models/gemini-3.8-flash', object:'model', owned_by:'google', display_name}",341 "_fragment": "generated/fragments/sdks/gemini-sdks.json"342 },343 {344 "provider": "gemini",345 "language": "apps-script / firebase / other",346 "package": "Firebase AI Logic (Web, iOS, Android, Flutter), Genkit (Dart/JS/Go), Vercel AI SDK, LangGraph, CrewAI, LlamaIndex, Temporal examples",347 "version_seen": "n/a",348 "install": "see framework docs",349 "client": "Client-side mobile/web apps should use Firebase AI Logic (App Check, no exposed key) rather than the raw key; docs pages: vercel-ai-sdk-example, langgraph-example, crewai-example, llama-index, temporal-example",350 "status": [351 "DOCUMENTED"352 ],353 "source": "https://ai.google.dev/gemini-api/docs/libraries",354 "_fragment": "generated/fragments/sdks/gemini-sdks.json"355 },356 {357 "provider": "openai",358 "language": "python",359 "package": "openai (PyPI)",360 "repo": "https://github.com/openai/openai-python",361 "version_seen": "3.16.2 (installed in .venv; pyproject in sources/openai/openapi/python-sdk-pyproject.toml)",362 "admin_api_support_since": "2.34.0",363 "requires": "Python >= 3.9; httpx, pydantic v2",364 "install": "pip install openai # or: uv pip install openai",365 "client": "from openai import OpenAI\nclient = OpenAI() # reads OPENAI_API_KEY; optional: api_key=, admin_api_key= (OPENAI_ADMIN_KEY), organization= (OPENAI_ORG_ID), project= (OPENAI_PROJECT_ID), webhook_secret= (OPENAI_WEBHOOK_SECRET), workload_identity=, base_url= (OPENAI_BASE_URL), timeout=, max_retries=, default_headers=, http_client=",366 "async": "from openai import AsyncOpenAI\nclient = AsyncOpenAI(); resp = await client.responses.create(...) # every resource has an async twin; async streams use `async for`/`async with`",367 "streaming": "stream = client.responses.create(..., stream=True); for event in stream: ... | helper: with client.responses.stream(...) as s: for event in s: ...; s.get_final_response() | chat: client.chat.completions.stream(...) ; beta.chat.completions.parse for structured outputs",368 "retries": {369 "default_max_retries": 2,370 "retried_statuses": [371 "408",372 "409",373 "429",374 ">=500",375 "connection errors"376 ],377 "backoff": "exponential from INITIAL_RETRY_DELAY=0.5 s to MAX_RETRY_DELAY=8 s with jitter; honours `retry-after-ms` then `Retry-After` (seconds or HTTP-date) if <= 60 s; `x-should-retry: true|false` header overrides",378 "configure": "OpenAI(max_retries=5) or client.with_options(max_retries=0).responses.create(...)"379 },380 "timeouts": {381 "default": "httpx.Timeout(timeout=600, connect=5.0) — 10 min total, 5 s connect",382 "configure": "OpenAI(timeout=20.0) or with_options(timeout=httpx.Timeout(60.0, read=5.0, write=10.0, connect=2.0)); APITimeoutError raised on expiry (retried by default)"383 },384 "raw_response": "resp = client.responses.with_raw_response.create(...); resp.headers['x-request-id']; parsed = resp.parse() | streaming body: client.files.with_streaming_response.content(id)",385 "request_id": "response._request_id (set from the x-request-id header on every parsed object); on errors: e.request_id",386 "pagination": "Auto-iterate: for job in client.fine_tuning.jobs.list(limit=20): ... (SyncPage/SyncCursorPage/SyncConversationCursorPage/SyncNextCursorPage; .has_next_page(), .get_next_page(), .iter_pages()); async: async for x in client....list()",387 "types": "Pydantic models under openai.types.* (e.g. openai.types.responses.Response); request params as TypedDicts (openai.types.*_params); `model_dump()` / `.to_dict()`; NotGiven sentinel `openai.NOT_GIVEN`",388 "errors": "openai.APIError base; APIStatusError subclasses: BadRequestError(400), AuthenticationError(401), PermissionDeniedError(403), NotFoundError(404), ConflictError(409), UnprocessableEntityError(422), RateLimitError(429), InternalServerError(>=500 incl. 503); APIConnectionError, APITimeoutError; InvalidWebhookSignatureError. Attributes: .status_code, .code, .param, .type, .body, .request_id, .response",389 "webhooks": "client.webhooks.unwrap(payload: str|bytes, headers, *, secret=None) -> typed UnwrapWebhookEvent (raises InvalidWebhookSignatureError); client.webhooks.verify_signature(payload, headers, *, secret=None, tolerance=300); webhook endpoints CRUD: client.webhooks.create/retrieve/update/list/delete/rotate_secret/test, client.webhooks.event_types.list()",390 "admin": "client = OpenAI(admin_api_key=os.environ['OPENAI_ADMIN_KEY']); client.admin.organization.{users,invites,projects,audit_logs,admin_api_keys,usage,roles,groups,spend_limit,spend_alerts,data_retention,certificates}... and client.admin.organization.projects.{api_keys,service_accounts,users,groups,rate_limits,model_permissions,hosted_tool_permissions,spend_alerts,spend_limit,data_retention,certificates}",391 "azure": "from openai import AzureOpenAI, AsyncAzureOpenAI — AzureOpenAI(api_version=..., azure_endpoint=..., api_key= or azure_ad_token_provider=); same resource surface with deployment names as `model`",392 "realtime": "client.realtime.connect(model=...) / AsyncOpenAI().realtime.connect(...) websocket context manager (async with ... as conn: await conn.session.update(...); async for event in conn)",393 "agents_sdk": "Separate package `openai-agents` (https://github.com/openai/openai-agents-python) for code-first orchestration (agents, tools, handoffs, guardrails, tracing)",394 "logging": "OPENAI_LOG=debug|info env var",395 "docs_url": "https://developers.openai.com/api/docs/libraries#install-an-official-sdk",396 "status": [397 "DOCUMENTED",398 "LIVE_VERIFIED"399 ],400 "verification": {401 "method": "sdk_types",402 "verified_at": "2026-09-18",403 "result": "success",404 "request_note": "constants read from installed openai 3.16.2 (_constants.py, _client.py, lib/_webhooks.py); webhooks.unwrap exercised offline in examples/openai/webhooks/offline_test.py"405 },406 "sources": [407 {408 "url": "https://developers.openai.com/api/docs/libraries",409 "retrieved_at": "2026-09-19T01:31:00Z"410 },411 {412 "url": "https://developers.openai.com/api/docs/guides/admin-apis",413 "retrieved_at": "2026-09-19T01:31:00Z"414 },415 {416 "url": "https://github.com/openai/openai-python",417 "retrieved_at": "2026-09-18"418 }419 ],420 "_fragment": "generated/fragments/sdks/openai-sdks.json"421 },422 {423 "provider": "openai",424 "language": "typescript/javascript",425 "package": "openai (npm)",426 "repo": "https://github.com/openai/openai-node",427 "version_seen": "7.18.0 installed in node_modules; 7.19.0 in sources/openai/openapi/node-sdk-package.json",428 "admin_api_support_since": "6.36.0",429 "requires": "Node >= 22 (engines), also Deno, Bun, Cloudflare Workers, Vercel Edge, browsers (dangerouslyAllowBrowser: true)",430 "install": "npm install openai # pnpm add openai / yarn add openai / deno add jsr:@openai/openai",431 "client": "import OpenAI from 'openai';\nconst client = new OpenAI(); // reads OPENAI_API_KEY; options: apiKey, adminAPIKey (OPENAI_ADMIN_KEY), organization (OPENAI_ORG_ID), project (OPENAI_PROJECT_ID), webhookSecret (OPENAI_WEBHOOK_SECRET), workloadIdentity, baseURL (OPENAI_BASE_URL), timeout, maxRetries, defaultHeaders, defaultQuery, fetch, fetchOptions, logLevel, logger",432 "async": "All methods return Promises (APIPromise); no separate async client",433 "streaming": "const stream = await client.responses.create({..., stream: true}); for await (const event of stream) {...} | helpers: client.responses.stream({...}).on('response.output_text.delta', ...) ; await stream.finalResponse(); client.chat.completions.stream(...); stream.controller.abort()",434 "retries": {435 "default_max_retries": 2,436 "retried_statuses": [437 "408",438 "409",439 "429",440 ">=500",441 "connection errors"442 ],443 "backoff": "exponential with jitter (0.5 s .. 8 s), honours retry-after-ms / Retry-After when <= 60 s, x-should-retry header",444 "configure": "new OpenAI({ maxRetries: 0 }) or per request: client.responses.create({...}, { maxRetries: 5 })"445 },446 "timeouts": {447 "default": "600000 ms (10 minutes) — OpenAI.DEFAULT_TIMEOUT",448 "configure": "new OpenAI({ timeout: 20 * 1000 }) or per request { timeout: 5000 }; throws APIConnectionTimeoutError (retried by default)"449 },450 "raw_response": "const { data, response } = await client.responses.create({...}).withResponse(); response.headers.get('x-request-id') | const raw = await client.responses.create({...}).asResponse() (fetch Response)",451 "request_id": "result._request_id (from x-request-id) on every top-level response object; error.requestID on APIError",452 "pagination": "for await (const job of client.fineTuning.jobs.list({ limit: 20 })) {...} | manual: let page = await client....list(); while (page.hasNextPage()) { page = await page.getNextPage(); }",453 "types": "TypeScript types exported from 'openai/resources/*' (e.g. import type { Response } from 'openai/resources/responses'); zodResponseFormat / zodTextFormat helpers in 'openai/helpers/zod'",454 "errors": "OpenAI.APIError base with .status, .code, .type, .param, .error, .requestID, .headers; subclasses BadRequestError(400) AuthenticationError(401) PermissionDeniedError(403) NotFoundError(404) ConflictError(409) UnprocessableEntityError(422) RateLimitError(429) InternalServerError(>=500) APIConnectionError APIConnectionTimeoutError APIUserAbortError InvalidWebhookSignatureError",455 "webhooks": "await client.webhooks.unwrap(rawBody: string, headers, secret?, tolerance = 300) -> typed event (throws OpenAI.InvalidWebhookSignatureError); await client.webhooks.verifySignature(rawBody, headers, secret?, tolerance?); endpoints: client.webhooks.create/retrieve/update/list/delete/rotateSecret/test; client.webhooks.eventTypes.list()",456 "admin": "const client = new OpenAI({ adminAPIKey: process.env.OPENAI_ADMIN_KEY }); client.admin.organization.users.list(), .invites.create(), .projects.modelPermissions.update(id, {...}), .spendAlerts.create(...), .dataRetention.update(...), .auditLogs.list({ limit: 10 }), .usage.completions({ start_time }), .usage.costs({ start_time })",457 "azure": "import { AzureOpenAI } from 'openai'; new AzureOpenAI({ apiVersion, endpoint, azureADTokenProvider? }) ; also 'openai/bedrock' shim present in the package",458 "realtime": "import { OpenAIRealtimeWebSocket } from 'openai/realtime/websocket' (server) / OpenAIRealtimeWS ('openai/realtime/ws'); browser WebRTC via ephemeral client secrets",459 "agents_sdk": "Separate package `@openai/agents` (https://github.com/openai/openai-agents-js)",460 "logging": "logLevel: 'debug' option or OPENAI_LOG=debug",461 "docs_url": "https://developers.openai.com/api/docs/libraries#install-an-official-sdk",462 "status": [463 "DOCUMENTED",464 "LIVE_VERIFIED"465 ],466 "verification": {467 "method": "sdk_types",468 "verified_at": "2026-09-18",469 "result": "success",470 "request_note": "constants read from node_modules/openai/client.js (DEFAULT_TIMEOUT=600000, maxRetries=2); webhooks.unwrap exercised offline in examples/openai/webhooks/offline_test.ts"471 },472 "sources": [473 {474 "url": "https://developers.openai.com/api/docs/libraries",475 "retrieved_at": "2026-09-19T01:31:00Z"476 },477 {478 "url": "https://github.com/openai/openai-node",479 "retrieved_at": "2026-09-18"480 }481 ],482 "_fragment": "generated/fragments/sdks/openai-sdks.json"483 },484 {485 "provider": "openai",486 "language": "csharp/.net",487 "package": "OpenAI (NuGet)",488 "repo": "https://github.com/openai/openai-dotnet",489 "version_seen": "not pinned in docs (current 2.x line); API surface uses OPENAI001 experimental attribute for Responses",490 "install": "dotnet add package OpenAI",491 "client": "using OpenAI.Responses; ResponsesClient client = new(Environment.GetEnvironmentVariable(\"OPENAI_API_KEY\")!); ResponseResult r = await client.CreateResponseAsync(\"gpt-6-astra\", \"Say hi\");",492 "async": "Async/await APIs (…Async) plus sync twins",493 "streaming": "CreateResponseStreamingAsync(...) returns IAsyncEnumerable<StreamingResponseUpdate>",494 "retries": {495 "default_max_retries": "3 (System.ClientModel pipeline default)",496 "configure": "OpenAIClientOptions.RetryPolicy"497 },498 "timeouts": {499 "default": "System.ClientModel network timeout (100 s default) — set OpenAIClientOptions.NetworkTimeout"500 },501 "raw_response": "ClientResult.GetRawResponse()",502 "request_id": "raw response headers (x-request-id)",503 "pagination": "Collection results expose GetAllValues()/GetPages() patterns",504 "azure": "Azure.AI.OpenAI (Microsoft-maintained) wraps the same client",505 "admin": "Not documented in the admin-apis guide (no version listed)",506 "docs_url": "https://developers.openai.com/api/docs/libraries#install-an-official-sdk",507 "status": [508 "DOCUMENTED",509 "UNVERIFIED"510 ],511 "verification": {512 "method": "docs_only",513 "verified_at": "2026-09-18",514 "result": "not_tested"515 },516 "sources": [517 {518 "url": "https://developers.openai.com/api/docs/libraries",519 "retrieved_at": "2026-09-19T01:31:00Z"520 }521 ],522 "_fragment": "generated/fragments/sdks/openai-sdks.json"523 },524 {525 "provider": "openai",526 "language": "java",527 "package": "com.openai:openai-java (Maven Central)",528 "repo": "https://github.com/openai/openai-java",529 "version_seen": "4.65.0 (libraries page); admin APIs since 4.34.0; labelled beta on the libraries page",530 "install": "<dependency><groupId>com.openai</groupId><artifactId>openai-java</artifactId><version>4.65.0</version></dependency>",531 "client": "OpenAIClient client = OpenAIOkHttpClient.fromEnv(); // OPENAI_API_KEY, OPENAI_ORG_ID, OPENAI_PROJECT_ID; builder().apiKey(...).adminApiKey(...).build()",532 "async": "client.async() returns OpenAIClientAsync (CompletableFuture)",533 "streaming": "client.responses().createStreaming(params) -> StreamResponse<ResponseStreamEvent>",534 "retries": {535 "default_max_retries": 2,536 "configure": "OpenAIOkHttpClient.builder().maxRetries(n)"537 },538 "timeouts": {539 "default": "10 minutes",540 "configure": ".timeout(Duration)"541 },542 "raw_response": "client.responses().withRawResponse().create(params) -> HttpResponseFor<Response>",543 "request_id": "raw response headers",544 "pagination": "page.autoPager() / page.data(); AutoPager iterables",545 "errors": "OpenAIServiceException subclasses: BadRequestException, UnauthorizedException, PermissionDeniedException, NotFoundException, UnprocessableEntityException, RateLimitException(429), InternalServerException(>=500 incl. 503); OpenAIIoException",546 "admin": "client.admin().organization().projects().modelPermissions().update(\"proj_abc\", ModelPermissionUpdateParams...)",547 "azure": "Azure OpenAI client library for Java (Microsoft)",548 "docs_url": "https://developers.openai.com/api/docs/libraries#install-an-official-sdk",549 "status": [550 "DOCUMENTED",551 "BETA",552 "UNVERIFIED"553 ],554 "verification": {555 "method": "docs_only",556 "verified_at": "2026-09-18",557 "result": "not_tested"558 },559 "sources": [560 {561 "url": "https://developers.openai.com/api/docs/libraries",562 "retrieved_at": "2026-09-19T01:31:00Z"563 },564 {565 "url": "https://developers.openai.com/api/docs/guides/admin-apis",566 "retrieved_at": "2026-09-19T01:31:00Z"567 }568 ],569 "_fragment": "generated/fragments/sdks/openai-sdks.json"570 },571 {572 "provider": "openai",573 "language": "go",574 "package": "github.com/openai/openai-go/v3",575 "repo": "https://github.com/openai/openai-go",576 "version_seen": "v3 module (admin APIs since 3.34.0); labelled beta on the libraries page",577 "install": "go get github.com/openai/openai-go/v3",578 "client": "client := openai.NewClient() // OPENAI_API_KEY; option.WithAPIKey(...), option.WithAdminAPIKey(os.Getenv(\"OPENAI_ADMIN_KEY\")), option.WithOrganization, option.WithProject, option.WithBaseURL",579 "async": "context.Context based; goroutines",580 "streaming": "stream := client.Responses.NewStreaming(ctx, params); for stream.Next() { ev := stream.Current() }; stream.Err()",581 "retries": {582 "default_max_retries": 2,583 "configure": "option.WithMaxRetries(n)"584 },585 "timeouts": {586 "default": "none beyond context; option.WithRequestTimeout(d)"587 },588 "raw_response": "var res *http.Response; client.Responses.New(ctx, params, option.WithResponseInto(&res))",589 "request_id": "res.Header.Get(\"x-request-id\")",590 "pagination": "iter := client.FineTuning.Jobs.ListAutoPaging(ctx, params); for iter.Next() {...}",591 "errors": "var apiErr *openai.Error; errors.As(err, &apiErr); apiErr.StatusCode, apiErr.Code, apiErr.Type, apiErr.Param",592 "admin": "client.Admin.Organization.Projects.ModelPermissions.Update(ctx, \"proj_abc\", openai.AdminOrganizationProjectModelPermissionUpdateParams{...})",593 "azure": "azopenai (Microsoft) — github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai",594 "docs_url": "https://developers.openai.com/api/docs/libraries#install-an-official-sdk",595 "status": [596 "DOCUMENTED",597 "BETA",598 "UNVERIFIED"599 ],600 "verification": {601 "method": "docs_only",602 "verified_at": "2026-09-18",603 "result": "not_tested"604 },605 "sources": [606 {607 "url": "https://developers.openai.com/api/docs/libraries",608 "retrieved_at": "2026-09-19T01:31:00Z"609 },610 {611 "url": "https://developers.openai.com/api/docs/guides/admin-apis",612 "retrieved_at": "2026-09-19T01:31:00Z"613 }614 ],615 "_fragment": "generated/fragments/sdks/openai-sdks.json"616 },617 {618 "provider": "openai",619 "language": "ruby",620 "package": "openai (RubyGems)",621 "repo": "https://github.com/openai/openai-ruby",622 "version_seen": "admin APIs since 0.61.0 (admin-apis guide); version not pinned on libraries page",623 "install": "gem \"openai\" (Gemfile) / gem install openai",624 "client": "openai = OpenAI::Client.new # OPENAI_API_KEY; OpenAI::Client.new(api_key:, admin_api_key:, webhook_secret:, organization:, project:)",625 "async": "Synchronous; use threads/fibers",626 "streaming": "stream = openai.responses.stream(...); stream.each { |event| ... }",627 "retries": {628 "default_max_retries": 2,629 "configure": "OpenAI::Client.new(max_retries: n)"630 },631 "timeouts": {632 "default": "600 s",633 "configure": "OpenAI::Client.new(timeout: n)"634 },635 "raw_response": "openai.responses.create(..., request_options: {...}); response headers via with_raw_response equivalents",636 "request_id": "x-request-id header",637 "pagination": "page = openai.fine_tuning.jobs.list; page.auto_paging_each { |j| ... }",638 "errors": "OpenAI::Errors::APIError, ::APIStatusError subclasses (RateLimitError 429, InternalServerError 503), OpenAI::Errors::InvalidWebhookSignatureError",639 "webhooks": "client.webhooks.unwrap(request.body, headers) (webhook_secret on the client); event classes OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent ...",640 "data_residency": "client.with_options(data_residency: :us | :eu) selects us./eu.api.openai.com",641 "admin": "openai.admin.organization.invites.create(email:, role: :reader)",642 "docs_url": "https://developers.openai.com/api/docs/libraries#install-an-official-sdk",643 "status": [644 "DOCUMENTED",645 "UNVERIFIED"646 ],647 "verification": {648 "method": "docs_only",649 "verified_at": "2026-09-18",650 "result": "not_tested"651 },652 "sources": [653 {654 "url": "https://developers.openai.com/api/docs/libraries",655 "retrieved_at": "2026-09-19T01:31:00Z"656 },657 {658 "url": "https://developers.openai.com/api/docs/guides/your-data",659 "retrieved_at": "2026-09-19T01:31:00Z"660 }661 ],662 "_fragment": "generated/fragments/sdks/openai-sdks.json"663 },664 {665 "provider": "openai",666 "language": "cli",667 "package": "openai CLI (Homebrew tap openai/tools/openai)",668 "repo": "https://developers.openai.com/api/docs/libraries/openai-cli",669 "version_seen": "not pinned",670 "install": "brew install openai/tools/openai",671 "client": "openai responses create --model gpt-6-astra --input \"...\" --raw-output --transform 'output.#(type==\"message\").content.0.text'",672 "status": [673 "DOCUMENTED",674 "UNVERIFIED"675 ],676 "verification": {677 "method": "docs_only",678 "verified_at": "2026-09-18",679 "result": "not_tested"680 },681 "docs_url": "https://developers.openai.com/api/docs/libraries/openai-cli",682 "sources": [683 {684 "url": "https://developers.openai.com/api/docs/libraries",685 "retrieved_at": "2026-09-19T01:31:00Z"686 }687 ],688 "_fragment": "generated/fragments/sdks/openai-sdks.json"689 },690 {691 "provider": "openai",692 "language": "agents-sdk",693 "package": "openai-agents (PyPI) / @openai/agents (npm)",694 "repo": "https://github.com/openai/openai-agents-python ; https://github.com/openai/openai-agents-js",695 "version_seen": "not pinned in the libraries page",696 "install": "pip install openai-agents | npm install @openai/agents",697 "client": "Code-first orchestration on top of the Responses API: agents, tools, handoffs, guardrails, tracing, sandbox execution. Use when you need orchestration; use the plain SDK for direct requests.",698 "status": [699 "DOCUMENTED",700 "UNVERIFIED"701 ],702 "verification": {703 "method": "docs_only",704 "verified_at": "2026-09-18",705 "result": "not_tested"706 },707 "docs_url": "https://developers.openai.com/api/docs/guides/agents/quickstart",708 "sources": [709 {710 "url": "https://developers.openai.com/api/docs/libraries#use-the-agents-sdk",711 "retrieved_at": "2026-09-19T01:31:00Z"712 }713 ],714 "_fragment": "generated/fragments/sdks/openai-sdks.json"715 },716 {717 "provider": "openai",718 "language": "azure-libraries",719 "package": "Azure.AI.OpenAI (.NET), @azure/openai (JS), azure-ai-openai (Java), azopenai (Go)",720 "repo": "https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/openai/Azure.AI.OpenAI",721 "version_seen": "not pinned",722 "install": "see each Azure SDK repo",723 "client": "Microsoft-maintained libraries compatible with both the OpenAI API and Azure OpenAI; the official openai Python/Node SDKs also ship AzureOpenAI classes.",724 "status": [725 "DOCUMENTED",726 "UNVERIFIED"727 ],728 "verification": {729 "method": "docs_only",730 "verified_at": "2026-09-18",731 "result": "not_tested"732 },733 "docs_url": "https://developers.openai.com/api/docs/libraries#azure-openai-libraries",734 "sources": [735 {736 "url": "https://developers.openai.com/api/docs/libraries",737 "retrieved_at": "2026-09-19T01:31:00Z"738 }739 ],740 "_fragment": "generated/fragments/sdks/openai-sdks.json"741 },742 {743 "provider": "xai",744 "language": "python",745 "package": "xai-sdk",746 "official": true,747 "transport": "gRPC (api.x.ai:443) - NOT REST",748 "version_seen": "1.19.0 (installed in .venv; PyPI xai-sdk; Apache-2.0; Python >= 3.10)",749 "install": "pip install xai-sdk # extras: xai-sdk[telemetry-http], xai-sdk[telemetry-grpc]",750 "dependencies": [751 "grpcio >=1.72.1,<2",752 "protobuf >=5.29.4,<7",753 "googleapis-common-protos",754 "pydantic >=2.5.3,<3",755 "requests",756 "aiohttp",757 "opentelemetry-sdk",758 "typing-extensions"759 ],760 "client": "from xai_sdk import Client, AsyncClient; client = Client() # reads XAI_API_KEY; Client(api_key=..., management_api_key=..., api_host='api.x.ai' | 'us.api.x.ai', management_api_host='management-api.x.ai', metadata=(...), channel_options=[...], timeout=1620.0)",761 "status": [762 "DOCUMENTED",763 "LIVE_VERIFIED"764 ],765 "source": "https://docs.x.ai/developers/grpc-api-reference",766 "surfaces": {767 "chat": "client.chat.create(model, messages=[system(...), user(...)], tools=[web_search(), x_search(), code_execution(), ...], reasoning_effort=..., service_tier=...) -> chat.sample() / chat.stream() (yields (response, chunk)) / chat.defer() / chat.parse(PydanticModel); response.content, response.reasoning_content, response.usage (incl. cost_in_usd_ticks), response.cost_usd, response.server_side_tool_usage, response.tool_calls; chat.append(response)",768 "image": "client.image.sample(prompt, model='grok-imagine-image-2.0', quality='low', ...) -> .url / .image / .cost_usd",769 "video": "client.video.generate(model='grok-imagine-video-1.5', prompt=...) (async polling) / extend",770 "models": "client.models.list_language_models() / get_language_model(id) / list_image_generation_models() / list_embedding_models()",771 "auth": "client.auth.get_api_key_info() -> ApiKey (redacted_api_key, acls, team_id, blocked/disabled)",772 "tokenizer": "client.tokenizer.tokenize_text(text, model)",773 "batch": "client.batch.* (BatchMgmt service)",774 "files": "client.files.upload/list/retrieve/delete/public urls",775 "collections": "client.collections.* (Documents.Search)",776 "compaction": "chat.compact()/CompactContext",777 "telemetry": "OpenTelemetry tracing built in (xai_sdk.telemetry)"778 },779 "grpc_metadata_added": [780 "xai-sdk-version: python/<ver>",781 "xai-sdk-language: python/<major.minor>"782 ],783 "retries_timeouts": "default RPC timeout 27 min (1620 s); grpc keepalive options set; errors are grpc.RpcError (e.code() == grpc.StatusCode.RESOURCE_EXHAUSTED for 429)",784 "limitations": [785 "code_interpreter and file_search tool aliases are NOT supported in gRPC (use code_execution / collections_search)",786 "no cost_in_usd_ticks shortfall: SDK exposes response.cost_usd",787 "regional endpoint passed as bare host: api_host='us.api.x.ai'"788 ],789 "notes": "Also supports sync (xai_sdk.sync) and async (xai_sdk.aio) modules; proto stubs shipped in xai_sdk/proto/v5 and v6 (services: Auth, BatchMgmt, Chat, Documents, Embedder, Files, Image, Models, Sample, Tokenize, Video). Protos published at github.com/xai-org/xai-proto.",790 "_fragment": "generated/fragments/sdks/xai-sdks.json"791 },792 {793 "provider": "xai",794 "language": "python",795 "package": "openai",796 "official": false,797 "compatibility": "OpenAI-compatible REST surface",798 "version_seen": "docs examples (customLanguage=pythonOpenAISDK)",799 "install": "pip install openai",800 "client": "from openai import OpenAI; client = OpenAI(api_key=os.getenv('XAI_API_KEY'), base_url='https://api.x.ai/v1') # or https://us.api.x.ai/v1",801 "status": [802 "DOCUMENTED",803 "LIVE_VERIFIED"804 ],805 "source": "https://docs.x.ai/developers/quickstart",806 "surfaces": {807 "chat.completions.create": "model, messages, reasoning_effort, stream + stream_options={include_usage:true} (cost only in final chunk), service_tier, extra_headers={'x-grok-conv-id': ...}",808 "responses.create": "model, input, tools=[{type:'web_search'},{type:'x_search'},{type:'code_interpreter'}], reasoning={effort}, prompt_cache_key, include=['reasoning.encrypted_content'], store, previous_response_id",809 "images.generate": "model='grok-imagine-image-2.0', extra_body={'quality':'low'} (Node SDK accepts quality directly)",810 "models.list": "GET /v1/models works",811 "usage extras": "completion.usage.cost_in_usd_ticks, num_sources_used, reasoning_tokens exposed as extra fields"812 },813 "limitations": [814 "xAI-only fields (quality, prompt_cache_key on chat, x-grok-conv-id) go through extra_body / extra_headers",815 "videos, voice, files public URLs, collections, tokenize-text, /v1/me have no OpenAI-SDK method -> raw HTTP"816 ],817 "notes": "This atlas's live calls used raw HTTPS via scripts/live.py xai_request (same wire format).",818 "_fragment": "generated/fragments/sdks/xai-sdks.json"819 },820 {821 "provider": "xai",822 "language": "typescript",823 "package": "openai (Node)",824 "official": false,825 "compatibility": "OpenAI-compatible REST surface",826 "version_seen": "node_modules/openai 7.18.0 installed (no official xAI Node SDK exists)",827 "install": "npm install openai",828 "client": "new OpenAI({ apiKey: process.env.XAI_API_KEY, baseURL: 'https://api.x.ai/v1' })",829 "status": [830 "DOCUMENTED"831 ],832 "source": "https://docs.x.ai/developers/quickstart",833 "surfaces": {834 "chat.completions.create / responses.create / images.generate": "as documented (customLanguage=javascriptOpenAISDK); usage.cost_in_usd_ticks available"835 },836 "limitations": [837 "same gaps as the Python OpenAI client"838 ],839 "notes": "Not executed by this agent.",840 "_fragment": "generated/fragments/sdks/xai-sdks.json"841 },842 {843 "provider": "xai",844 "language": "typescript",845 "package": "@ai-sdk/xai (Vercel AI SDK provider)",846 "official": "maintained by Vercel; featured throughout docs.x.ai (customLanguage=javascriptAISDK)",847 "version_seen": "not installed",848 "install": "npm install ai @ai-sdk/xai",849 "client": "import { xai, createXai } from '@ai-sdk/xai'; createXai({ apiKey, baseURL: 'https://us.api.x.ai/v1' }); generateText({ model: xai.responses('grok-4.6'), prompt }) // xai('grok-4.6') = chat completions, xai.responses() = Responses API",850 "status": [851 "DOCUMENTED"852 ],853 "source": "https://docs.x.ai/developers/grok-4-6",854 "limitations": [855 "does not surface cost_in_usd_ticks in response metadata (docs note)",856 "encrypted reasoning content auto-included unless store:false"857 ],858 "notes": "Also Vercel AI Gateway lists Grok models.",859 "_fragment": "generated/fragments/sdks/xai-sdks.json"860 },861 {862 "provider": "xai",863 "language": "any (Anthropic-compatible)",864 "package": "anthropic SDKs via base_url",865 "official": false,866 "compatibility": "POST /v1/messages and legacy POST /v1/complete are 'compatible with the Anthropic API'",867 "version_seen": "n/a",868 "install": "pip install anthropic",869 "client": "Anthropic(base_url='https://api.x.ai', api_key=XAI_API_KEY) - auth: xAI expects Authorization: Bearer; x-api-key acceptance not verified by this agent",870 "status": [871 "DOCUMENTED",872 "UNVERIFIED"873 ],874 "source": "https://docs.x.ai/developers/rest-api-reference/inference/legacy",875 "notes": "Covered by docs/xai/messages-compat.md (another agent).",876 "_fragment": "generated/fragments/sdks/xai-sdks.json"877 },878 {879 "provider": "xai",880 "language": "python / typescript",881 "package": "langchain-xai / @langchain/xai",882 "official": false,883 "compatibility": "community integration announced Nov 2024",884 "install": "pip install langchain-xai | npm i @langchain/xai",885 "client": "ChatXAI(model='grok-4.6')",886 "status": [887 "DOCUMENTED"888 ],889 "source": "https://docs.x.ai/developers/release-notes",890 "notes": "https://python.langchain.com/integrations/providers/xai/ , https://js.langchain.com/integrations/chat/xai/",891 "_fragment": "generated/fragments/sdks/xai-sdks.json"892 },893 {894 "provider": "xai",895 "language": "cli",896 "package": "Grok Build CLI",897 "official": true,898 "install": "curl -fsSL https://x.ai/cli/install.sh | bash",899 "client": "interactive TUI, headless scripting, Agent Client Protocol; default model grok-4.6 (grok-build-0.1 for coding agent)",900 "status": [901 "DOCUMENTED",902 "BETA"903 ],904 "source": "https://docs.x.ai/build/overview",905 "notes": "Privacy: /privacy and /settings slash commands; ZDR honoured.",906 "_fragment": "generated/fragments/sdks/xai-sdks.json"907 },908 {909 "provider": "xai",910 "language": "protobuf / any gRPC",911 "package": "xai-org/xai-proto + buf curl",912 "official": true,913 "install": "git clone https://github.com/xai-org/xai-proto.git; buf curl --protocol grpc https://api.x.ai/xai_api.Models/ListLanguageModels -H 'Authorization: Bearer $XAI_API_KEY'",914 "client": "services xai_api.{Chat,Image,Video,BatchMgmt,Models,Auth,Tokenize,Sample} (+ Files, Documents, Embedder in the SDK stubs)",915 "status": [916 "DOCUMENTED"917 ],918 "source": "https://docs.x.ai/developers/grpc-api-reference",919 "notes": "gRPC reference pages on docs.x.ai are rendered client-side (llms-full.txt and the .md twins are empty stubs); method list taken from xai_sdk/proto/v6 stubs - see docs/xai/grpc-api.md.",920 "_fragment": "generated/fragments/sdks/xai-sdks.json"921 },922 {923 "provider": "xai",924 "language": "cloud",925 "package": "Google Cloud Vertex AI (Model Garden partner model) / Microsoft Foundry (Azure)",926 "official": "partner",927 "install": "enable in Model Garden / Foundry catalog",928 "client": "OpenAI-compatible endpoints (Chat Completions + Responses) with cloud IAM; billing through GCP / Azure Marketplace",929 "status": [930 "DOCUMENTED"931 ],932 "source": "https://docs.x.ai/developers/community/google-cloud-vertex-ai",933 "notes": "Also https://docs.x.ai/developers/community/microsoft-foundry; model availability and retention terms are set by the cloud.",934 "_fragment": "generated/fragments/sdks/xai-sdks.json"935 }936]