properties=properties,
                references_used=references_used,
            )
    # class APIRequestBodyProperty(APIPropertyBase):
    class APIRequestBody(BaseModel):
        """A model for a request body."""
        description: Optional[str] = Field(alias="description")
        """The description of the request body."""
        properties: List[APIRequestBodyProperty] = Field(alias="properties")
        # E.g., application/json - we only support JSON at the moment.
        media_type: str = Field(alias="media_type")
        """The media type of the request body."""
        @classmethod
        def _process_supported_media_type(
            cls,
            media_type_obj: MediaType,
            spec: OpenAPISpec,
        ) -> List[APIRequestBodyProperty]:
            """Process the media type of the request body."""
            from openapi_schema_pydantic import Reference
            references_used = []
            schema = media_type_obj.media_type_schema
            if isinstance(schema, Reference):
                references_used.append(schema.ref.split("/")[-1])
                schema = spec.get_referenced_schema(schema)
            if schema is None:
                raise ValueError(
                    f"Could not resolve schema for media type: {media_type_obj}"
                )
            api_request_body_properties = []
            required_properties = schema.required or []
            if schema.type == "object" and schema.properties:
                for prop_name, prop_schema in schema.properties.items():
                    if isinstance(prop_schema, Reference):
                        prop_schema = spec.get_referenced_schema(prop_schema)
                    api_request_body_properties.append(
                        APIRequestBodyProperty.from_schema(
                            schema=prop_schema,
                            name=prop_name,
                            required=prop_name in required_properties,
                            spec=spec,
                        )
                    )
            else: