Skip to content

Schema inconsistent with document : everything marked as optional #618

Open
@QuentinLemCode

Description

@QuentinLemCode

Hello

There seems to have big inconsistencies on your OpenAPI definition.

I work with this file : https://github.com/XeroAPI/Xero-OpenAPI/blob/master/xero_accounting.yaml

By taking the GET /Payments/{PaymentID} endpoint definition, every field of the "Payment" schema is marked as optional : there is no required fields.

However, by looking at the developer documentation it seems that some fields are optional (Reference for example) but some seems required (like the Date field).

I can see that you reuse the Payment schema for creation request and read request. It's a good thing, however, for response, you can define your response schema by reusing your existing schema and add required property. Example below

    PaymentResponse:
      allOf:
        - $ref: '#/components/schemas/Payment'
      required:
        - Date

Could you fix the OpenAPI definition to mark fields always present as required please ?

Otherwise, could you provide some explanation about when the Date field can be undefined ?

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions