# OpenAPI／Function Calling

CURRENT_STATUS: UNKNOWN
OBSERVATION: SPEC_ONLY
FRESHNESS: UNKNOWN
PAGE_TYPE: reference
CANONICAL_URL: /tools/ea-160-openapi-function-calling
CLAIM_IDS: none
EVIDENCE_IDS: EVD-EA-160-URL-9AE4B1811AB6, EVD-EA-160-URL-90F2BF11E4FB, EVD-EA-160-URL-529619EE7996, EA-160-R11-RESEARCH, EA-160-R11-WEB-READBACK
UNKNOWN_IDS: EA-160-UNKNOWN-01, EA-160-UNKNOWN-CURRENTNESS
OPS_IDS: none

## Summary
「OpenAPI 3.1.0はHTTP APIの機械可読なインターフェース記述であり、function callingはproviderのモデルがアプリケーションへ外部処理の呼出しを要求する実行境界である。OpenAPIをfunction toolへ写像することは可能な設計選択だが、版・operation・schema・認証・実行結果・side effect policyを別途固定し、同一仕様とは扱わない。」

## Current judgment
1. ESTABLISHED [S1 support]: OAS 3.1.0 is a programming-language-agnostic interface description for HTTP APIs. Its stated purpose is to let humans and computers discover and understand service capabilities without source code, extra documentation, or network inspection.
2. ESTABLISHED [S2 support]: OpenAI's current documentation defines function calling/tool calling as a way for its models to interface with external systems and application-provided data/actions. Function tools are defined by JSON Schema; the application registers/handles the function and action request.
3. ESTABLISHED [S2 support]: The provider page documents tool-choice controls including auto, required, forced specific function, and allowed tools; it also records that Chat Completions remains non-strict by default unless strict false is explicitly set in the relevant path.
4. INFERENCE [S1+S2]: OpenAPI can be an input or mapping source for an HTTP tool catalog, but OAS is an API description while function calling is a model/provider runtime contract. They are not interchangeable and the mapping requires operation selection, schema adaptation, auth, result handling, and policy.

## Scope
Enterprise AI Core / interoperability / implementation / provider mapping / governance / security

## Confirmed
- ESTABLISHED [S1 support]: OAS 3.1.0 is a programming-language-agnostic interface description for HTTP APIs. Its stated purpose is to let humans and computers discover and understand service capabilities without source code, extra documentation, or network inspection.
- ESTABLISHED [S2 support]: OpenAI's current documentation defines function calling/tool calling as a way for its models to interface with external systems and application-provided data/actions. Function tools are defined by JSON Schema; the application registers/handles the function and action request.
- ESTABLISHED [S2 support]: The provider page documents tool-choice controls including auto, required, forced specific function, and allowed tools; it also records that Chat Completions remains non-strict by default unless strict false is explicitly set in the relevant path.
- INFERENCE [S1+S2]: OpenAPI can be an input or mapping source for an HTTP tool catalog, but OAS is an API description while function calling is a model/provider runtime contract. They are not interchangeable and the mapping requires operation selection, schema adaptation, auth, result handling, and policy.

## UNKNOWN
- EA-160-UNKNOWN-01: current OAS latest normative version; provider-neutral function-calling semantics; schema dialect compatibility; tool-result contract; model selection/error behavior; API auth/audience mapping; cross-provider conformance; prompt-injection/tool-description attacks; cost and production failure rates.
- EA-160-UNKNOWN-CURRENTNESS: 外部根拠の再確認日がcanonical body/control-planeで確定していないため、currentnessはUNKNOWNとして保持する。日付を推測補完しない。

## Evidence
- EVD-EA-160-URL-9AE4B1811AB6 (RESEARCH): [S1] SOURCE_CLASS: official_spec | EXACT_TITLE: OpenAPI Specification v3.1.0 | AUTHOR_ORG: OpenAPI Initiative / Linux Foundation | CANONICAL_URL: — https://spec.openapis.org/oas/v3.1.0.html
- EVD-EA-160-URL-90F2BF11E4FB (RESEARCH): [S2] SOURCE_CLASS: official_provider_docs | EXACT_TITLE: Function calling | AUTHOR_ORG: OpenAI | CANONICAL_URL: — https://developers.openai.com/api/docs/guides/function-calling
- EVD-EA-160-URL-529619EE7996 (RESEARCH): [S3] SOURCE_CLASS: official_spec | EXACT_TITLE: OpenAPI Specification v3.2.1 listing/current-version metadata | AUTHOR_ORG: OpenAPI Initiative / Linux Foundation | CANONICAL_URL: — https://spec.openapis.org/oas/latest.html
- EA-160-R11-RESEARCH (RESEARCH): EA-160 監査済みresearch / canonical revision binding
- EA-160-R11-WEB-READBACK (IMPL): EA-160 Web body identity / canonical readback

## Failure / limits
OAS describes interface structure but does not grant credentials, prove endpoint availability, authorize side effects, guarantee semantic correctness, or define a model's tool-selection behavior. OpenAI's page is provider-specific and volatile; its tool-choice/strict semantics cannot be generalized to every model or API. JSON Schema validation does not prove business invariants, safe arguments, idempotency, or human approval. No provider-crossing mapping benchmark was adopted.
## Failure / limits
Do not call OpenAPI a model protocol, do not call function calling deterministic execution, and do not promote one provider's current docs into a universal guarantee. Do not claim schema validity equals authorization or business correctness.
UNIT_CLOSE_STATUS: INDIVIDUAL_BOUNDED_CLOSE / EVIDENCE_RECORDED / UNKNOWN_PRESERVED
## Practice
OAS version and API revision; operationId/HTTP method/path; servers/base URL; request/response schema and serialization; security schemes and actual issuer/audience/scope; model/provider/API endpoint; function name/description/JSON Schema; strict/tool_choice setting; tool allowlist; argument/result validator; confirmation and side-effect policy; idempotency/rollback; rate/size/timeouts; audit and data residency.
## Practice
Evidence-only desk research. No API endpoint, model call, function call, credential, or side effect was executed.
## Practice
No schema-to-tool transpilation, invalid-argument, tool-choice, cross-provider, latency, or business-outcome evaluation was run.
## Practice
OAS security objects are declarations, not proof of a configured authorization server. Tool schemas and descriptions can expose sensitive capability metadata. Validate model arguments and returned data outside the model; log model/provider/version, selected operation, arguments hash/redaction, authorization decision, execution result, retries, and human approval. Cost/operability need model tokens plus downstream call, retry, timeout, and human-review accounting; not measured.
## Practice
Future update Work should build a pinned OAS-to-tool mapping TEST_PROFILE: safe read-only operation, invalid arguments, schema strict/non-strict, forced/allowed tool selection, auth failure, timeout/retry, duplicate execution, human approval, redaction, audit, and rollback. Re-read provider docs at publication time and compare at least one non-OpenAI implementation before cross-provider wording.
## WHY_THIS_MATTERS_TO_UPDATE
The future update must compare deterministic HTTP interface description and provider-specific model tool calling without calling them the same protocol. This boundary affects schema validation, allowlists, authorization, and audit.

## SCOPE_ROUTING
Enterprise AI Core / interoperability / implementation / provider mapping / governance / security

## CLAIM_OR_RESEARCH_QUESTION
What is established by OpenAPI 3.1 for HTTP API description, what is established by the current OpenAI function-calling documentation for model-to-application tool requests, and where is the interoperability claim only an inference?

## EVIDENCE_TABLE
[S1] SOURCE_CLASS: official_spec | EXACT_TITLE: OpenAPI Specification v3.1.0 | AUTHOR_ORG: OpenAPI Initiative / Linux Foundation | CANONICAL_URL: https://spec.openapis.org/oas/v3.1.0.html | PUBLICATION_UPDATE_ACCESS: v3.1.0 page; accessed 2026-09-14 00:10 JST | VERSION_RELEASE_TAG: v3.1.0; page lists newer versions including v3.2.1, so this is a pinned baseline | SUPPORTING_LOCATOR: metadata lines 6-38; What is OAS lines 41-43; Path/Operation and security examples in the recorded web capture | EVIDENCE_LABEL: VERIFIED_SPEC | RELATION: support for API-description semantics; context for version drift.
[S2] SOURCE_CLASS: official_provider_docs | EXACT_TITLE: Function calling | AUTHOR_ORG: OpenAI | CANONICAL_URL: https://developers.openai.com/api/docs/guides/function-calling | PUBLICATION_UPDATE_ACCESS: current docs accessed 2026-09-14 00:10 JST; original platform URL redirects here | VERSION_RELEASE_TAG: current OpenAI API documentation; page-specific API/model availability, no immutable API revision exposed in capture | SUPPORTING_LOCATOR: lines 838-854 for function/tool purpose and JSON-schema-defined function tools; lines 3554-3559 for tool_choice modes; line 3592 for non-strict default note | EVIDENCE_LABEL: VERIFIED_SPEC + PRODUCT_VOLATILE | RELATION: support for provider-specific function-calling behavior; limit for cross-provider generalization.
[S3] SOURCE_CLASS: official_spec | EXACT_TITLE: OpenAPI Specification v3.2.1 listing/current-version metadata | AUTHOR_ORG: OpenAPI Initiative / Linux Foundation | CANONICAL_URL: https://spec.openapis.org/oas/latest.html | PUBLICATION_UPDATE_ACCESS: current metadata accessed 2026-09-14 00:10 JST | VERSION_RELEASE_TAG: latest page is mutable; current-version pointer only | SUPPORTING_LOCATOR: v3.1.0 metadata lines 6-11 and 22-27 explicitly identify latest published version/current version list; use the fixed v3.1.0 URL for normative citation until the target version is separately re-read | EVIDENCE_LABEL: PRODUCT_VOLATILE + CONTEXT | RELATION: version-drift context; not a claim about function calling.

## FINDINGS
1. ESTABLISHED [S1 support]: OAS 3.1.0 is a programming-language-agnostic interface description for HTTP APIs. Its stated purpose is to let humans and computers discover and understand service capabilities without source code, extra documentation, or network inspection.
2. ESTABLISHED [S2 support]: OpenAI's current documentation defines function calling/tool calling as a way for its models to interface with external systems and application-provided data/actions. Function tools are defined by JSON Schema; the application registers/handles the function and action request.
3. ESTABLISHED [S2 support]: The provider page documents tool-choice controls including auto, required, forced specific function, and allowed tools; it also records that Chat Completions remains non-strict by default unless strict false is explicitly set in the relevant path.
4. INFERENCE [S1+S2]: OpenAPI can be an input or mapping source for an HTTP tool catalog, but OAS is an API description while function calling is a model/provider runtime contract. They are not interchangeable and the mapping requires operation selection, schema adaptation, auth, result handling, and policy.

## LIMITS / COUNTEREVIDENCE / FAILURE ENVELOPE
OAS describes interface structure but does not grant credentials, prove endpoint availability, authorize side effects, guarantee semantic correctness, or define a model's tool-selection behavior. OpenAI's page is provider-specific and volatile; its tool-choice/strict semantics cannot be generalized to every model or API. JSON Schema validation does not prove business invariants, safe arguments, idempotency, or human approval. No provider-crossing mapping benchmark was adopted.

## AVAILABILITY_GATES
OAS version and API revision; operationId/HTTP method/path; servers/base URL; request/response schema and serialization; security schemes and actual issuer/audience/scope; model/provider/API endpoint; function name/description/JSON Schema; strict/tool_choice setting; tool allowlist; argument/result validator; confirmation and side-effect policy; idempotency/rollback; rate/size/timeouts; audit and data residency.

## IMPLEMENTATION_STATE
Evidence-only desk research. No API endpoint, model call, function call, credential, or side effect was executed.

## BENCHMARK_OR_EVAL
No schema-to-tool transpilation, invalid-argument, tool-choice, cross-provider, latency, or business-outcome evaluation was run.

## SECURITY / PRIVACY / AUDIT / COST / OPERABILITY
OAS security objects are declarations, not proof of a configured authorization server. Tool schemas and descriptions can expose sensitive capability metadata. Validate model arguments and returned data outside the model; log model/provider/version, selected operation, arguments hash/redaction, authorization decision, execution result, retries, and human approval. Cost/operability need model tokens plus downstream call, retry, timeout, and human-review accounting; not measured.

## SAFE_WORDING_FOR_FUTURE_BOOK
「OpenAPI 3.1.0はHTTP APIの機械可読なインターフェース記述であり、function callingはproviderのモデルがアプリケーションへ外部処理の呼出しを要求する実行境界である。OpenAPIをfunction toolへ写像することは可能な設計選択だが、版・operation・schema・認証・実行結果・side effect policyを別途固定し、同一仕様とは扱わない。」

## UPDATE_WORK_HANDOFF
Future update Work should build a pinned OAS-to-tool mapping TEST_PROFILE: safe read-only operation, invalid arguments, schema strict/non-strict, forced/allowed tool selection, auth failure, timeout/retry, duplicate execution, human approval, redaction, audit, and rollback. Re-read provider docs at publication time and compare at least one non-OpenAI implementation before cross-provider wording.

## OPEN_UNKNOWN
current OAS latest normative version; provider-neutral function-calling semantics; schema dialect compatibility; tool-result contract; model selection/error behavior; API auth/audience mapping; cross-provider conformance; prompt-injection/tool-description attacks; cost and production failure rates.

## STOP_CONDITION
Do not call OpenAPI a model protocol, do not call function calling deterministic execution, and do not promote one provider's current docs into a universal guarantee. Do not claim schema validity equals authorization or business correctness.
UNIT_CLOSE_STATUS: INDIVIDUAL_BOUNDED_CLOSE / EVIDENCE_RECORDED / UNKNOWN_PRESERVED

## EVIDENCE PACKET
---

NEXT: /agent/start.json
STOP: This is a knowledge projection, not an execution order.