Just Eat Restaurant Claims API

The Restaurant Claims API from Just Eat — 4 operation(s) for restaurant claims.

OpenAPI Specification

just-eat-restaurant-claims-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    x-twitter: JustEatUK
  description: "# Just Eat API\nJust Eat offers services for our various business partners and our consumer applications.\nHow you interact with the API depends on the services you wish to interact with.\n## Security\n### HTTPS\nAll api calls and callbacks require HTTPS. Your service will need a valid SSL certificate and be accessible via the standard SSL port (port 443).\n## Making an API request\nSome API calls require an API key, to authenticate the partner calling the API.\n```\nPUT https://uk-partnerapi.just-eat.io/orders/abcd1234 HTTP/1.1\nAuthorization: JE-API-KEY abcd123456789\n```\nOther calls require a user token in the form of a JWT.\n```\nGET https://uk.api.just-eat.io/consumer/me/orders/uk HTTP/1.1\nAuthorization: Bearer abcd123456789\n```\n\n## Date Formats\n### Date and time formats\nAll dates and times should use the [ISO 8601 standard for representation of dates and times](https://en.wikipedia.org/wiki/ISO_8601).\n\n#### For instance:\n* DueDateWithUtcOffset: `\"2015-05-26T14:52:35.5444292+01:00\"`\n  - Local time: `14:52`\n  - UTC time: `13:52`\n  - UTC offset: `+1hr` (due to daylight time saving)\n* DueDateWithUtcOffset: `\"2015-02-03T11:10:00.0000000+00:00\"`\n  - Local time: `11:10`\n  - UTC time: `11:10`\n  - UTC offset: `0` (no daylight time saving, local time is equivalent to UTC)\n\nNote that the offset may be for a timezone different to your own, so you should alway convert to your own local time for display purposes (e.g. on receipts and terminals).\n\n### Callback timestamps\nTimestamps sent to Just Eat should be recorded as the current local time (including any changes needed to account for daylight saving) with an accompanying offset that shows the difference between the recorded local time and the current UTC time.\n\nIf it is not possible to record timestamps in local time, timestamps may be recorded in UTC time with a 00:00 offset.\n## Async Webhooks\nSome of the webhooks on the platform are configured as being 'async' webhooks. These are for long-running operations, and work as follows:\n  1. Your webhook is invoked with a `?callback={returnUrl}` query string parameter. The `returnUrl` is a unique URL that you will need to send the async response to.\n  2. Return an immediate `202 Accepted` response from the webhook endpoint, to indicate that you have received the request.\n  3. Perform the long-running operation. This can be deemed either a _success_; or a _failure_.\n  4. If the result is a _**success**_, return the following:\n  ```\n  POST {returnUrl} HTTP/1.1\n\n  {\n        \"status\": \"Success\",\n        \"message\": \"{successMessage}\",\n        \"data\": {}   // webhook-specific response object\n  }\n  ```\n  5. Otherwise, if the result is a _**failure**_, return the following:\n  ```\n  POST {returnUrl} HTTP/1.1\n\n  {\n        \"status\": \"Failure\",\n        \"message\": \"{failureMessage}\",\n        \"data\": {}   // webhook-specific response object\n  }\n  ```"
  title: Just Eat UK Attempted Delivery API Restaurant Claims API
  version: 1.0.0
  x-apisguru-categories:
  - ecommerce
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_JustEatUK_profile_image.png
  x-origin:
  - format: openapi
    url: https://uk.api.just-eat.io/docs/openapi.json
    version: '3.0'
  x-providerName: just-eat.co.uk
servers:
- description: Production URL for the UK API
  url: https://uk.api.just-eat.io
- description: Production URL for the DK, ES, IE, IT and NO API
  url: https://i18n.api.just-eat.io
- description: Production URL for the AU and NZ API
  url: https://aus.api.just-eat.io
tags:
- name: Restaurant Claims
paths:
  /restaurants/{tenant}/{restaurantId}/customerclaims:
    get:
      description: Provides claims for a given restaurant with optional filtering
      parameters:
      - description: Two letter code indicating the tenant
        in: path
        name: tenant
        required: true
        schema:
          type: string
      - description: Just Eat restaurant identifier
        in: path
        name: restaurantId
        required: true
        schema:
          type: string
      - description: Start date limiter
        in: query
        name: fromDate
        required: false
        schema:
          format: date-time
          nullable: true
          type: string
      - description: End date limiter
        in: query
        name: toDate
        required: false
        schema:
          format: date-time
          nullable: true
          type: string
      - description: Pagination limit
        in: query
        name: limit
        required: false
        schema:
          default: 20
          format: int32
          maximum: 100
          minimum: 1
          nullable: true
          type: integer
      - description: Pagination offset
        in: query
        name: offset
        required: false
        schema:
          format: int32
          minimum: 0
          nullable: true
          type: integer
      - description: Indicates what type of response client understands and is also used for content type negotiation (if version is specified), otherwise tells the server to return the latest version
        example: application/json;v=1
        in: header
        name: Accept
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClaimsResponse'
          description: Request succeeded
          headers:
            Content-Type:
              description: Content type of document including version
              example: application/json;v=1
              schema:
                type: string
            cache-control:
              description: Information about how the response can be cached
              schema:
                type: string
        '400':
          content:
            application/json:
              example:
                errors:
                - description: Bad Request. End date limiter should have date-time format.
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Bad Request. Returned if the request is invalid e.g. has incorrect date limiter format
        '401':
          $ref: '#/components/responses/401UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/403ForbiddenResponse'
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - Bearer: []
      summary: Get claims
      tags:
      - Restaurant Claims
      x-status: Draft
  /restaurants/{tenant}/{restaurantId}/customerclaims/{id}:
    get:
      description: Get information about a order claim
      parameters:
      - description: Two letter code indicating the tenant
        in: path
        name: tenant
        required: true
        schema:
          type: string
      - description: Just Eat restaurant identifier
        in: path
        name: restaurantId
        required: true
        schema:
          type: string
      - description: Claim identifier
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: Indicates what type of response client understands and is also used for content type negotiation (if version is specified), otherwise tells the server to return the latest version
        example: application/json;v=1
        in: header
        name: Accept
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderClaim'
          description: Request succeeded
          headers:
            Content-Type:
              description: Content type of document including version
              example: application/json;v=1
              schema:
                type: string
            cache-control:
              description: Information about how the response can be cached.
              schema:
                type: string
        '401':
          $ref: '#/components/responses/401UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/403ForbiddenResponse'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Not Found. Claim could not be found
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - Bearer: []
      summary: Get order claim
      tags:
      - Restaurant Claims
      x-status: Draft
  /restaurants/{tenant}/{restaurantId}/customerclaims/{id}/restaurantresponse:
    post:
      description: Submit a restaurant response for the claim, where the restaurant can tell us if they accept or reject the claim
      parameters:
      - description: Two letter code indicating the tenant
        in: path
        name: tenant
        required: true
        schema:
          type: string
      - description: Just Eat restaurant identifier
        in: path
        name: restaurantId
        required: true
        schema:
          type: string
      - description: Claim identifier
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: Indicates the representation of the request body the client is sending (including version)
        example: application/json;v=1
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderClaimRestaurantResponse'
        description: Payload containing the response of the restaurant on the order claim
      responses:
        '201':
          description: Request succeeded. Your response to the claim has been submitted
        '400':
          content:
            application/json:
              example:
                errors:
                - description: Bad Request. Incorrect decision
                  errorCode: IncorrectDecision
                - description: Bad Request. Missing decision
                  errorCode: MissingDecision
                - description: Bad Request. The request you are sending is missing some items for the claim you are trying to resolve
                  errorCode: MissingItems
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Bad Request. Returned if the request is invalid e.g. decision value is incorrect
        '401':
          $ref: '#/components/responses/401UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/403ForbiddenResponse'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Not Found. Claim could not be found
        '409':
          content:
            application/json:
              example:
                errors:
                - description: The claim you are attempting to resolve is has been resolved
                  errorCode: AlreadyResolved
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Conflict. The claim you are attempting to resolve is has been resolved
        '422':
          content:
            application/json:
              example:
                errors:
                - description: The claim you are attempting to update does not contain the items from the request
                  errorCode: WrongItems
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Unprocessable. The claim you are attempting to update does not contain the items from the request
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - Bearer: []
      summary: Submit a restaurant response for the claim
      tags:
      - Restaurant Claims
      x-status: Draft
  /restaurants/{tenant}/{restaurantId}/customerclaims/{id}/restaurantresponse/justification:
    put:
      description: Add reason and optional comments in case of rejection of order claim
      parameters:
      - description: Two letter code indicating the tenant
        in: path
        name: tenant
        required: true
        schema:
          type: string
      - description: Just Eat restaurant identifier
        in: path
        name: restaurantId
        required: true
        schema:
          type: string
      - description: Claim identifier
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: Indicates the representation of the request body the client is sending (including version)
        example: application/json;v=1
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Justification'
        description: Payload containing the reason of rejection and optional comments
      responses:
        '204':
          description: Request succeeded. Justification was successfully submitted
        '400':
          content:
            application/json:
              example:
                errors:
                - description: Bad Request. Reason doesn't match any of the predefined values
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Bad Request. Returned if the request is invalid e.g. reason doesn't match any of the predefined values
        '401':
          $ref: '#/components/responses/401UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/403ForbiddenResponse'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Not Found. Claim could not be found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Conflict. The claim you are attempting to update is older than the current claim. Fetch the last copy of the entity and try the request again.
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - Bearer: []
      summary: Add reason and comments to the response
      tags:
      - Restaurant Claims
      x-status: Draft
components:
  schemas:
    ClaimResolution:
      description: Representation of the decision made about a claim
      example:
        decision: Accepted
        resolvedChannel: PartnerCentre
        resolvedDate: '2020-05-28T06:40:48.1053368+00:00'
        totalClaimedAccepted: 1900
      nullable: true
      properties:
        decision:
          description: Indicates whether the claim is accepted, partially accepted or rejected - claim is partially accepted if at least one of the claimed items is accepted
          enum:
          - Accepted
          - PartiallyAccepted
          - Rejected
          type: string
        resolvedChannel:
          description: Channel which was used to resolved the claim
          type: string
        resolvedDate:
          description: Date when decision on the claim was submitted
          format: date-time
          type: string
        totalClaimedAccepted:
          description: Total claimed money accepted by the restaurant in smallest unit of relevant currency
          type: number
      type: object
    OrderClaim:
      description: Claim information
      example:
        affectedItems:
        - additionalContext: Potato skin was damaged
          decision: Rejected
          id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
          name: Potato skin
          quantity: 1
          reference: productid%4t56574596
          totalClaimed: 1900
          unitPrice: 2000
        - additionalContext: Pizza was damaged too
          decision: Accepted
          id: 123iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
          name: Pizza
          quantity: 1
          reference: productid%t5y6574596
          totalClaimed: 1900
          unitPrice: 2000
        currency: GBP
        expirationDate: '2020-05-22T14:22:11.1053368+00:00'
        friendlyOrderReference: '451226580'
        id: 2f749442-a62a-abcd-8623-04202878e034
        issueType: Damaged
        orderId: r23tqoxdoeupdx9w8evorw
        resolution:
          decision: PartiallyAccepted
          resolvedChannel: PartnerCentre
          resolvedDate: '2020-05-28T06:40:48.1053368+00:00'
          totalClaimedAccepted: 1900
        restaurantResponse:
          decision: PartiallyAccepted
          items:
          - decision: Rejected
            id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
          - decision: Accepted
            id: 123iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
          justification:
            comments: The food was packed properly
            reason: Other
        state: Closed
        submittedDate: '2020-05-20T14:22:11.1053368+00:00'
        totalClaimed: 3800
      properties:
        affectedItems:
          description: Information about the claimed items
          items:
            $ref: '#/components/schemas/Item'
          nullable: true
          type: array
        currency:
          description: Name of currency in ISO 4217 format
          type: string
        expirationDate:
          description: Date when the claim will be accepted automatically in case the owner of the restaurant ignores it
          format: date-time
          type: string
        friendlyOrderReference:
          description: Just Eat friendly order reference
          type: string
        id:
          description: Claim identifier
          type: string
        issueType:
          description: Type of claim
          enum:
          - Missing
          - Damaged
          - Cold
          - LateOrder
          - FoodNotArrived
          type: string
        orderId:
          description: Just Eat order identifier
          type: string
        resolution:
          $ref: '#/components/schemas/ClaimResolution'
          description: Representation of the claim resolution
        restaurantResponse:
          $ref: '#/components/schemas/OrderClaimRestaurantResponse'
          description: Restaurant response on the claim
          type: object
        state:
          description: Indicates whether a decision about the claim was made
          enum:
          - Open
          - Closed
          type: string
        submittedDate:
          description: Date when the claim was submitted
          format: date-time
          type: string
        totalClaimed:
          description: Total claimed money in smallest unit of relevant currency
          type: number
      type: object
    OrderClaimRestaurantResponse:
      description: Restaurant response for the claim
      example:
        decision: PartiallyAccepted
        items:
        - decision: Accepted
          id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
        - decision: Rejected
          id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc3
        justification:
          comments: The food was packed properly
          reason: Other
      nullable: true
      properties:
        decision:
          description: Decision on the claim
          enum:
          - Accepted
          - Rejected
          - PartiallyAccepted
          type: string
        items:
          description: Decisions on the items of a claim
          items:
            $ref: '#/components/schemas/ItemDecision'
          nullable: true
          type: array
        justification:
          $ref: '#/components/schemas/Justification'
          description: Reasons why of the decision for the claim
      type: object
    Item:
      description: Information about an item in the claim
      example:
        additionalContext: Potato skin was damaged
        decision: Rejected
        id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
        name: Potato skin
        quantity: 1
        totalClaimed: 1900
        unitPrice: 2000
      properties:
        additionalContext:
          description: Comment giving additional context
          nullable: true
          type: string
        decision:
          description: Indicates whether decision on the claimed item was made and what was that decision
          enum:
          - NotDecided
          - Accepted
          - Rejected
          type: string
        id:
          description: Item identifier
          type: string
        name:
          description: Item name
          type: string
        quantity:
          description: Quantity of items
          type: number
        totalClaimed:
          description: Total claimed money in smallest unit of relevant currency
          type: number
        unitPrice:
          description: Price of a single unit in smallest unit of relevant currency
          type: number
      type: object
    500ErrorSchema:
      description: A HTTP 500 error response
      properties:
        fault:
          properties:
            errors:
              items:
                properties:
                  description:
                    description: If returned, the only value returned will be Internal Server Error"
                    enum:
                    - Internal Server Error
                    type: string
                type: object
              type: array
            faultId:
              description: A value that helps identify this response back to logs, so we can easily find this specific fault
              type: string
            traceId:
              description: A value that helps identify the trace back to logs, so that we can easily find what was happening on our system when the fault was generated
              type: string
          required:
          - faultId
          type: object
      type: object
    4XXErrorSchema:
      description: A HTTP 4xx error response
      properties:
        fault:
          properties:
            errors:
              items:
                properties:
                  description:
                    description: Specific details about the error that may assist you in resolving the issue
                    type: string
                  errorCode:
                    description: A code that identifies the problem type. It will be supported by human-readable documentation that identifies how to resolve the error
                    type: string
                type: object
              type: array
            faultId:
              description: A value that helps identify this response back to logs, so we can easily find this specific fault
              type: string
            traceId:
              description: A value that helps identify the trace back to logs, so that we can easily find what was happening on our system when the fault was generated
              type: string
          required:
          - faultId
          type: object
      type: object
    Justification:
      description: The reason of the claim rejection and optional comments from the restaurant
      example:
        comments: The food was packed properly
        reason: Other
      nullable: true
      properties:
        comments:
          description: Comment from the restaurant owner in case they rejected at least one of the items and want to type their own rejection reason
          nullable: true
          type: string
        reason:
          description: One of the predefined reasons
          enum:
          - AlreadyRefunded
          - ItemReplaced
          - PartialRefundRequired
          - WasNotMissing
          - WillRedeliver
          - OrderWasHot
          - OrderWasOnTime
          - OrderWasPacked
          - FoodWasIntact
          - AddExtraItem
          - Other
          type: string
      type: object
    ItemDecision:
      description: Decision on the item
      example:
        decision: Accepted
        id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
      properties:
        decision:
          description: Decision made about the item
          enum:
          - Accepted
          - Rejected
          type: string
        id:
          description: Item identifier
          type: string
      type: object
    ClaimsResponse:
      description: Response containing claims for a restaurant which match the given filter
      example:
        claims:
        - currency: GBP
          expirationDate: '2020-05-22T14:22:11.1053368+00:00'
          friendlyOrderReference: '954226580'
          id: z2749442-a62a-abcd-8623-04202878e034
          issueType: LateOrder
          orderId: z27tqoxdoeupdx9w8evorw
          resolution:
            decision: Accepted
            resolvedChannel: OrderPad
            resolvedDate: '2020-05-28T06:40:48.1053368+00:00'
            totalClaimedAccepted: 4000
          restaurantResponse:
            decision: Accepted
            justification: null
          state: Closed
          submittedDate: '2020-05-20T14:22:11.1053368+00:00'
          totalClaimed: 4000
        - affectedItems:
          - additionalContext: null
            decision: NotDecided
            id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
            name: Potato skin
            quantity: 1
            reference: productid%4t56574596
            totalClaimed: 1900
            unitPrice: 2000
          - additionalContext: null
            decision: NotDecided
            id: 123iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
            name: Pizza
            quantity: 1
            reference: productid%t5y6574596
            totalClaimed: 1900
            unitPrice: 2000
          currency: GBP
          expirationDate: '2020-05-22T14:22:11.1053368+00:00'
          friendlyOrderReference: '451226580'
          id: 2f749442-a62a-abcd-8623-04202878e034
          issueType: Damaged
          orderId: r23tqoxdoeupdx9w8evorw
          resolution: null
          restaurantResponse: null
          state: Open
          submittedDate: '2020-05-20T14:22:11.1053368+00:00'
          totalClaimed: 3800
        - affectedItems:
          - additionalContext: Potato skin was cold
            decision: Rejected
            id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
            name: Potato skin
            quantity: 1
            reference: productid%4t56574596
            totalClaimed: 1900
            unitPrice: 2000
          currency: GBP
          expirationDate: '2020-05-22T14:22:11.1053368+00:00'
          friendlyOrderReference: '151226580'
          id: 1f749442-a62a-abcd-8623-04202878e034
          issueType: Cold
          orderId: a23tqoxdoeupdx9w8evorw
          resolution:
            decision: Rejected
            resolvedChannel: PartnerCentre
            resolvedDate: '2020-05-28T06:40:48.1053368+00:00'
            totalClaimedAccepted: 0
          restaurantResponse:
            items:
            - decision: Rejected
              id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
            justification:
              comments: null
              reason: OrderWasHot
          state: Closed
          submittedDate: '2020-05-20T14:22:11.1053368+00:00'
          totalClaimed: 1900
        - affectedItems:
          - additionalContext: Potato skin was cold
            decision: Accepted
            id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
            name: Potato skin
            quantity: 1
            reference: productid%4t56574596
            totalClaimed: 1900
            unitPrice: 2000
          currency: GBP
          expirationDate: '2020-05-22T14:22:11.1053368+00:00'
          friendlyOrderReference: '951226580'
          id: zf749442-a62a-abcd-8623-04202878e034
          issueType: Cold
          orderId: z23tqoxdoeupdx9w8evorw
          resolution:
            decision: Accepted
            resolvedChannel: OrderPad
            resolvedDate: '2020-05-28T06:40:48.1053368+00:00'
            totalClaimedAccepted: 1900
          restaurantResponse:
            items:
            - decision: Accepted
              id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
            justification: null
          state: Closed
          submittedDate: '2020-05-20T14:22:11.1053368+00:00'
          totalClaimed: 1900
        - affectedItems:
          - additionalContext: Potato skin was cold
            decision: Accepted
            id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
            name: Potato skin
            quantity: 1
            reference: productid%4t56574596
            totalClaimed: 1900
            unitPrice: 2000
          - additionalContext: Meat was terribly cold
            decision: Rejected
            id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc3
            name: Meat
            quantity: 1
            reference: productid%4t56574593
            totalClaimed: 2900
            unitPrice: 3000
          currency: GBP
          expirationDate: '2020-05-22T14:22:11.1053368+00:00'
          friendlyOrderReference: '951226588'
          id: zf749442-a62a-abcd-8623-04202878e038
          issueType: Cold
          orderId: z23tqoxdoeupdx9w8evorz
          resolution:
            decision: PartiallyAccepted
            resolvedChannel: OrderPad
            resolvedDate: '2020-05-28T06:40:48.1053368+00:00'
            totalClaimedAccepted: 1900
          restaurantResponse:
            items:
            - decision: Accepted
              id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc1
            - decision: Rejected
              id: NJ7iYXNrZXRJdGVtLTM2NTc0GTk2LTMwNDY2LXMzOWJxb3hkb2V1cGR4OXc4ZXZvcnc3
            justification: null
          state: Closed
          submittedDate: '2020-05-20T14:22:11.1053368+00:00'
          totalClaimed: 1900
      properties:
        claims:
          description: Array with claims
          items:
            $ref: '#/components/schemas/OrderClaim'
          type: array
      type: object
  responses:
    500ErrorResponse:
      content:
        application/json:
          example:
            errors:
            - description: Internal Server Error
            faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
            traceId: H3TKh4QSJUSwVBCBqEtkKw==
          schema:
            $ref: '#/components/schemas/500ErrorSchema'
      description: Internal Server Error
    401UnauthorizedResponse:
      content:
        application/json:
          example:
            errors:
            - description: Unauthorized. The client did not provide an authentication token or the token was invalid.
              errorCode: ERR401
            faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
            traceId: H3TKh4QSJUSwVBCBqEtkKw==
          schema:
            $ref: '#/components/schemas/4XXErrorSchema'
      description: Unauthorized. The client did not provide an authentication token or the token was invalid
    403ForbiddenResponse:
      content:
        application/json:
          example:
            errors:
            - description: Forbidden
            faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
            traceId: H3TKh4QSJUSwVBCBqEtkKw==
          schema:
            $ref: '#/components/schemas/4XXErrorSchema'
      description: Forbidden. The client is not allowed to perform this action
  securitySchemes:
    Bearer:
      bearerFormat: JWT
      description: Bearer token au

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/just-eat/refs/heads/main/openapi/just-eat-restaurant-claims-api-openapi.yml