Gopuff Rates API

Return Gopuff Instant Delivery carrier rates for a Shopify checkout, alongside the merchant's standard shipping options.

OpenAPI Specification

gopuff-rates-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Powered by Gopuff Fulfillment Availability Rates API
  description: Partner-facing API powering the Powered by Gopuff Shopify Fulfillment app and the Storefronts Powered by Gopuff theme. The API determines whether a consumer's address falls inside a Gopuff micro-fulfillment center (MFC) delivery zone, exposes real-time product availability at the serving MFC, surfaces Gopuff carrier rates at Shopify checkout, and accepts orders that should be routed to Gopuff for picking, packing, and delivery in roughly 15 to 30 minutes. The canonical entry point is the shops resource wired into the Powered by Gopuff Shopify app embed block. Detailed reference documentation is published by Gopuff as "coming soon"; the surfaces captured here are derived from the partner Help Center and the Powered by Gopuff Shopify theme behavior.
  version: '1.0'
  contact:
    name: Powered by Gopuff Partner Support
    url: https://poweredby.gopuff.com/
  termsOfService: https://www.gopuff.com/go/terms-and-conditions
servers:
- url: https://fulfillment-api-eus.partners.gopuff.com/shopify/v1
  description: Production Partner API (US East)
security:
- partnerApiKey: []
tags:
- name: Rates
  description: Return Gopuff Instant Delivery carrier rates for a Shopify checkout, alongside the merchant's standard shipping options.
paths:
  /shops/rates:
    post:
      operationId: getCarrierRates
      summary: Get Carrier Rates
      description: Returns Gopuff Instant Delivery carrier rates for a Shopify checkout. Invoked by the Shopify Carrier Service framework. Rates are pre-negotiated and set by the partner's Gopuff agreement; merchants are not allowed to add handling fees on top of the returned rates.
      tags:
      - Rates
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CarrierRateRequest'
      responses:
        '200':
          description: Rates returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CarrierRateResponse'
        '400':
          description: Invalid request body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        request_id:
          type: string
      required:
      - code
      - message
    CarrierRateResponse:
      type: object
      properties:
        rates:
          type: array
          items:
            $ref: '#/components/schemas/CarrierRate'
    CarrierRateRequest:
      type: object
      properties:
        shipping_address:
          $ref: '#/components/schemas/Address'
        items:
          type: array
          items:
            type: object
            properties:
              upc:
                type: string
              quantity:
                type: integer
    CarrierRate:
      type: object
      properties:
        service_name:
          type: string
          description: Always "Instant Delivery - Powered by Gopuff" for Gopuff rates.
        service_code:
          type: string
        total_price:
          type: integer
          description: Rate in the smallest currency unit (e.g. cents).
        currency:
          type: string
          description: ISO 4217 currency code.
        min_delivery_minutes:
          type: integer
        max_delivery_minutes:
          type: integer
    Address:
      type: object
      properties:
        line1:
          type: string
        line2:
          type: string
        city:
          type: string
        region:
          type: string
          description: State or province code.
        postal_code:
          type: string
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code.
      required:
      - line1
      - city
      - postal_code
      - country
  securitySchemes:
    partnerApiKey:
      type: apiKey
      in: header
      name: X-Gopuff-Partner-Key
      description: Partner API key issued by Gopuff during onboarding to the Powered by Gopuff platform. Keys are scoped to a single partnership/shop.
externalDocs:
  description: Powered by Gopuff Partner Documentation
  url: https://docs.poweredbygopuff.com/