OpenAPI coverage
This page lists every object and field of Swagger 2.0 (2014-09-08), OpenAPI 3.0.4 (2024-10-24),
OpenAPI 3.1.2 (2025-09-19) and OpenAPI 3.2.1 (2026-09-10), and says what nw-connector-builder
does with each one. Earlier patch releases of each line (3.0.0–3.0.3, 3.1.0–3.1.1, 3.2.0) have the
same fields and are handled the same way. Swagger 2.0 documents are converted to OpenAPI 3.0 first,
so their rows say how each 2.0 construct is converted. The Status column uses the five values in
the legend below, and the last column says what happens or why it does not. The rules behind these
rows are in the generator contract, and the reasons for specific
generated shapes are in codegen behaviour. The conformance
fixtures in tests/nw_connector_builder/fixtures/coverage/ (swagger20.yaml, oas30.yaml,
oas31.yaml, oas32.yaml) hold one operation per covered construct, and
tests/nw_connector_builder/test_openapi_coverage.py builds each one and checks the HTTP request
the generated connector sends.
Legend
| Status |
Meaning |
| Covered |
Read and applied: the generated connector sends what the spec describes. |
| Converted |
Swagger 2.0 construct, mapped to its OpenAPI 3 equivalent and then handled like that. |
| Partial |
Some of it is applied; the row says which part is not. |
| Not needed |
Has no effect on an outbound API call (documentation, presentation, or inbound-only metadata). Ignored. |
| Skipped |
Would affect a call but is not supported; the row gives the reason. Listed again under Not covered, and why. |
Versions are written 2.0, 3.0, 3.1, 3.2; 3.0+ means 3.0, 3.1 and 3.2.
OpenAPI Object / Swagger Object
| Field |
Versions |
Status |
How it is handled / why |
swagger |
2.0 |
Converted |
"2.0" selects the in-house converter, which outputs an OpenAPI 3.0.3 document. |
openapi |
3.0+ |
Covered |
Any 3.x value is accepted; 3.0.* selects the 3.0 example validator, later versions the 3.1 one. |
$self |
3.2 |
Skipped |
Not read. Relative $refs resolve against the file location or fetch URL instead. |
info |
2.0, 3.0+ |
Not needed |
Documentation only. |
jsonSchemaDialect |
3.1+ |
Skipped |
Not read. Schemas are always read with the default OAS dialect. |
host |
2.0 |
Converted |
Becomes the server URL. A missing host uses the host the spec was fetched from. For a local file, pass --base-url. |
basePath |
2.0 |
Converted |
Appended to the server URL. |
schemes |
2.0 |
Converted |
https is preferred when listed, else the first entry. A missing schemes uses the fetch URL's scheme, else https. |
consumes |
2.0 |
Converted |
Picks the request media type: JSON first, else the first entry. Operation-level consumes wins. |
produces |
2.0 |
Converted |
Picks the response media type the same way. |
servers |
3.0+ |
Covered |
The first entry is the connector's base URL. Later entries are alternatives an operator can pick with base_url in connectors.yaml. --base-url overrides at build time. |
paths |
2.0, 3.0+ |
Covered |
Every operation is generated or soft-dropped with a reason. |
webhooks |
3.1+ |
Skipped |
Requests the API sends to you, not calls a connector makes. The count is noted in the build report. |
components |
3.0+ |
Covered |
Resolved wherever a $ref points into it. See Components Object. |
definitions |
2.0 |
Converted |
Moved to components.schemas; #/definitions/ refs are rewritten. |
parameters |
2.0 |
Converted |
Each #/parameters/ ref is replaced with a copy of its target before conversion, so reusable body and formData parameters work. |
responses |
2.0 |
Converted |
Each #/responses/ ref is replaced with a copy of its target before conversion. |
securityDefinitions |
2.0 |
Converted |
Moved to components.securitySchemes. See Security Scheme Object. |
security |
2.0, 3.0+ |
Covered |
The default requirement for every operation. See Security Requirement Object. |
tags |
2.0, 3.0+ |
Not needed |
Grouping for documentation. Not used for action names or descriptions. |
externalDocs |
2.0, 3.0+ |
Not needed |
Documentation only. |
^x- |
2.0, 3.0+ |
Not needed |
Every x- extension is removed before $ref resolution. The generator reads none of them, and removing them stops a dangling $ref inside an unused extension from failing the build. |
Info Object
| Field |
Versions |
Status |
How it is handled / why |
title |
2.0, 3.0+ |
Not needed |
Documentation only. |
summary |
3.1+ |
Not needed |
Documentation only. |
description |
2.0, 3.0+ |
Not needed |
Documentation only. |
termsOfService |
2.0, 3.0+ |
Not needed |
Documentation only. |
contact |
2.0, 3.0+ |
Not needed |
Documentation only. |
license |
2.0, 3.0+ |
Not needed |
Documentation only. |
version |
2.0, 3.0+ |
Not needed |
The API document's version. The generated package has its own version. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
| Field |
Versions |
Status |
How it is handled / why |
name |
2.0, 3.0+ |
Not needed |
Documentation only. |
url |
2.0, 3.0+ |
Not needed |
Documentation only. |
email |
2.0, 3.0+ |
Not needed |
Documentation only. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
License Object
| Field |
Versions |
Status |
How it is handled / why |
name |
2.0, 3.0+ |
Not needed |
The API's license, not the generated package's (always Apache-2.0). |
identifier |
3.1+ |
Not needed |
As name. |
url |
2.0, 3.0+ |
Not needed |
As name. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Server Object
| Field |
Versions |
Status |
How it is handled / why |
url |
3.0+ |
Covered |
The base URL. When the spec was fetched over HTTP(S), a relative URL (or no servers at all) is resolved against the fetch URL. For a local file it fails the build with a request for --base-url. |
description |
3.0+ |
Not needed |
Documentation only. |
name |
3.2 |
Not needed |
A label for the server. |
variables |
3.0+ |
Covered |
Each {name} is replaced with its variable's default. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
Server Variable Object
| Field |
Versions |
Status |
How it is handled / why |
enum |
3.0+ |
Skipped |
The default is always used. To use another value, set base_url in connectors.yaml or pass --base-url. |
default |
3.0+ |
Covered |
Substituted into the URL. A variable with no default fails the build for the root server; for an operation server, see Path Item Object. |
description |
3.0+ |
Not needed |
Documentation only. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
Components Object and 2.0 definition containers
Components are used through $ref: every local reference is inlined before code generation. A
component that fails validation on its own is removed and named in the report's notes. Empty
structural fields (an empty YAML key such as parameters:) are removed before validation; data
nulls such as default: null, example: null or a null enum member are kept. If the validator
itself fails on one operation or component, that part is treated as invalid and dropped with the
reason instead of failing the build.
| Field |
Versions |
Status |
How it is handled / why |
schemas |
3.0+ |
Covered |
Inlined wherever referenced. |
responses |
3.0+ |
Covered |
Inlined wherever referenced. |
parameters |
3.0+ |
Covered |
Inlined wherever referenced. |
examples |
3.0+ |
Covered |
Inlined wherever referenced. See Example Object. |
requestBodies |
3.0+ |
Covered |
Inlined wherever referenced. |
headers |
3.0+ |
Not needed |
Inlined, but Header Objects have no effect on a call. See Header Object. |
securitySchemes |
3.0+ |
Covered |
Read directly. See Security Scheme Object. |
links |
3.0+ |
Not needed |
See Link Object. |
callbacks |
3.0+ |
Skipped |
See Callback Object. |
pathItems |
3.1+ |
Covered |
Inlined where a path's $ref points at one. |
mediaTypes |
3.2 |
Covered |
Inlined where a content entry's $ref points at one. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
Definitions Object {name} |
2.0 |
Converted |
Becomes components.schemas.{name}. |
Parameters Definitions Object {name} |
2.0 |
Converted |
Inlined at each use, then converted like an operation parameter (a body or formData one becomes a request body). |
Responses Definitions Object {name} |
2.0 |
Converted |
Inlined at each use, then converted like an operation response. |
Security Definitions Object {name} |
2.0 |
Converted |
Becomes components.securitySchemes.{name}. |
Paths Object
| Field |
Versions |
Status |
How it is handled / why |
/{path} |
2.0, 3.0+ |
Covered |
Appended to the base URL. Each {name} is filled from its path parameter. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Path Item Object
| Field |
Versions |
Status |
How it is handled / why |
$ref |
2.0, 3.0+ |
Partial |
3.x: resolved, but the referenced Path Item replaces the local one, so operations written next to the $ref are lost. 2.0: a Path Item in another file is not converted to 3.0, so its operations fail validation and are soft-dropped. |
summary |
3.0+ |
Not needed |
Tool descriptions come from the operation. |
description |
3.0+ |
Not needed |
Tool descriptions come from the operation. |
get |
2.0, 3.0+ |
Covered |
One action per operation. |
put |
2.0, 3.0+ |
Covered |
One action per operation. |
post |
2.0, 3.0+ |
Covered |
One action per operation. |
delete |
2.0, 3.0+ |
Covered |
One action per operation. |
options |
2.0, 3.0+ |
Covered |
One action per operation. |
head |
2.0, 3.0+ |
Covered |
One action per operation. |
patch |
2.0, 3.0+ |
Covered |
One action per operation. |
trace |
3.0+ |
Covered |
One action per operation. |
query |
3.2 |
Covered |
Sent as the HTTP QUERY method. |
additionalOperations |
3.2 |
Covered |
One action per entry, sent with the method name in upper case (for example PURGE). |
servers |
3.0+ |
Covered |
Used for each operation on the path that has no servers of its own. See the Operation servers row. |
parameters |
2.0, 3.0+ |
Covered |
Merged into each operation; an operation parameter with the same name and in overrides it. The 2.0 converter does the same merge, so a redefined parameter appears once. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Operation Object
| Field |
Versions |
Status |
How it is handled / why |
tags |
2.0, 3.0+ |
Not needed |
Grouping for documentation. |
summary |
2.0, 3.0+ |
Covered |
The tool description: first paragraph, Markdown links flattened, capped at 300 characters. |
description |
2.0, 3.0+ |
Covered |
Used as the tool description when there is no summary. |
externalDocs |
2.0, 3.0+ |
Not needed |
Documentation only. |
operationId |
2.0, 3.0+ |
Covered |
Becomes the action name in snake case, made unique and kept within a length budget. Without one, the name is built from the method and path. |
consumes |
2.0 |
Converted |
Overrides root consumes when choosing the request media type. An empty list falls back to the root value instead of clearing it. |
produces |
2.0 |
Converted |
Overrides root produces when choosing the response media type. |
parameters |
2.0, 3.0+ |
Covered |
See Parameter Object. |
requestBody |
3.0+ |
Covered |
See Request Body Object. In a 3.0 document a request body on GET, HEAD or DELETE is ignored, as 3.0 says it is not supported there; 3.1+ documents keep it. |
responses |
2.0, 3.0+ |
Covered |
See Responses Object. |
callbacks |
3.0+ |
Skipped |
See Callback Object. |
deprecated |
2.0, 3.0+ |
Covered |
The action is marked @nw_action(..., deprecated=True). |
security |
2.0, 3.0+ |
Covered |
Overrides the root security; [] makes the action anonymous. See Security Requirement Object. |
servers |
3.0+ |
Covered |
The first entry, with variables at their defaults, is where this action is called when it differs from the base URL; the report lists these actions. base_url in connectors.yaml does not change it. A relative URL or a variable with no default is ignored with a note, and the base URL is used. |
schemes |
2.0 |
Converted |
Removed; OpenAPI 3 has no operation-level equivalent. The server's scheme applies (https preferred, see the root schemes row). |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
External Documentation Object
| Field |
Versions |
Status |
How it is handled / why |
description |
2.0, 3.0+ |
Not needed |
Documentation only. |
url |
2.0, 3.0+ |
Not needed |
Documentation only. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Parameter Object
Each parameter becomes one argument of the action, carrying its in, style and explode in the
field metadata so the runtime can serialize it (see
parameter serialization).
| Field |
Versions |
Status |
How it is handled / why |
name |
2.0, 3.0+ |
Covered |
The wire name. The argument name is a Python-safe version of it. Header parameters named Accept, Content-Type or Authorization are ignored as the spec requires, and the report notes them. |
in |
2.0, 3.0+ |
Covered |
See Parameter in values. |
description |
2.0, 3.0+ |
Covered |
The argument description: first sentence, capped at 90 characters. The schema's description is used when the parameter has none. |
required |
2.0, 3.0+ |
Covered |
Required arguments. Path parameters are always required. |
deprecated |
3.0+ |
Not needed |
The parameter is still offered and sent. |
allowEmptyValue |
2.0, 3.0+ |
Partial |
An empty string is sent as name=. A bare name with no = is never produced. Deprecated in 3.2. |
style |
3.0+ |
Covered |
See Style values. An unsupported style leaves out an optional parameter (named in the report) and soft-drops the operation when the parameter is required. |
explode |
3.0+ |
Covered |
Applied per style; the default is true for form and false otherwise. |
allowReserved |
3.0+ |
Partial |
Honored for in: query and in: path: RFC 3986 reserved characters are sent unencoded, except &, = and #. Not applied to cookie parameters. |
schema |
2.0, 3.0+ |
Covered |
Gives the argument's type and constraints. See Schema Object. |
content |
3.0+ |
Covered |
The single media type's schema types the argument. A JSON media type is sent as compact JSON text; other media types send the value as given. |
example |
3.0+ |
Not needed |
Parameter examples are not used for generated tests. |
examples |
3.0+ |
Not needed |
As example. |
type |
2.0 |
Converted |
Moved into schema. |
format |
2.0 |
Converted |
Moved into schema. |
items |
2.0 |
Converted |
Moved into schema. See Items Object. |
collectionFormat |
2.0 |
Converted |
Mapped to style and explode. See collectionFormat mapping. |
default |
2.0 |
Converted |
Moved into schema. |
maximum |
2.0 |
Converted |
Moved into schema. |
exclusiveMaximum |
2.0 |
Converted |
Moved into schema. |
minimum |
2.0 |
Converted |
Moved into schema. |
exclusiveMinimum |
2.0 |
Converted |
Moved into schema. |
maxLength |
2.0 |
Converted |
Moved into schema. |
minLength |
2.0 |
Converted |
Moved into schema. |
pattern |
2.0 |
Converted |
Moved into schema. |
maxItems |
2.0 |
Converted |
Moved into schema. |
minItems |
2.0 |
Converted |
Moved into schema. |
uniqueItems |
2.0 |
Converted |
Moved into schema. |
enum |
2.0 |
Converted |
Moved into schema. |
multipleOf |
2.0 |
Converted |
Moved into schema. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Parameter in values
| Value |
Versions |
Status |
How it is handled / why |
path |
2.0, 3.0+ |
Covered |
Substituted into the path, percent-encoded (including /, unless allowReserved is set). |
query |
2.0, 3.0+ |
Covered |
Added to the query string. |
header |
2.0, 3.0+ |
Covered |
Sent as a request header. Operator --header values and the auth provider's headers win over a caller's value. |
cookie |
3.0+ |
Covered |
Collected into one Cookie header. form values are percent-encoded; 3.2 style: cookie values are sent as given. |
querystring |
3.2 |
Covered |
One argument holding the whole query string. An object under a non-JSON media type is form-encoded, JSON is sent as encoded JSON text, and a string is sent as given. |
formData |
2.0 |
Converted |
All formData parameters become one object request body: multipart/form-data when one is type: file or consumes lists multipart, else application/x-www-form-urlencoded. |
body |
2.0 |
Converted |
Becomes requestBody, with the media type from consumes (JSON first). required carries over. |
Style values
| Style |
Versions |
Status |
How it is handled / why |
matrix |
3.0+ |
Covered |
;name=value path segments, exploded or not. |
label |
3.0+ |
Covered |
.value path segments, exploded or not. |
simple |
3.0+ |
Covered |
Path and header values; objects as k,v or, exploded, k=v. |
form |
3.0+ |
Covered |
Query: arrays as repeated keys or comma-joined, objects as k=v pairs or comma-joined. Cookie: values percent-encoded; with explode (the default), arrays and objects become separate name=value pairs joined by ;, otherwise comma-joined. |
spaceDelimited |
3.0+ |
Covered |
Query arrays joined with spaces. |
pipeDelimited |
3.0+ |
Covered |
Query arrays joined with \|. |
deepObject |
3.0+ |
Covered |
Query objects as name[key]=value. |
cookie |
3.2 |
Covered |
Cookie values sent as given, without percent-encoding; arrays and objects as style: form. |
| collectionFormat |
Versions |
Status |
How it is handled / why |
csv |
2.0 |
Converted |
style: simple in path and header, style: form, explode: false in query. On formData, arrays are sent as repeated keys instead. |
ssv |
2.0 |
Converted |
style: spaceDelimited in query. Ignored on formData (repeated keys). |
tsv |
2.0 |
Skipped |
OpenAPI 3 has no equivalent. An optional parameter is left out and noted; a required one soft-drops the operation. Ignored on formData (repeated keys). |
pipes |
2.0 |
Converted |
style: pipeDelimited in query. Ignored on formData (repeated keys). |
multi |
2.0 |
Converted |
style: form, explode: true in query; repeated keys on formData. |
Items Object
2.0 only. A parameter's items is moved into its schema.items, so these fields are then handled
as Schema Object keywords on the array items.
| Field |
Versions |
Status |
How it is handled / why |
type |
2.0 |
Converted |
Types the array items (for example list[int]). |
format |
2.0 |
Converted |
Kept on the item schema. |
items |
2.0 |
Converted |
Nested arrays are kept, typed list[Any] below the first level. |
collectionFormat |
2.0 |
Converted |
Removed; OpenAPI 3 has no place for it. The outer parameter's style still applies. |
default |
2.0 |
Converted |
Kept on the item schema. |
maximum |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
exclusiveMaximum |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
minimum |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
exclusiveMinimum |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
maxLength |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
minLength |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
pattern |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
maxItems |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
minItems |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
uniqueItems |
2.0 |
Converted |
Kept on the item schema; not enforced. |
enum |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
multipleOf |
2.0 |
Converted |
Kept on the item schema; not enforced per item. |
^x- |
2.0 |
Not needed |
Removed before resolution. |
Request Body Object
| Field |
Versions |
Status |
How it is handled / why |
description |
3.0+ |
Not needed |
Not shown to the caller; each body property carries its own description. |
content |
3.0+ |
Covered |
One media type is used: application/json first, then any JSON-like type, otherwise the first one listed. How each media type becomes arguments is in request bodies by media type. |
required |
3.0+ |
Covered |
Makes the whole body argument required, or, for a flattened body, the properties the schema lists in required. An optional body makes every property optional. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
| Field |
Versions |
Status |
How it is handled / why |
schema |
3.0+ |
Covered |
Request: a JSON, form or multipart object with declared properties becomes one argument per property; anything else becomes a single body argument (str for text, XML and binary media). A media type without a schema takes a free-form body. Responses: see Response Object. |
itemSchema |
3.2 |
Skipped |
Sequential and streaming media are not supported. A response is read whole and returned as text. A request with only itemSchema gets a free-form body that is not serialized as a sequence. Not planned. |
example |
3.0+ |
Covered |
On a request body: becomes a generated test of the input model when it validates against its own schema (3.0 rules for 3.0 documents, 3.1 rules otherwise). Ignored on responses and parameters. |
examples |
3.0+ |
Covered |
As example, using the first entry's value or 3.2 dataValue. |
encoding |
3.0+ |
Partial |
Only contentType is used, for binary parts of a multipart body. See Encoding Object. |
prefixEncoding |
3.2 |
Skipped |
Positional multipart encoding for sequential media; streaming is not supported. |
itemEncoding |
3.2 |
Skipped |
Per-item multipart encoding for sequential media; streaming is not supported. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
Encoding Object
| Field |
Versions |
Status |
How it is handled / why |
contentType |
3.0+ |
Partial |
Sent as the part's Content-Type for a binary (format: binary / byte or base64) multipart property. Other parts use the default: text, with objects as JSON text. |
headers |
3.0+ |
Skipped |
Per-part multipart headers are not sent. Candidate for later. |
encoding |
3.2 |
Skipped |
Nested encoding for nested multipart. Not supported. |
prefixEncoding |
3.2 |
Skipped |
Nested positional encoding. Not supported. |
itemEncoding |
3.2 |
Skipped |
Nested per-item encoding. Not supported. |
style |
3.0+ |
Skipped |
Form fields always use form with explode: true: arrays of scalars as repeated keys, objects and nested arrays as JSON text. Candidate for later. |
explode |
3.0+ |
Skipped |
As style. |
allowReserved |
3.0+ |
Skipped |
Form values are always encoded. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
Responses Object
| Field |
Versions |
Status |
How it is handled / why |
default |
2.0, 3.0+ |
Covered |
Used as the success response only when no 2xx or 2XX response is declared. |
{HTTP status code} |
2.0, 3.0+ |
Covered |
The success response is the lowest explicit 2xx code, then 2XX. Any 4xx or 5xx reply raises an HTTP status error regardless of what is declared. A 3xx reply is returned as the result, not followed. 1XX–5XX ranges other than 2XX are not read. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Response Object
| Field |
Versions |
Status |
How it is handled / why |
summary |
3.2 |
Not needed |
Documentation only. |
description |
2.0, 3.0+ |
Not needed |
Documentation only. Optional in 3.2, which the generator accepts. |
schema |
2.0 |
Converted |
Becomes content.<produces type>.schema. A type: file schema becomes type: string, format: binary. |
headers |
2.0, 3.0+ |
Not needed |
Declared headers are not used. Enveloped results return every response header as received. 2.0 headers are converted to 3.0 form. |
examples |
2.0 |
Converted |
Moved to content.<mime>.example. Response examples are not used afterwards. |
content |
3.0+ |
Partial |
JSON object schema: the action returns the response's JSON object as is (a model that accepts any fields; output fields are not typed). Anything else (array, scalar, text, binary, no content) is returned in an envelope with status_code, headers and body. A non-JSON media type with an object schema (XML, say) is also returned in the envelope, with the body as text. A required boolean ok property turns a 2xx body with ok: false into a business error. |
links |
3.0+ |
Not needed |
See Link Object. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
| Field |
Versions |
Status |
How it is handled / why |
{name} |
2.0 |
Converted |
Each header is converted to a 3.0 Header Object (see Header Object). |
Callback Object
| Field |
Versions |
Status |
How it is handled / why |
{expression} |
3.0+ |
Skipped |
A callback is a request the API sends to you, not a call a connector makes. The report notes how many operations have callbacks. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
Example Object
| Field |
Versions |
Status |
How it is handled / why |
{mime type} |
2.0 |
Converted |
The 2.0 response example map moves to content.<mime>.example. |
summary |
3.0+ |
Not needed |
Documentation only. |
description |
3.0+ |
Not needed |
Documentation only. |
dataValue |
3.2 |
Covered |
Used like value for request-body example tests. |
serializedValue |
3.2 |
Skipped |
Not used for tests: turning serialized text back into input data would need a parser per media type. No effect on calls. |
value |
3.0+ |
Covered |
The first request-body example becomes a generated test when it matches its schema. Mismatched examples are skipped and named in the report. |
externalValue |
3.0+ |
Skipped |
Not fetched: the generator makes no network calls for referenced content (the same policy as remote $refs). No effect on calls. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
Link Object
Links describe how one response feeds the next call. The agent calling the tools chains them
itself, so none of these fields is used.
| Field |
Versions |
Status |
How it is handled / why |
operationRef |
3.0+ |
Not needed |
Navigation hint for clients. |
operationId |
3.0+ |
Not needed |
Navigation hint for clients. |
parameters |
3.0+ |
Not needed |
Navigation hint for clients. |
requestBody |
3.0+ |
Not needed |
Navigation hint for clients. |
description |
3.0+ |
Not needed |
Documentation only. |
server |
3.0+ |
Not needed |
Navigation hint for clients. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
Header Objects describe response headers and multipart part headers. Response headers are returned
as received, and part headers are not sent (see Encoding Object), so the
declarations themselves are not used.
| Field |
Versions |
Status |
How it is handled / why |
description |
2.0, 3.0+ |
Not needed |
Not used. |
required |
3.0+ |
Not needed |
Not used. |
deprecated |
3.0+ |
Not needed |
Not used. |
style |
3.0+ |
Not needed |
Not used. |
explode |
3.0+ |
Not needed |
Not used. |
schema |
3.0+ |
Not needed |
Not used. |
content |
3.0+ |
Not needed |
Not used. |
example |
3.0+ |
Not needed |
Not used. |
examples |
3.0+ |
Not needed |
Not used. |
type |
2.0 |
Converted |
Moved into schema. |
format |
2.0 |
Converted |
Moved into schema. |
items |
2.0 |
Converted |
Moved into schema. |
collectionFormat |
2.0 |
Converted |
Removed; OpenAPI 3 headers always use style: simple. |
default |
2.0 |
Converted |
Moved into schema. |
maximum |
2.0 |
Converted |
Moved into schema. |
exclusiveMaximum |
2.0 |
Converted |
Moved into schema. |
minimum |
2.0 |
Converted |
Moved into schema. |
exclusiveMinimum |
2.0 |
Converted |
Moved into schema. |
maxLength |
2.0 |
Converted |
Moved into schema. |
minLength |
2.0 |
Converted |
Moved into schema. |
pattern |
2.0 |
Converted |
Moved into schema. |
maxItems |
2.0 |
Converted |
Moved into schema. |
minItems |
2.0 |
Converted |
Moved into schema. |
uniqueItems |
2.0 |
Converted |
Moved into schema. |
enum |
2.0 |
Converted |
Moved into schema. |
multipleOf |
2.0 |
Converted |
Moved into schema. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Tag Object
| Field |
Versions |
Status |
How it is handled / why |
name |
2.0, 3.0+ |
Not needed |
Documentation grouping. |
summary |
3.2 |
Not needed |
Documentation grouping. |
description |
2.0, 3.0+ |
Not needed |
Documentation grouping. |
externalDocs |
2.0, 3.0+ |
Not needed |
Documentation only. |
parent |
3.2 |
Not needed |
Documentation grouping. |
kind |
3.2 |
Not needed |
Documentation grouping. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Reference Object
| Field |
Versions |
Status |
How it is handled / why |
$ref |
2.0, 3.0+ |
Covered |
In-document #/ pointers and relative file references are inlined; a cycle is cut into a permissive object (see recursive schemas). Absolute URLs are rejected, and so are relative file references when the spec itself was fetched by URL: fetching more documents would open the build to SSRF and supply-chain risks. |
summary |
3.1+ |
Not needed |
Dropped during resolution; the target's text is used. Documentation only. |
description |
3.1+ |
Not needed |
As summary. Parameter descriptions shown to the caller come from the target. |
Schema Object
Generated actions have a flat contract: each top-level parameter or body property is one typed
argument. Type, enum and range constraints at that level are enforced by the input model before the
call. Below that level (nested objects, array items, composition keywords) the value is passed
through as given and the upstream API validates it. Output fields are not typed.
OAS-specific Schema fields
| Field |
Versions |
Status |
How it is handled / why |
nullable |
3.0 |
Partial |
Accepted, but an argument set to null is treated as unset and never sent, so an explicit null cannot be sent. Optional arguments already accept null. |
discriminator |
2.0, 3.0+ |
Skipped |
oneOf / anyOf bodies are a free-form object, so the discriminator has nothing to select. The 2.0 string form is converted to {propertyName: ...}, so the schema stays valid. Not planned. |
readOnly |
2.0, 3.0+ |
Partial |
Top-level properties of a flattened body marked readOnly are left out. Nested readOnly properties are not removed. |
writeOnly |
3.0+ |
Not needed |
Only matters for responses, whose fields are not typed. |
xml |
2.0, 3.0+ |
Not needed |
XML bodies are passed as a string the caller writes, so XML naming rules are not applied. |
externalDocs |
2.0, 3.0+ |
Not needed |
Documentation only. |
example |
2.0, 3.0+ |
Not needed |
Schema-level examples are not used; generated tests use media type examples. |
deprecated |
3.0+ |
Not needed |
The property is still offered and sent. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. 3.1+ schemas may carry other unknown keywords; they are ignored. |
JSON Schema keywords
| Keyword |
Versions |
Status |
How it is handled / why |
$id |
3.1+ |
Skipped |
A $ref to a schema's $id URI is treated as a remote reference and rejects the spec. A $id nobody references is harmless. |
$schema |
3.1+ |
Skipped |
Not read; the default OAS dialect is assumed. |
$ref |
2.0, 3.0+ |
Partial |
JSON pointer and relative file references are inlined (see Reference Object). In 3.1+ a $ref's sibling keywords should apply too, but they are dropped during resolution and only the target is used. |
$anchor |
3.1+ |
Skipped |
A $ref: "#name" anchor reference cannot be resolved and fails the build. |
$dynamicRef |
3.1+ |
Skipped |
Not resolved; the keyword is ignored and the schema is typed from its other keywords. |
$dynamicAnchor |
3.1+ |
Skipped |
As $dynamicRef. |
$vocabulary |
3.1+ |
Not needed |
Only meaningful in meta-schemas. |
$comment |
3.1+ |
Not needed |
A comment. |
$defs |
3.1+ |
Covered |
Reached through JSON pointer references such as #/components/schemas/A/$defs/B. |
allOf |
2.0, 3.0+ |
Partial |
On an object request body, the parts are merged and flattened into arguments. Elsewhere the value is typed Any and passed through. |
anyOf |
3.0+ |
Skipped |
Typed Any (a whole body becomes a free-form object); the upstream API validates. A flat contract cannot express alternatives. |
oneOf |
3.0+ |
Skipped |
As anyOf. |
not |
3.0+ |
Skipped |
Ignored; the upstream API validates. |
if |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
then |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
else |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
dependentSchemas |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
prefixItems |
3.1+ |
Skipped |
Ignored; the array is typed from items, or list[Any]. |
items |
2.0, 3.0+ |
Partial |
Types the array (list[str], list[int], ...). Item objects are dict, and constraints on items are not enforced. |
contains |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
properties |
2.0, 3.0+ |
Partial |
Top-level properties of an object request body become one argument each. Nested objects are free-form dict arguments, so their properties are not shown or checked. |
patternProperties |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
additionalProperties |
2.0, 3.0+ |
Partial |
An object with only additionalProperties is a free-form dict. A flattened body accepts only its declared properties, so extra properties cannot be sent. A cut recursive $ref becomes an object with additionalProperties: true. |
propertyNames |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
unevaluatedItems |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
unevaluatedProperties |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
type |
2.0, 3.0+ |
Covered |
string, integer, number, boolean, array and object map to str, int, float, bool, list[...] and dict. A 3.1 type array with "null" becomes the single type plus nullable. A union of several types becomes anyOf and is typed Any. |
enum |
2.0, 3.0+ |
Partial |
String, integer and boolean enums are enforced as a Literal; null members are dropped. Number (float) enums are advertised in the tool schema but not enforced, since a Literal cannot hold floats. Mixed-type enums are not enforced or advertised. |
const |
3.1+ |
Partial |
A string, integer or boolean const is enforced as a one-value Literal. Object and array values are ignored. |
multipleOf |
2.0, 3.0+ |
Covered |
Enforced on integer and number arguments. |
maximum |
2.0, 3.0+ |
Covered |
Enforced on integer and number arguments. |
exclusiveMaximum |
2.0, 3.0+ |
Covered |
Enforced in both forms: the 2.0/3.0 boolean beside maximum and the 3.1+ number. |
minimum |
2.0, 3.0+ |
Covered |
Enforced on integer and number arguments. |
exclusiveMinimum |
2.0, 3.0+ |
Covered |
Enforced in both forms, as exclusiveMaximum. |
maxLength |
2.0, 3.0+ |
Covered |
Enforced on string arguments. |
minLength |
2.0, 3.0+ |
Covered |
Enforced on string arguments. |
pattern |
2.0, 3.0+ |
Partial |
Advertised in the tool schema, not enforced: spec patterns are ECMA-262 regular expressions, which Python does not always read the same way, and the upstream API validates. |
maxItems |
2.0, 3.0+ |
Covered |
Enforced on array arguments. |
minItems |
2.0, 3.0+ |
Covered |
Enforced on array arguments. |
uniqueItems |
2.0, 3.0+ |
Skipped |
Not enforced or advertised; the upstream API validates. |
maxContains |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
minContains |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
maxProperties |
2.0, 3.0+ |
Skipped |
Ignored; the upstream API validates. |
minProperties |
2.0, 3.0+ |
Skipped |
Ignored; the upstream API validates. |
required |
2.0, 3.0+ |
Covered |
Required properties of a required body become required arguments. |
dependentRequired |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
format |
2.0, 3.0+ |
Partial |
Advertised in the tool schema, not enforced. binary and byte mark a base64 argument that is decoded to bytes before sending. |
contentEncoding |
3.1+ |
Partial |
base64 and base64url mark an argument decoded to bytes before sending; padding is optional for both. Other encodings are not decoded. |
contentMediaType |
3.1+ |
Covered |
A media type that is not text, JSON or XML marks a base64 argument decoded to bytes before sending. |
contentSchema |
3.1+ |
Skipped |
Ignored; the encoded content is passed through as a string. |
title |
2.0, 3.0+ |
Not needed |
Titles are removed from the tool schema; argument names already carry them. |
description |
2.0, 3.0+ |
Covered |
The argument's description: first sentence, capped at 90 characters. |
default |
2.0, 3.0+ |
Covered |
The argument's default value. |
examples |
3.1+ |
Not needed |
Schema-level examples are not used. |
definitions |
3.1+ |
Covered |
As $defs: reached through JSON pointer references. |
dependencies |
3.1+ |
Skipped |
Ignored; the upstream API validates. |
$recursiveRef |
3.1+ |
Skipped |
Not resolved; ignored as $dynamicRef. |
$recursiveAnchor |
3.1+ |
Skipped |
As $recursiveRef. |
Boolean schema (true / false) |
3.1+ |
Covered |
Accepted as a property schema or a parameter's schema, typed Any (free-form). |
| Format |
Versions |
Status |
How it is handled / why |
int32 |
2.0, 3.0+ |
Covered |
int; the format is advertised. Range is not checked. |
int64 |
2.0, 3.0+ |
Covered |
int; the format is advertised. |
float |
2.0, 3.0+ |
Covered |
float; the format is advertised. |
double |
2.0, 3.0+ |
Covered |
float; the format is advertised. |
byte |
2.0, 3.0 |
Covered |
The caller passes base64, which is decoded before sending. |
binary |
2.0, 3.0 |
Covered |
The caller passes base64, which is decoded before sending. |
date |
2.0, 3.0 |
Partial |
str; the format is advertised, not validated. |
date-time |
2.0, 3.0 |
Partial |
str; the format is advertised, not validated. |
password |
2.0, 3.0+ |
Not needed |
A UI hint. Advertised as a format. |
type: file |
2.0 |
Converted |
Becomes type: string, format: binary wherever it appears. On formData parameters it also makes the body multipart. |
Discriminator Object
Bodies and values built with oneOf / anyOf are free-form (see
JSON Schema keywords), so there is nothing for a discriminator to select.
| Field |
Versions |
Status |
How it is handled / why |
propertyName |
3.0+ |
Skipped |
Ignored; the caller sets the property in the free-form value, and the upstream API validates. |
mapping |
3.0+ |
Skipped |
As propertyName. |
defaultMapping |
3.2 |
Skipped |
As propertyName. |
^x- |
3.1+ |
Not needed |
Removed before resolution. |
XML Object
XML bodies are a string the caller writes, so XML mapping rules are not applied.
| Field |
Versions |
Status |
How it is handled / why |
nodeType |
3.2 |
Not needed |
XML presentation of a JSON-modeled schema. |
name |
2.0, 3.0+ |
Not needed |
As nodeType. |
namespace |
2.0, 3.0+ |
Not needed |
As nodeType. |
prefix |
2.0, 3.0+ |
Not needed |
As nodeType. |
attribute |
2.0, 3.0+ |
Not needed |
As nodeType. |
wrapped |
2.0, 3.0+ |
Not needed |
As nodeType. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Security Scheme Object
The connector has one default scheme: a global self-managed scheme (API key, bearer, basic) if
there is one, else the one most operations use; host-supplied OAuth2 / OpenID Connect schemes are
picked only when there is no self-managed one. Operations that need another presentable scheme send
it through a named entry under auth_schemes:
(see per-action auth schemes).
| Field |
Versions |
Status |
How it is handled / why |
type |
2.0, 3.0+ |
Partial |
apiKey, http, oauth2 and openIdConnect are supported (see the variants below). mutualTLS is not. |
description |
2.0, 3.0+ |
Not needed |
Documentation only. |
name |
2.0, 3.0+ |
Covered |
The header or query parameter name for an apiKey. A parameter that repeats the credential (api_key, token, and similar names) is removed from the action's arguments, and the report notes it. |
in |
2.0, 3.0+ |
Partial |
header and query are supported; cookie is not. |
scheme |
3.0+ |
Partial |
bearer and basic are supported. Other HTTP schemes (digest, negotiate, ...) are not. |
bearerFormat |
3.0+ |
Not needed |
A hint about the token; the token is sent as given. |
flows |
3.0+ |
Covered |
Any flow makes the scheme a host-supplied bearer token (see OAuth Flows Object). |
openIdConnectUrl |
3.0+ |
Not needed |
The scheme is a host-supplied bearer token; Node Wire never runs discovery. |
oauth2MetadataUrl |
3.2 |
Not needed |
Documentation for the host, which obtains the token. |
deprecated |
3.2 |
Not needed |
The scheme is still used. |
flow |
2.0 |
Converted |
implicit, password, application and accessCode become the 3.0 implicit, password, clientCredentials and authorizationCode flows. |
authorizationUrl |
2.0 |
Converted |
Moved onto the converted flow. |
tokenUrl |
2.0 |
Converted |
Moved onto the converted flow. |
scopes |
2.0 |
Converted |
Moved onto the converted flow. |
^x- |
2.0, 3.0+ |
Not needed |
Removed before resolution. |
Security scheme variants
| Variant |
Versions |
Status |
How it is handled / why |
basic |
2.0 |
Converted |
Becomes type: http, scheme: basic. |
apiKey, in: header |
2.0, 3.0+ |
Covered |
static_token provider sending <ID>_API_KEY in the named header. |
apiKey, in: query |
2.0, 3.0+ |
Covered |
apikey_query provider adding <ID>_API_KEY to the query string. |
apiKey, in: cookie |
3.0+ |
Skipped |
No cookie auth provider yet. Operations that only accept it are soft-dropped. Candidate for later. |
http, scheme: basic |
3.0+ |
Covered |
static_token provider sending Authorization: Basic with <ID>_BASIC_AUTH, base64-encoded. |
http, scheme: bearer |
3.0+ |
Covered |
static_token provider sending Authorization: Bearer <ID>_TOKEN. |
http, other schemes |
3.0+ |
Skipped |
digest and similar schemes are challenge-response exchanges, not a fixed header. Operations that only accept them are soft-dropped. Not planned. |
oauth2 (single flow) |
2.0 |
Converted |
Becomes a flows object (see flow above). |
oauth2 (flows) |
3.0+ |
Covered |
Host-supplied bearer: <ID>_ACCESS_TOKEN is sent as Authorization: Bearer. Node Wire never obtains or refreshes it. |
openIdConnect |
3.0+ |
Covered |
Host-supplied bearer, as oauth2. |
mutualTLS |
3.1+ |
Skipped |
A client certificate is configured on the TLS connection, not sent as a header or parameter, and the runtime has no per-connector TLS client configuration. Operations that only accept it are soft-dropped. Candidate for later. |
OAuth Flows Object
Every flow maps to the same host-supplied bearer token, so which flows are declared does not change
the generated connector.
| Field |
Versions |
Status |
How it is handled / why |
implicit |
3.0+ |
Covered |
Host-supplied bearer. |
password |
3.0+ |
Covered |
Host-supplied bearer. |
clientCredentials |
3.0+ |
Covered |
Host-supplied bearer. |
authorizationCode |
3.0+ |
Covered |
Host-supplied bearer. |
deviceAuthorization |
3.2 |
Covered |
Host-supplied bearer. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
OAuth Flow Object
| Field |
Versions |
Status |
How it is handled / why |
authorizationUrl |
3.0+ |
Not needed |
Copied into the build report's auth notes for the host. Node Wire never calls it. |
deviceAuthorizationUrl |
3.2 |
Not needed |
Node Wire never calls it; the host obtains the token. Not copied into the report. |
tokenUrl |
3.0+ |
Not needed |
Copied into the build report's auth notes for the host. Node Wire never calls it. |
refreshUrl |
3.0+ |
Not needed |
Node Wire never refreshes the token; the host does. |
scopes |
3.0+ |
Skipped |
Node Wire does not request tokens, so it does not request scopes. The host must obtain a token with the right scopes. By design, not planned. |
^x- |
3.0+ |
Not needed |
Removed before resolution. |
Scopes Object
| Field |
Versions |
Status |
How it is handled / why |
{name} |
2.0 |
Converted |
Moved to the converted flow's scopes. |
^x- |
2.0 |
Not needed |
Removed before resolution. |
Security Requirement Object
| Field |
Versions |
Status |
How it is handled / why |
{name} |
2.0, 3.0+ |
Partial |
Alternatives (OR): the operation uses the connector default if it is listed, else the first presentable alternative through auth_schemes:. {} (optional auth) still sends the default credential, and so does an operation with no security anywhere when the connector has a scheme. security: [] makes the action anonymous. A requirement naming several schemes (AND) sends all of them when each puts its credential in a different place; two that both need Authorization soft-drop the operation with that reason. An operation whose alternatives are all unsupported is soft-dropped. Scope and role lists are not used. Not covered: 3.2 keys given as a URI of a Security Scheme are not resolved, so that alternative is treated as unsupported. |
Specification extensions
| Field |
Versions |
Status |
How it is handled / why |
^x- on any object |
2.0, 3.0+ |
Not needed |
Removed before $ref resolution; the generator reads none of them. Property and header names that start with x- are names, not extensions, and are kept. Example data is left as is. |
| Unprefixed unknown keywords in a Schema |
3.1+ |
Not needed |
Ignored. |
Cross-cutting rules
HTTP methods
| Method |
Versions |
Status |
How it is handled / why |
get |
2.0, 3.0+ |
Covered |
A declared request body is sent in 3.1+ documents and ignored in 3.0. |
put |
2.0, 3.0+ |
Covered |
|
post |
2.0, 3.0+ |
Covered |
|
delete |
2.0, 3.0+ |
Covered |
As get. |
options |
2.0, 3.0+ |
Covered |
|
head |
2.0, 3.0+ |
Covered |
As get. |
patch |
2.0, 3.0+ |
Covered |
|
trace |
3.0+ |
Covered |
|
query |
3.2 |
Covered |
Sent as QUERY. |
Any other method (additionalOperations) |
3.2 |
Covered |
Sent with the method name in upper case. |
$ref sibling rules
| Context |
Versions |
Status |
How it is handled / why |
| Reference Object siblings |
2.0, 3.0+ |
Not needed |
Dropped; the target is used. In 3.1+ only summary and description may override, and both are documentation. |
Schema $ref siblings |
3.1+ |
Partial |
Dropped; only the target schema is used, so a sibling such as maxLength beside a $ref is not applied. |
Path Item $ref siblings |
2.0, 3.0+ |
Partial |
Dropped; the referenced Path Item replaces the local fields, including any operations defined next to the $ref. |
Server URL templating
| Rule |
Versions |
Status |
How it is handled / why |
Template variables in url |
3.0+ |
Covered |
Replaced with each variable's default. |
Each variable has a default |
3.0+ |
Covered |
Required: a root server variable without one fails the build. |
enum values |
3.0+ |
Skipped |
Not offered as a choice; the default is used. |
| Relative server URLs |
3.0+ |
Partial |
Resolved against the fetch URL for a spec fetched over HTTP(S), root servers only. For a local file, pass --base-url. A relative operation-level server is ignored with a note. |
No query or fragment in url |
3.1+ |
Not needed |
A spec rule; a URL that breaks it is used as written. |
Path templating
| Rule |
Versions |
Status |
How it is handled / why |
{name} marks a replaceable segment |
2.0, 3.0+ |
Covered |
Filled from the path parameter, percent-encoded. |
| Every template expression has a path parameter |
3.0+ |
Covered |
Checked by validation; an operation without one is soft-dropped as invalid. |
Path values contain no unescaped /, ? or # |
3.1+ |
Covered |
Path values are fully percent-encoded, so / cannot add a segment. With allowReserved, reserved characters other than &, = and # are kept, as the spec allows. |
Response codes
| Rule |
Versions |
Status |
How it is handled / why |
| Explicit status codes |
2.0, 3.0+ |
Covered |
The lowest 2xx is the success response. |
default |
2.0, 3.0+ |
Covered |
The success response only when no 2xx is declared. |
Ranges 1XX–5XX |
3.0+ |
Partial |
2XX is read after explicit 2xx codes. Other ranges are not read; error replies raise by status. |
| Explicit code overrides its range |
3.0+ |
Covered |
Explicit 2xx codes are tried before 2XX. |
Not covered, and why
Every Skipped row above, grouped. "Candidate for later" means the gap could be closed without
changing the generator's flat-contract or host-supplied-auth design.
Inbound traffic (the API calls you; a connector only makes outbound calls)
webhooks and callbacks: requests the API sends, not calls a connector makes. Noted in the
build report. Not planned.
Server choice
- Server variable
enum: the default is used. Pick another value with base_url in
connectors.yaml or --base-url. Not planned.
Parameters and bodies
- Swagger 2.0
collectionFormat: tsv: OpenAPI 3 has no equivalent; an optional parameter is
left out, a required one soft-drops the operation. Not planned.
- Encoding Object
style, explode, allowReserved: form fields always use form/explode, objects
as JSON text. Candidate for later.
- Encoding Object
headers: per-part multipart headers are not sent. Candidate for later.
- 3.2 sequential and streaming media (
itemSchema, prefixEncoding, itemEncoding, nested
Encoding encoding / prefixEncoding / itemEncoding): responses are read whole, and requests
are not serialized as sequences. Not planned.
Schema structure below the top level (flat tool contract; the upstream API validates)
anyOf, oneOf, not, discriminator (propertyName, mapping, 3.2 defaultMapping):
typed Any, or a free-form body object. Not planned.
if / then / else, dependentSchemas, dependentRequired, dependencies, prefixItems,
contains, minContains, maxContains, patternProperties, propertyNames,
unevaluatedItems, unevaluatedProperties, uniqueItems, minProperties, maxProperties,
contentSchema: ignored. Not planned.
$id, $anchor, $dynamicRef, $dynamicAnchor, $recursiveRef, $recursiveAnchor:
references by URI or anchor are not resolved. A $ref to an $id URI is rejected as remote, and
a $ref to an anchor fails the build. Candidate for later.
$schema and jsonSchemaDialect: the default OAS dialect is assumed. Not planned.
- 3.2
$self: relative references resolve against the file or fetch URL instead. Not planned.
Auth (Node Wire presents credentials; it does not run auth protocols)
mutualTLS: a client certificate is TLS configuration, not a header or parameter, and the
runtime has no per-connector TLS client settings. Candidate for later.
apiKey in cookie: no cookie auth provider. Candidate for later.
http schemes other than bearer and basic (digest, ...): challenge-response, not a fixed
header. Not planned.
- OAuth2 token acquisition and
scopes: the host supplies the token by design. Not planned.
- 3.2 security requirement keys given as a URI of a Security Scheme: not resolved, so the
alternative is treated as unsupported. Candidate for later.
Examples (no effect on calls; only generated tests use examples)
- Example
serializedValue: would need a parser per media type to turn back into input data.
Not planned.
- Example
externalValue: not fetched, the same policy as remote $refs. Not planned.