definitions:
  ProblemResponse:
    title: ProblemResponse
    type: object
    description: MOVED TO response.openapi-2.0.yaml, WILL BE REMOVED HERE SOON
    required:
      - type
      - title
      - status
      - detail
      - instance
    properties:
      type:
        type: string
        format: uri
        description: |
          An absolute URI that identifies the problem type. When dereferenced,
          it SHOULD provide human-readable documentation for the problem type
          (e.g., using HTML).
        default: 'about:blank'
        example: 'https://api.development.vwd.com/definitions/problem/constraint-violation.html'
      title:
        type: string
        description: >-
          A short, summary of the problem type. Written in english and readable
          for engineers (usually not suited for non technical stakeholders and
          not localized);
        example: Service Unavailable
      status:
        type: integer
        format: int32
        description: |
          The HTTP status code generated by the origin server for this occurrence
          of the problem.
        minimum: 100
        maximum: 600
        exclusiveMaximum: true
        example: 503
      detail:
        type: string
        description: |
          A human readable explanation specific to this occurrence of the
          problem.
        example: Connection to database timed out
      instance:
        type: string
        format: uri
        description: |
          An absolute URI that identifies the specific occurrence of the problem.
          Add a comment to this line. It may or may not yield further information if dereferenced.

  Link:
    title: Link
    type: object
    description: |
      a hypertext application language link
    required:
      - href
    properties:
      name:
        type: string
        description: name of the link
      href:
        type: string
        description: target of the link
      templated:
        type: boolean
        description: flag if link is templated
        default: false

  Links:
    title: Links
    description: |
      a hypertext application language link
    type: array
    items:
      $ref: '#/definitions/Link'

  Pagination:
    title: Contains links to other result pages and information about index and page size.
    type: object
    description: links
    properties:
      self:
        $ref: '#/definitions/Link'
      first:
        $ref: '#/definitions/Link'
      next:
        $ref: '#/definitions/Link'
      prev:
        $ref: '#/definitions/Link'
      last:
        $ref: '#/definitions/Link'
      index:
        type: integer
        format: int32
        description: page index
      page_size:
        type: integer
        format: int32
        description: number of results on this page
      accessible_size:
        type: integer
        format: int32
        description: the maximum number of items accessible via the api (1000 (or higher on special endpoints) or size if size < 1000)
      size:
        type: integer
        format: int32
        description: the total size of items available (but perhaps not reachable if > accessible_size)

  Meta:
    description: Key value map for meta data.
    type: object
    additionalProperties:
      type: object

  EntityMeta:
    description: Key value map for entity meta data.
    type: object
    additionalProperties:
      type: object

  EntityAttributes:
    description: Key value map for entity attributes.
    type: object
    additionalProperties:
      type: object

  EntityLinks:
    description: Entity links
    type: object
    properties:
      self:
        $ref: '#/definitions/Link'
