Grubhub Delivery Tests API

The Delivery Tests API from Grubhub — 2 operation(s) for delivery tests.

Operations 2

POST /delivery/daas/v1/test/{deliveryId}/refund Progress a test refund #
POST /delivery/daas/v1/test/{deliveryId}/deliveryState Progress a test delivery #

Documentation

📖
Documentation
https://developer.grubhub.com/api/menu
📖
APIReference
https://developer.grubhub.com/api/menu
📖
Documentation
https://developer.grubhub.com/api/orders
📖
APIReference
https://developer.grubhub.com/api/orders
📖
Documentation
https://developer.grubhub.com/api/merchant-data
📖
APIReference
https://developer.grubhub.com/api/merchant-data
📖
Documentation
https://developer.grubhub.com/api/merchant-schedules
📖
APIReference
https://developer.grubhub.com/api/merchant-schedules
📖
Documentation
https://developer.grubhub.com/api/busy-intervals
📖
APIReference
https://developer.grubhub.com/api/busy-intervals
📖
Documentation
https://developer.grubhub.com/api/deliveries
📖
APIReference
https://developer.grubhub.com/api/deliveries
📖
Documentation
https://developer.grubhub.com/api/daas-endpoints
📖
APIReference
https://developer.grubhub.com/api/daas-endpoints
📖
Documentation
https://developer.grubhub.com/api/daas-webhooks
📖
APIReference
https://developer.grubhub.com/api/daas-webhooks
📖
Documentation
https://developer.grubhub.com/api/onboarding
📖
APIReference
https://developer.grubhub.com/api/onboarding
📖
Documentation
https://developer.grubhub.com/api/reporting-endpoints
📖
APIReference
https://developer.grubhub.com/api/reporting-endpoints
📖
Documentation
https://developer.grubhub.com/api/reporting-webhooks
📖
APIReference
https://developer.grubhub.com/api/reporting-webhooks
📖
Documentation
https://developer.grubhub.com/api/testing
📖
APIReference
https://developer.grubhub.com/api/testing

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/grubhub-delivery-tests-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

grubhub-delivery-tests-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Endpoints Delivery Tests API
servers:
- url: https://api-third-party-gtm-pp.grubhub.com
  description: preprod
- url: https://api-third-party-gtm.grubhub.com
  description: prod
tags:
- name: Delivery Tests
paths:
  /delivery/daas/v1/test/{deliveryId}/refund:
    post:
      tags:
      - Delivery Tests
      summary: Progress a test refund
      description: Progresses the test refund to either an accepted or reject state.
      operationId: progressRefund
      parameters:
      - name: deliveryId
        in: path
        description: The UUID of the test delivery associated with the refund.
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
        example: 497f6eca-6276-4993-bfeb-53cbbbba6f08
      - name: X-GH-PARTNER-KEY
        in: header
        description: The Grubhub-provided partner key.
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
        example: 123e4567-e89b-12d3-a456-426614174000
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProgressRefundRequest'
        required: true
      responses:
        '500':
          description: Unexpected internal error
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicApiError'
              example:
                errors:
                - code: REQUEST_FAILED
                  message: Internal Server Error
        '403':
          description: Request Forbidden
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicApiError'
              example:
                errors:
                - code: REQUEST_FORBIDDEN
                  message: Request forbidden
        '200':
          description: Refund successfully progressed.
          content:
            application/json:
              example: {}
        '404':
          description: Delivery not found
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicApiError'
              example:
                errors:
                - code: DELIVERY_NOT_FOUND
                  message: Delivery not found with id=00000000-0000-0000-0000-000000000000
  /delivery/daas/v1/test/{deliveryId}/deliveryState:
    post:
      tags:
      - Delivery Tests
      summary: Progress a test delivery
      description: Progresses the test delivery to the given delivery state. Returns the expected progression time to the delivery state
      operationId: progressDelivery
      parameters:
      - name: deliveryId
        in: path
        description: The UUID of the test delivery.
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
        example: 497f6eca-6276-4993-bfeb-53cbbbba6f08
      - name: X-GH-PARTNER-KEY
        in: header
        description: The Grubhub-provided partner key.
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
        example: 123e4567-e89b-12d3-a456-426614174000
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProgressDeliveryRequest'
        required: true
      responses:
        '200':
          description: Delivery successfully progressed to given delivery state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseWrapperProgressDeliveryResponse'
              example:
                response:
                  expected_progression_time: '1970-01-01T00:00:00.000Z'
        '500':
          description: Unexpected internal error
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicApiError'
              example:
                errors:
                - code: REQUEST_FAILED
                  message: Internal Server Error
        '403':
          description: Request Forbidden
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicApiError'
              example:
                errors:
                - code: REQUEST_FORBIDDEN
                  message: Request forbidden
        '404':
          description: Delivery not found
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicApiError'
              example:
                errors:
                - code: DELIVERY_NOT_FOUND
                  message: Delivery not found with id=00000000-0000-0000-0000-000000000000
components:
  schemas:
    PublicApiError:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
          description: A code representing the type of error that occurred.
        message:
          type: string
          description: A detailed description of the error that occurred.
      description: An error returned by the delivery API.
    ProgressDeliveryResponse:
      required:
      - expected_progression_time
      type: object
      properties:
        expected_progression_time:
          type: string
          description: The expected timestamp at which the delivery will be progressed to the requested state. Formatted as an ISO-8601 timestamp.
          format: date-time
          example: '2024-05-28T00:00:00Z'
      description: The response information of a delivery progression request.
    ResponseWrapperProgressDeliveryResponse:
      type: object
      properties:
        response:
          $ref: '#/components/schemas/ProgressDeliveryResponse'
        errors:
          type: array
          description: A list of errors returned.
          items:
            $ref: '#/components/schemas/PublicApiError'
    ProgressDeliveryRequest:
      required:
      - delivery_state
      type: object
      properties:
        delivery_state:
          type: string
          description: The subset of delivery states that a partner can progress a delivery to.
          enum:
          - ASSIGNED
          - UNASSIGNED
          - COURIER_AT_PICKUP
          - PICKED_UP
          - IN_TRANSIT
          - COURIER_AT_DROPOFF
          - DELIVERED
          - CANCELED
        speed_mph:
          minimum: 0
          type: integer
          description: The speed (in mph) at which the courier should move to the given delivery state. If no value is provided, the default speed of 30 mph will be used.
          format: int32
          example: 30
          default: 30
      description: The request information for progressing a test delivery.
    ProgressRefundRequest:
      required:
      - decision
      type: object
      properties:
        decision:
          type: string
          description: The refund request decision.
          enum:
          - ACCEPTED
          - REJECTED
        reason:
          maxLength: 512
          minLength: 0
          type: string
          description: The reason code associated with the refund decision.
          example: DriverMissedDropoffEta
          default: DriverMissedDropoffEta
        description:
          maxLength: 512
          minLength: 0
          type: string
          description: Additional details about the refund decision.
          example: Driver was 30 minutes late to the dropoff location.
        refund_amounts:
          $ref: '#/components/schemas/RefundAmount'
      description: The request information for progressing a test refund.
    RefundAmount:
      required:
      - contents_value
      - delivery_fee
      - tip
      type: object
      properties:
        delivery_fee:
          minimum: 0
          type: integer
          description: The amount of the refund requested to be taken from the delivery fee, formatted as cents.
          format: int32
          example: 100
        tip:
          minimum: 0
          type: integer
          description: The amount of the refund requested to be taken from the tip, formatted as cents.
          format: int32
          example: 333
        contents_value:
          minimum: 0
          type: integer
          description: The amount of the refund requested to be taken from the contents value, formatted as cents.
          format: int32
          example: 542
        return_fee:
          minimum: 0
          type: integer
          description: The amount of the refund requested to be taken from the return fee, formatted as cents.
          format: int32
          example: 200
      description: The amount of the refund requested, broken down into various categories.