{"id":21117929,"url":"https://github.com/zero-to-prod/data-model-openapi30","last_synced_at":"2025-10-26T21:32:40.094Z","repository":{"id":261710061,"uuid":"885105129","full_name":"zero-to-prod/data-model-openapi30","owner":"zero-to-prod","description":"DataModels for OpenAPI 3.0.*","archived":false,"fork":false,"pushed_at":"2025-02-25T12:08:49.000Z","size":423,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T23:11:18.084Z","etag":null,"topics":["openapi","openapi3","php"],"latest_commit_sha":null,"homepage":"https://zero-to-prod.github.io/data-model-openapi30/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zero-to-prod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"zero-to-prod"}},"created_at":"2024-11-08T00:54:00.000Z","updated_at":"2025-03-04T22:26:17.000Z","dependencies_parsed_at":"2024-11-08T01:39:53.428Z","dependency_job_id":"22dd5495-d327-4e59-a418-1691984ff43f","html_url":"https://github.com/zero-to-prod/data-model-openapi30","commit_stats":null,"previous_names":["zero-to-prod/data-model-openapi30"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero-to-prod%2Fdata-model-openapi30","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero-to-prod%2Fdata-model-openapi30/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero-to-prod%2Fdata-model-openapi30/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero-to-prod%2Fdata-model-openapi30/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zero-to-prod","download_url":"https://codeload.github.com/zero-to-prod/data-model-openapi30/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248675458,"owners_count":21143766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openapi","openapi3","php"],"created_at":"2024-11-20T02:49:17.761Z","updated_at":"2025-10-26T21:32:40.087Z","avatar_url":"https://github.com/zero-to-prod.png","language":"PHP","funding_links":["https://github.com/sponsors/zero-to-prod"],"categories":[],"sub_categories":[],"readme":"# Zerotoprod\\DataModelOpenapi30\n\n![](./art/logo.png)\n\n[![Repo](https://img.shields.io/badge/github-gray?logo=github)](https://github.com/zero-to-prod/data-model-openapi30)\n[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/zero-to-prod/data-model-openapi30/test.yml?label=test)](https://github.com/zero-to-prod/data-model-openapi30/actions)\n[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/zero-to-prod/data-model-openapi30/backwards_compatibility.yml?label=backwards_compatibility)](https://github.com/zero-to-prod/data-model-openapi30/actions)\n[![Packagist Downloads](https://img.shields.io/packagist/dt/zero-to-prod/data-model-openapi30?color=blue)](https://packagist.org/packages/zero-to-prod/data-model-openapi30/stats)\n[![Packagist Version](https://img.shields.io/packagist/v/zero-to-prod/data-model-openapi30?color=f28d1a)](https://packagist.org/packages/zero-to-prod/data-model-openapi30)\n[![License](https://img.shields.io/packagist/l/zero-to-prod/data-model-openapi30?color=red)](https://github.com/zero-to-prod/data-model-openapi30/blob/main/LICENSE.md)\n[![wakatime](https://wakatime.com/badge/github/zero-to-prod/data-model-openapi30.svg)](https://wakatime.com/badge/github/zero-to-prod/data-model-openapi30)\n[![Hits-of-Code](https://hitsofcode.com/github/zero-to-prod/data-model-openapi30?branch=main)](https://hitsofcode.com/github/zero-to-prod/data-model-openapi30/view?branch=main)\n\n## Contents\n\n- [Introduction](#introduction)\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Documentation Publishing](#documentation-publishing)\n    - [Automatic Documentation Publishing](#automatic-documentation-publishing)\n- [Usage](#usage)\n- [Publishing DataModels](#publishing-datamodels)\n- [Local Development](./LOCAL_DEVELOPMENT.md)\n- [Contributing](#contributing)\n\n## Introduction\n\nDataModels for OpenAPI 3.0.* [specification](https://spec.openapis.org/oas/v3.0.4.html).\n\n## Requirements\n\n- PHP 8.1 or higher.\n\n## Installation\n\nInstall `Zerotoprod\\DataModelOpenapi30` via [Composer](https://getcomposer.org/):\n\n```shell\ncomposer require zero-to-prod/data-model-openapi30\n```\n\nThis will add the package to your project's dependencies and create an autoloader entry for it.\n\n## Documentation Publishing\n\nYou can publish this README to your local documentation directory.\n\nThis can be useful for providing documentation for AI agents.\n\nThis can be done using the included script:\n\n```bash\n# Publish to default location (./docs/zero-to-prod/data-model-openapi30)\nvendor/bin/data-model-openapi30\n\n# Publish to custom directory\nvendor/bin/data-model-openapi30 /path/to/your/docs\n```\n\n### Automatic Documentation Publishing\n\nYou can automatically publish documentation by adding the following to your `composer.json`:\n\n```json\n{\n    \"scripts\": {\n        \"post-install-cmd\": [\n            \"data-model-openapi30\"\n        ],\n        \"post-update-cmd\": [\n            \"data-model-openapi30\"\n        ]\n    }\n}\n```\n\n## Usage\n\n```php\nuse Zerotoprod\\DataModelOpenapi30\\OpenApi;\n\n$OpenApi = OpenApi::from(json_decode($json, true));\n\n$OpenApi-\u003ecomponents-\u003eschemas['pet']-\u003edescription;\n```\n\n## Publishing DataModels\n\nYou can directly import these files into your project like this:\n\n```shell\n./vendor/bin/data-model-openapi30 app/DataModelOpenapi30\n```\n\n## Acceptance Tests\n\n| Test                                                                                                                              | Status             |\n|-----------------------------------------------------------------------------------------------------------------------------------|--------------------|\n| [4.7.2.2 Info Object Example](https://spec.openapis.org/oas/v3.0.4.html#info-object-example)                                      | :white_check_mark: |\n| [4.7.3.2 Contact Object Example](https://spec.openapis.org/oas/v3.0.4.html#contact-object-example)                                | :white_check_mark: |\n| [4.7.4.2 License Object Example](https://spec.openapis.org/oas/v3.0.4.html#license-object-example)                                | :white_check_mark: |\n| [4.7.5.2 Server Object Example](https://spec.openapis.org/oas/v3.0.4.html#server-object-example)                                  | :white_check_mark: |\n| [4.7.7.2 Components Object Example](https://spec.openapis.org/oas/v3.0.4.html#components-object-example)                          | :white_check_mark: |\n| [4.7.8.3 Paths Object Example](https://spec.openapis.org/oas/v3.0.4.html#paths-object-example)                                    | :white_check_mark: |\n| [4.7.9.2 Path Item Object Example](https://spec.openapis.org/oas/v3.0.4.html#path-item-object-example)                            | :white_check_mark: |\n| [4.7.10.2 Operation Object Example](https://spec.openapis.org/oas/v3.0.4.html#operation-object-example)                           | :white_check_mark: |\n| [4.7.11.2 External Documentation Object Example](https://spec.openapis.org/oas/v3.0.4.html#external-documentation-object-example) | :white_check_mark: |\n| [4.7.12.5 Parameter Object Examples](https://spec.openapis.org/oas/v3.0.4.html#parameter-object-examples)                         | :white_check_mark: |\n| [4.7.13.2 Request Body Examples](https://spec.openapis.org/oas/v3.0.4.html#request-body-examples)                                 | :white_check_mark: |\n| [4.7.14.2 Media Type Examples](https://spec.openapis.org/oas/v3.0.4.html#media-type-examples-0)                                   | :white_check_mark: |\n\n## Properties\n\n# [4.0 Specification](https://spec.openapis.org/oas/v3.0.4.html#specification)\n\n## [4.7 Schema](https://spec.openapis.org/oas/v3.0.4.html#schema-0)\n\nThis section describes the structure of the OpenAPI Description format\n\n### [4.7.1 OpenAPI Object](https://spec.openapis.org/oas/v3.0.4.html#openapi-object)\n\nThis is the root object of the OpenAPI Description.\n\n#### [4.7.1.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields)\n\n| Field Name   | Type                                                             | Status             |\n|--------------|------------------------------------------------------------------|--------------------|\n| openapi      | [`string`](src/OpenApi.php)                                      | :white_check_mark: |\n| info         | [`Info Object`](src/Info.php)                                    | :white_check_mark: |\n| servers      | [`[Server Object]`](src/Server.php)                              | :white_check_mark: |\n| paths        | [`Paths Object`](src/PathItem.php)                               | :white_check_mark: |\n| components   | [`Components Object`](src/Components.php)                        | :white_check_mark: |\n| security     | [`Security Requirement Object`](src/OpenApi.php)                 | :white_check_mark: |\n| tags         | [[`Tag Object`](src/Tag.php)]                                    | :white_check_mark: |\n| externalDocs | [`External Documentation Object`](src/ExternalDocumentation.php) | :white_check_mark: |\n\n### [4.7.2 Info Object](https://spec.openapis.org/oas/v3.0.4.html#info-object)\n\nThe object provides metadata about the API.\n\n#### [4.7.2.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-0)\n\n| Field Name     | Type                                | Status             |\n|----------------|-------------------------------------|--------------------|\n| title          | [`string`](src/Info.php)            | :white_check_mark: |\n| description    | [`string`](src/Info.php)            | :white_check_mark: |\n| termsOfService | [`string`](src/Info.php)            | :white_check_mark: |\n| contact        | [`Contact Object`](src/Contact.php) | :white_check_mark: |\n| license        | [`License Object`](src/License.php) | :white_check_mark: |\n| version        | [`string`](src/Info.php)            | :white_check_mark: |\n\n### [4.7.3 Contact Object](https://spec.openapis.org/oas/v3.0.4.html#contact-object)\n\nContact information for the exposed API.\n\n#### [4.7.3.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-1)\n\n| Field | Type                        | Status             |\n|-------|-----------------------------|--------------------|\n| name  | [`string`](src/Contact.php) | :white_check_mark: |\n| url   | [`string`](src/Contact.php) | :white_check_mark: |\n| email | [`email`](src/Contact.php)  | :white_check_mark: |\n\n### [4.7.4 License Object](https://spec.openapis.org/oas/v3.0.4.html#license-object)\n\nLicense information for the exposed API.\n\n#### [4.7.4.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-2)\n\n| Field | Type                        | Status             |\n|-------|-----------------------------|--------------------|\n| name  | [`string`](src/License.php) | :white_check_mark: |\n| url   | [`string`](src/License.php) | :white_check_mark: |\n\n### [4.7.5 Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-object)\n\nAn object representing a Server.\n\n#### [4.7.5.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-3)\n\n| Field Name  | Type                                                                                | Status             |\n|-------------|-------------------------------------------------------------------------------------|--------------------|\n| url         | [`string`](src/Server.php)                                                          | :white_check_mark: |\n| description | [`string`](src/Server.php)                                                          | :white_check_mark: |\n| variables   | Map[[`string`](src/Server.php), [`Server Variable Object`](src/ServerVariable.php)] | :white_check_mark: |\n\n### [4.7.6 Server Object](https://spec.openapis.org/oas/v3.0.4.html#server-variable-object)\n\nAn object representing a Server Variable for server URL template substitution.\n\n#### [4.7.6.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-4)\n\n| Field Name  | Type                                 | Status             |\n|-------------|--------------------------------------|--------------------|\n| enum        | [[`string`]](src/ServerVariable.php) | :white_check_mark: |\n| default     | [`string`](src/ServerVariable.php)   | :white_check_mark: |\n| description | [`string`](src/ServerVariable.php)   | :white_check_mark: |\n\n### [4.7.7 Components Object](https://spec.openapis.org/oas/v3.0.4.html#components-object)\n\nHolds a set of reusable objects for different aspects of the OAS.\n\n### [4.7.7.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-5)\n\n| Field Name      | Type                                                                                                                               | Status             |\n|-----------------|------------------------------------------------------------------------------------------------------------------------------------|--------------------|\n| schemas         | Map[[`string`](src/Components.php), [`Schema Object`](src/Schema.php) \\| [`Reference Object`](src/Reference.php)]                  | :white_check_mark: |\n| responses       | Map[[`string`](src/Components.php), [`Response Object`](src/Response.php) \\| [`Reference Object`](src/Reference.php)]              | :white_check_mark: |\n| parameters      | Map[[`string`](src/Components.php), [`Parameter Object`](src/Parameter.php) \\| [`Reference Object`](src/Reference.php)]            | :white_check_mark: |\n| examples        | Map[[`string`](src/Components.php), [`Example Object`](src/Example.php) \\| [`Reference Object`](src/Reference.php)]                | :white_check_mark: |\n| requestBodies   | Map[[`string`](src/Components.php), [`Request Body Object`](src/RequestBody.php) \\| [`Reference Object`](src/Reference.php)]       | :white_check_mark: |\n| headers         | Map[[`string`](src/Components.php), [`Header Object`](src/Header.php) \\| [`Reference Object`](src/Reference.php)]                  | :white_check_mark: |\n| securitySchemes | Map[[`string`](src/Components.php), [`Security Scheme Object`](src/SecurityScheme.php) \\| [`Reference Object`](src/Reference.php)] | :white_check_mark: |\n| links           | Map[[`string`](src/Components.php), [`Link Object`](src/Link.php) \\| [`Reference Object`](src/Reference.php)]                      | :white_check_mark: |\n| callbacks       | Map[[`string`](src/Components.php), [`Callback Object`](src/PathItem.php) \\| [`Reference Object`](src/Reference.php)]              | :white_check_mark: |\n\n### [4.7.8 Paths Object](https://spec.openapis.org/oas/v3.0.4.html#paths-object)\n\nHolds the relative paths to the individual endpoints and their operations.\n\n#### [4.7.8.1 Patterned Fields](https://spec.openapis.org/oas/v3.0.4.html#patterned-fields)\n\n| Field Name | Type                                 | Status             |\n|------------|--------------------------------------|--------------------|\n| /{path}    | [Path Item Object](src/PathItem.php) | :white_check_mark: |\n\n### [4.7.9 Path Item Object](https://spec.openapis.org/oas/v3.0.4.html#path-item-object)\n\nDescribes the operations available on a single path.\n\n#### [4.7.9.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-6)\n\n| Field Name  | Type                                                                                 | Status             |\n|-------------|--------------------------------------------------------------------------------------|--------------------|\n| $ref        | [`string`](src/PathItem.php)                                                         | :white_check_mark: |\n| summary     | [`string`](src/PathItem.php)                                                         | :white_check_mark: |\n| description | [`string`](src/PathItem.php)                                                         | :white_check_mark: |\n| get         | [`Operation Object`](src/Operation.php)                                              | :white_check_mark: |\n| put         | [`Operation Object`](src/Operation.php)                                              | :white_check_mark: |\n| post        | [`Operation Object`](src/Operation.php)                                              | :white_check_mark: |\n| delete      | [`Operation Object`](src/Operation.php)                                              | :white_check_mark: |\n| options     | [`Operation Object`](src/Operation.php)                                              | :white_check_mark: |\n| head        | [`Operation Object`](src/Operation.php)                                              | :white_check_mark: |\n| patch       | [`Operation Object`](src/Operation.php)                                              | :white_check_mark: |\n| trace       | [`Operation Object`](src/Operation.php)                                              | :white_check_mark: |\n| servers     | [`Server Object`](src/Server.php)                                                    | :white_check_mark: |\n| parameters  | [[`Parameter Object`](src/Parameter.php) \\| [`Reference Object`](src/Reference.php)] | :white_check_mark: |\n\n### [4.7.10 Operation Object](https://spec.openapis.org/oas/v3.0.4.html#operation-object)\n\nDescribes a single API operation on a path.\n\n#### [4.7.10.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-7)\n\n| Field Name   | Type                                                                                                                 | Status             |\n|--------------|----------------------------------------------------------------------------------------------------------------------|--------------------|\n| tags         | [[`string`]](src/Operation.php)                                                                                      | :white_check_mark: |\n| summary      | [`string`](src/Operation.php)                                                                                        | :white_check_mark: |\n| description  | [`string`](src/Operation.php)                                                                                        | :white_check_mark: |\n| externalDocs | [`External Documentation Object`](src/ExternalDocumentation.php)                                                     | :white_check_mark: |\n| operationId  | [`string`](src/Operation.php)                                                                                        | :white_check_mark: |\n| parameters   | [[`Parameter Object`](src/Parameter.php) \\| [`Reference Object`](src/Reference.php)]                                 | :white_check_mark: |\n| requestBody  | [`Request Body Object`](src/RequestBody.php) \\| [`Reference Object`](src/Reference.php)                              | :white_check_mark: |\n| responses    | [`Responses Object`](src/Response.php)                                                                               | :white_check_mark: |\n| callbacks    | Map[[`string`](src/Operation.php), [`Callback Object`](src/PathItem.php) \\| [`Reference Object`](src/Reference.php)] | :white_check_mark: |\n| deprecated   | [`boolean`](src/Operation.php)                                                                                       | :white_check_mark: |\n| security     | [`Security Requirement Object`]                                                                                      | :white_check_mark: |\n| servers      | [[`Server Object`]](src/Server.php)                                                                                  | :white_check_mark: |\n\n### [4.7.11 External Documentation Object](https://spec.openapis.org/oas/v3.0.4.html#external-documentation-object)\n\nAllows referencing an external resource for extended documentation.\n\n#### [4.7.11.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-8)\n\n| Field Name  | Type                                      | Status             |\n|-------------|-------------------------------------------|--------------------|\n| description | [`string`](src/ExternalDocumentation.php) | :white_check_mark: |\n| url         | [`string`](src/ExternalDocumentation.php) | :white_check_mark: |\n\n### [4.7.12 Parameter Object](https://spec.openapis.org/oas/v3.0.4.html#parameter-object)\n\nDescribes a single operation parameter.\n\n#### [4.7.12.2 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-9)\n\nThe rules for serialization of the parameter are specified in one of two ways. Parameter Objects _MUST_ include either a `content` field or a `schema`\nfield, but not both.\n\n##### [4.7.12.2.1 Common Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#common-fixed-fields)\n\nThese fields _MAY_ be used with either `content` or `schema`.\n\n| Field Name      | Type                             | Status             |\n|-----------------|----------------------------------|--------------------|\n| name            | [`string`](src/Parameter.php)    | :white_check_mark: |\n| in              | [`string`](src/Parameter.php)    | :white_check_mark: |\n| description     | [`string`](src/Parameter.php)    | :white_check_mark: |\n| required        | [`boolean`](src/Parameter.php)   | :white_check_mark: |\n| deprecated      | [`boolean`](src/Parameter.php)   | :white_check_mark: |\n| allowEmptyValue | [[`boolean`]](src/Parameter.php) | :white_check_mark: |\n\n##### [4.7.12.2.2 Fixed Fields for use with `schema`](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-for-use-with-schema)\n\nFor simpler scenarios, a `schema` and `style` can describe the structure and syntax of the parameter.\n\n| Field Name    | Type                                                                                                             | Status             |\n|---------------|------------------------------------------------------------------------------------------------------------------|--------------------|\n| style         | [`string`](src/Parameter.php)                                                                                    | :white_check_mark: |\n| explode       | [`boolean`](src/Parameter.php)                                                                                   | :white_check_mark: |\n| allowReserved | [`boolean`](src/Parameter.php)                                                                                   | :white_check_mark: |\n| schema        | [`Schema Object`](src/Schema.php) \\| [`Reference Object`](src/Reference.php)                                     | :white_check_mark: |\n| example       | [Any](src/Schema.php)                                                                                            | :white_check_mark: |\n| examples      | Map[ [`string`](src/Schema.php), [`Example Object`](src/Example.php) \\| [`Reference Object`](src/Reference.php)] | :white_check_mark: |\n\n##### [4.7.12.2.3 Fixed Fields for use with `content`](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-for-use-with-content)\n\n| Field Name | Type                                                                   | Status             |\n|------------|------------------------------------------------------------------------|--------------------|\n| content    | Map[[`string`](src/Schema.php), [`Media Type Object`](src/Schema.php)] | :white_check_mark: |\n\n### [4.7.13 Request Body Object](https://spec.openapis.org/oas/v3.0.4.html#request-body-object)\n\nDescribes a single request body.\n\n#### [4.7.13.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-10)\n\n| Field Name  | Type                                                                           | Status             |\n|-------------|--------------------------------------------------------------------------------|--------------------|\n| description | [`string`](src/RequestBody.php)                                                | :white_check_mark: |\n| content     | Map[[`string`](src/RequestBody.php), [`Media Type Object`](src/MediaType.php)] | :white_check_mark: |\n| required    | [`boolean`](src/RequestBody.php)                                               | :white_check_mark: |\n\n### [4.7.14 Media Type Object](https://spec.openapis.org/oas/v3.0.4.html#media-type-object)\n\nEach Media Type Object provides schema and examples for the media type identified by its key.\n\n#### [4.7.14.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-11)\n\n| Field Name | Type                                                                                                               | Status             |\n|------------|--------------------------------------------------------------------------------------------------------------------|--------------------|\n| schema     | [`Schema Object`](src/Schema.php) \\| [`Reference Object`](src/Reference.php)                                       | :white_check_mark: |\n| example    | [Any](src/MediaType.php)                                                                                           | :white_check_mark: |\n| examples   | Map[[`string`](src/MediaType.php), [`Example Object`](src/Example.php) \\| [`Reference Object`](src/Reference.php)] | :white_check_mark: |\n| encoding   | Map[[`string`](src/MediaType.php), [`Encoding Object`](src/Encoding.php)]                                          | :white_check_mark: |\n\n### [4.7.15 Encoding Object](https://spec.openapis.org/oas/v3.0.4.html#encoding-object)\n\nA single encoding definition applied to a single schema property.\n\n#### [4.7.15.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-12)\n\n##### [4.7.15.1.1 Common Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#common-fixed-fields-0)\n\nThese fields _MAY_ be used either with or without the RFC6570-style serialization fields defined in the next section below.\n\n| Field Name  | Type                                                                                                            | Status             |\n|-------------|-----------------------------------------------------------------------------------------------------------------|--------------------|\n| contentType | [`string`](src/Encoding.php)                                                                                    | :white_check_mark: |\n| headers     | Map[[`string`](src/Encoding.php), [`Header Object`](src/Header.php) \\| [`Reference Object`](src/Reference.php)] | :white_check_mark: |\n\n##### [4.7.15.1.2 Fixed Fields for RFC6570-style Serialization](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-for-rfc6570-style-serialization)\n\n| Field Name    | Type                          | Status             |\n|---------------|-------------------------------|--------------------|\n| style         | [`string`](src/Encoding.php)  | :white_check_mark: |\n| explode       | [`boolean`](src/Encoding.php) | :white_check_mark: |\n| allowReserved | [`boolean`](src/Encoding.php) | :white_check_mark: |\n\n### [4.7.16 Responses Object](https://spec.openapis.org/oas/v3.0.4.html#responses-object)\n\nA container for the expected responses of an operation. The container maps an HTTP response code to the expected response.\n\n#### [4.7.16.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-13)\n\n| Field Name | Type                                                                             | Status             |\n|------------|----------------------------------------------------------------------------------|--------------------|\n| default    | [`Response Object`](src/Response.php) \\| [`Reference Object`](src/Reference.php) | :white_check_mark: |\n\n#### [4.7.16.2 Patterned Fields](https://spec.openapis.org/oas/v3.0.4.html#patterned-fields-0)\n\n| Field Name       | Type                                                                             | Status             |\n|------------------|----------------------------------------------------------------------------------|--------------------|\n| HTTP Status Code | [`Response Object`](src/Response.php) \\| [`Reference Object`](src/Reference.php) | :white_check_mark: |\n\n### [4.7.17 Response Object](https://spec.openapis.org/oas/v3.0.4.html#response-object)\n\nDescribes a single response from an API operation, including design-time, static links to operations based on the response.\n\n#### [4.7.17.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-14)\n\n| Field Name  | Type                                                                                                        | Status             |\n|-------------|-------------------------------------------------------------------------------------------------------------|--------------------|\n| description | [`string`](src/Response.php)                                                                                | :white_check_mark: |\n| headers     | Map[[`string`](src/Response.php), [Header Object](src/Header.php) \\| [Reference Object](src/Reference.php)] | :white_check_mark: |\n| content     | Map[[`string`](src/Response.php), [Media Type Object](src/Header.php)]                                      | :white_check_mark: |\n| links       | Map[[`string`](src/Response.php), [Link Object](src/Link.php) \\| [Reference Object](src/Reference.php)]     | :white_check_mark: |\n\n### [4.7.19 Example Object](https://spec.openapis.org/oas/v3.0.4.html#example-object)\n\nAn object grouping an internal or external example value with basic `summary` and `description` metadata.\n\n#### [4.7.19.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-15)\n\n| Field Name    | Type                        | Status             |\n|---------------|-----------------------------|--------------------|\n| summary       | [`string`](src/Example.php) | :white_check_mark: |\n| description   | [`string`](src/Example.php) | :white_check_mark: |\n| value         | [Any](src/Example.php)      | :white_check_mark: |\n| externalValue | [`string`](src/Example.php) | :white_check_mark: |\n\n### [4.7.20 Link Object](https://spec.openapis.org/oas/v3.0.4.html#link-object)\n\nThe Link Object represents a possible design-time link for a response.\n\n#### [4.7.20.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-16)\n\n| Field Name   | Type                                                                               | Status             |\n|--------------|------------------------------------------------------------------------------------|--------------------|\n| operationRef | [`string`](src/Link.php)                                                           | :white_check_mark: |\n| operationId  | [`string`](src/Link.php)                                                           | :white_check_mark: |\n| parameters   | Map[[`string`](src/Link.php), [Any](src/Link.php) \\| [{expression}](src/Link.php)] | :white_check_mark: |\n| requestBody  | [Any](src/Link.php) \\| [{expression}](src/Link.php)                                | :white_check_mark: |\n| description  | [`string`](src/Link.php)                                                           | :white_check_mark: |\n| server       | [`Server Object`](src/Server.php)                                                  | :white_check_mark: |\n\n### [4.7.21 Header Object](https://spec.openapis.org/oas/v3.0.4.html#header-object)\n\nDescribes a single header for HTTP responses and for individual parts in multipart representations.\n\n#### [4.7.21.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-17)\n\n##### [4.7.21.1.1 Common Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#common-fixed-fields-1)\n\nThese fields _MAY_ be used with either `content` or `schema`.\n\n| Field Name  | Type                        | Status             |\n|-------------|-----------------------------|--------------------|\n| description | [`string`](src/Header.php)  | :white_check_mark: |\n| required    | [`boolean`](src/Header.php) | :white_check_mark: |\n| deprecated  | [`boolean`](src/Header.php) | :white_check_mark: |\n\n###### [4.7.21.1.2 Fixed Fields for use with `schema`](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-for-use-with-schema-0)\n\nFor simpler scenarios, a schema and style can describe the structure and syntax of the header.\n\n| Field Name | Type                                                                                                            | Status             |\n|------------|-----------------------------------------------------------------------------------------------------------------|--------------------|\n| style      | [`string`](src/Header.php)                                                                                      | :white_check_mark: |\n| explode    | [`boolean`](src/Header.php)                                                                                     | :white_check_mark: |\n| schema     | [`Schema Object`](src/Schema.php) \\| [`Reference Object`](src/Reference.php)                                    | :white_check_mark: |\n| example    | [Any](src/Header.php)                                                                                           | :white_check_mark: |\n| examples   | Map[[`string`](src/Header.php), [`Example Object`](src/Example.php) \\| [`Reference Object`](src/Reference.php)] | :white_check_mark: |\n\n##### [4.7.21.1.3 Fixed Fields for use with `content`](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-for-use-with-content-0)\n\nFor more complex scenarios, the content field can define the media type and schema of the header, as well as give examples of its use.\n\n| Field Name | Type                                                                      | Status             |\n|------------|---------------------------------------------------------------------------|--------------------|\n| content    | Map[[`string`](src/Header.php), [`Media Type Object`](src/MediaType.php)] | :white_check_mark: |\n\n### [4.7.22 Tag Object](https://spec.openapis.org/oas/v3.0.4.html#tag-object)\n\nAdds metadata to a single tag that is used by the Operation Object. It is not mandatory to have a Tag Object per tag defined in the Operation Object\ninstances.\n\n#### [4.7.22.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-18)\n\n| Field       | Type                                                             | Status             |\n|-------------|------------------------------------------------------------------|--------------------|\n| name        | [`string`](src/Tag.php)                                          | :white_check_mark: |\n| description | [`string`](src/Tag.php)                                          | :white_check_mark: |\n| description | [`External Documentation Object`](src/ExternalDocumentation.php) | :white_check_mark: |\n\n### [4.7.23 Reference Object](https://spec.openapis.org/oas/v3.0.4.html#reference-object)\n\nA simple object to allow referencing other components in the OpenAPI Description, internally and externally.\n\n#### [4.7.23.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-19)\n\n| Field | Type                          | Status             |\n|-------|-------------------------------|--------------------|\n| $ref  | [`string`](src/Reference.php) | :white_check_mark: |\n\n### [4.7.24 Schema Object](https://spec.openapis.org/oas/v3.0.4.html#schema-object)\n\nThe Schema Object allows the definition of input and output data types.\n\n#### [4.7.24.1 JSON Schema Keywords](https://spec.openapis.org/oas/v3.0.4.html#json-schema-keywords)\n\n| Field Name           | Type                                                                                                          | Status             |\n|----------------------|---------------------------------------------------------------------------------------------------------------|--------------------|\n| title                | [`string`](src/Schema.php)                                                                                    | :white_check_mark: |\n| multipleOf           | [`number`](src/Schema.php)                                                                                    | :white_check_mark: |\n| maximum              | [`number`](src/Schema.php)                                                                                    | :white_check_mark: |\n| exclusiveMaximum     | [`boolean`](src/Schema.php)                                                                                   | :white_check_mark: |\n| minimum              | [`number`](src/Schema.php)                                                                                    | :white_check_mark: |\n| exclusiveMinimum     | [`boolean`](src/Schema.php)                                                                                   | :white_check_mark: |\n| maxLength            | [`integer`](src/Schema.php)                                                                                   | :white_check_mark: |\n| minLength            | [`integer`](src/Schema.php)                                                                                   | :white_check_mark: |\n| pattern              | [`string`](src/Schema.php)                                                                                    | :white_check_mark: |\n| maxItems             | [`integer`](src/Schema.php)                                                                                   | :white_check_mark: |\n| minItems             | [`integer`](src/Schema.php)                                                                                   | :white_check_mark: |\n| uniqueItems          | [`boolean`](src/Schema.php)                                                                                   | :white_check_mark: |\n| maxProperties        | [`integer`](src/Schema.php)                                                                                   | :white_check_mark: |\n| minProperties        | [`integer`](src/Schema.php)                                                                                   | :white_check_mark: |\n| required             | [`array`](src/Schema.php)                                                                                     | :white_check_mark: |\n| enum                 | [`array`](src/Schema.php)                                                                                     | :white_check_mark: |\n| type                 | [`string`](src/Schema.php)                                                                                    | :white_check_mark: |\n| allOf                | [`Reference Object`](src/Reference.php) \\| [`Schema Object`](src/Schema.php)                                  | :white_check_mark: |\n| oneOf                | [`Reference Object`](src/Reference.php) \\| [`Schema Object`](src/Schema.php)                                  | :white_check_mark: |\n| anyOf                | [`Reference Object`](src/Reference.php) \\| [`Schema Object`](src/Schema.php)                                  | :white_check_mark: |\n| not                  | [`Reference Object`](src/Reference.php) \\| [`Schema Object`](src/Schema.php)                                  | :white_check_mark: |\n| items                | [`Reference Object`](src/Reference.php) \\| [`Schema Object`](src/Schema.php)                                  | :white_check_mark: |\n| properties           | [`Reference Object`](src/Reference.php) \\| [`Schema Object`](src/Schema.php)                                  | :white_check_mark: |\n| additionalProperties | [`boolean`](src/Reference.php) \\|[`Reference Object`](src/Reference.php) \\| [`Schema Object`](src/Schema.php) | :white_check_mark: |\n| description          | [`string`](src/Schema.php)                                                                                    | :white_check_mark: |\n| format               | [`string`](src/Schema.php)                                                                                    | :white_check_mark: |\n| format               | [`Any`](src/Schema.php)                                                                                       | :white_check_mark: |\n\n#### [4.7.24.2 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-20)\n\n| Field Name    | Type                                                             | Status             |\n|---------------|------------------------------------------------------------------|--------------------|\n| nullable      | [`boolean`](src/Schema.php)                                      | :white_check_mark: |\n| discriminator | `Discriminator Object`                                           | :white_check_mark: |\n| readOnly      | [`boolean`](src/Schema.php)                                      | :white_check_mark: |\n| writeOnly     | [`boolean`](src/Schema.php)                                      | :white_check_mark: |\n| xml           | [`XML Object`](src/Xml.php)                                      | :white_check_mark: |\n| externalDocs  | [`External Documentation Object`](src/ExternalDocumentation.php) | :white_check_mark: |\n| example       | [Any](src/Schema.php)                                            | :white_check_mark: |\n| deprecated    | [`boolean`](src/Schema.php)                                      | :white_check_mark: |\n\n### [4.7.25 Discriminator Object](https://spec.openapis.org/oas/v3.0.4.html#discriminator-object)\n\nWhen request bodies or response payloads may be one of a number of different schemas,\na Discriminator Object gives a hint about the expected schema of the document.\n\n#### [4.7.25.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-21)\n\n| Field Name   | Type                                             | Status             |\n|--------------|--------------------------------------------------|--------------------|\n| propertyName | [`string`](src/Discriminator.php)                | :white_check_mark: |\n| mapping      | Map[[`string`](src/Discriminator.php), `string`] | :white_check_mark: |\n\n### [4.7.26 XML Object](https://spec.openapis.org/oas/v3.0.4.html#xml-object)\n\nA metadata object that allows for more fine-tuned XML model definitions.\n\n#### [4.7.26.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-22)\n\n| Field Name | Type                     | Status             |\n|------------|--------------------------|--------------------|\n| name       | [`string`](src/Xml.php)  | :white_check_mark: |\n| namespace  | [`string`](src/Xml.php)  | :white_check_mark: |\n| prefix     | [`string`](src/Xml.php)  | :white_check_mark: |\n| attribute  | [`boolean`](src/Xml.php) | :white_check_mark: |\n| wrapped    | [`boolean`](src/Xml.php) | :white_check_mark: |\n\n### [4.7.27 Security Scheme Object](https://spec.openapis.org/oas/v3.0.4.html#security-scheme-object-0)\n\nDefines a security scheme that can be used by the operations.\n\n#### [4.7.27.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-23)\n\n| Field Name       | Type                               | Status             |\n|------------------|------------------------------------|--------------------|\n| type             | [`string`](src/SecurityScheme.php) | :white_check_mark: |\n| description      | [`string`](src/SecurityScheme.php) | :white_check_mark: |\n| name             | [`string`](src/SecurityScheme.php) | :white_check_mark: |\n| in               | [`string`](src/SecurityScheme.php) | :white_check_mark: |\n| scheme           | [`string`](src/SecurityScheme.php) | :white_check_mark: |\n| bearerFormat     | [`string`](src/SecurityScheme.php) | :white_check_mark: |\n| flows            | [`string`](src/OAuthFlows.php)     | :white_check_mark: |\n| openIdConnectUrl | [`string`](src/SecurityScheme.php) | :white_check_mark: |\n\n### [4.7.28 OAuth Flows Object](https://spec.openapis.org/oas/v3.0.4.html#oauth-flows-object)\n\nAllows configuration of the supported OAuth Flows.\n\n#### [4.7.28.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-24)\n\n| Field Name        | Type                                     | Status             |\n|-------------------|------------------------------------------|--------------------|\n| implicit          | [`OAuth Flow Object`](src/OAuthFlow.php) | :white_check_mark: |\n| password          | [`OAuth Flow Object`](src/OAuthFlow.php) | :white_check_mark: |\n| clientCredentials | [`OAuth Flow Object`](src/OAuthFlow.php) | :white_check_mark: |\n| authorizationCode | [`OAuth Flow Object`](src/OAuthFlow.php) | :white_check_mark: |\n\n### [4.7.29 OAuth Flow Object](https://spec.openapis.org/oas/v3.0.4.html#security-scheme-object-0)\n\nDefines a security scheme that can be used by the operations.\n\n#### [4.7.29.1 Fixed Fields](https://spec.openapis.org/oas/v3.0.4.html#fixed-fields-25)\n\n| Field Name       | Type                                                              | Status             |\n|------------------|-------------------------------------------------------------------|--------------------|\n| authorizationUrl | [`string`](src/OAuthFlow.php)                                     | :white_check_mark: |\n| tokenUrl         | [`string`](src/OAuthFlow.php)                                     | :white_check_mark: |\n| refreshUrl       | [`string`](src/OAuthFlow.php)                                     | :white_check_mark: |\n| scopes           | Map[[`string`](src/OAuthFlow.php), [`string`](src/OAuthFlow.php)] | :white_check_mark: |\n\n## Contributing\n\nContributions, issues, and feature requests are welcome!\nFeel free to check the [issues](https://github.com/zero-to-prod/data-model-openapi30/issues) page if you want to contribute.\n\n1. Fork the repository.\n2. Create a new branch (`git checkout -b feature-branch`).\n3. Commit changes (`git commit -m 'Add some feature'`).\n4. Push to the branch (`git push origin feature-branch`).\n5. Create a new Pull Request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzero-to-prod%2Fdata-model-openapi30","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzero-to-prod%2Fdata-model-openapi30","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzero-to-prod%2Fdata-model-openapi30/lists"}