> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.returnhelper.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get shipping fees from origin location

Returns the list of **return service types** available for a given origin (country + postal code) and parcel size/weight, **with an estimated fee** for each. Use this as the fee-preview companion to the other `/api/ServiceType/*` lookups before committing to [Create return shipment](/api-reference/returnshipment/create-return-shipment). There is no fee guarantee at preview time, but the same combination will normally produce the same fee on shipment creation.

This is the **return** catalogue with fees attached. For **resend** outbound services, this endpoint does **not** apply — preview resend pricing with [Get resend shipping fees by destination](/api-reference/resend/get-resend-shipping-fees-by-destination) instead.

## When to call

* To pick the cheapest return price for a parcel of known dimensions and weight.
* During integration testing, to verify which return services your account is wired up for in a given country.

## Required parameters

* **`fromCountryCode`** — required, **lowercase ISO3** (e.g. `usa`, `gbr`). See [Get all from countries](/api-reference/country/get-all-from-countries-origin-countries) for valid values.
* **`fromPostalCode`** — required, non-empty.
* **`weight`, `dimension1`, `dimension2`, `dimension3`** — all required and must all be `> 0`.
* **`limit`** — optional, capped at `50`. Defaults to no limit when omitted (the response is bounded by available services).

## Response notes

* Each entry includes `serviceTypeCode`, `serviceType` (display name), `warehouseId` (the warehouse receiving the return items), `currencyCode`, and `fee`.
* The list is filtered to return services your account is authorised for at that origin. An empty response means no service fits the requested size/weight at that origin.
* `chargeableWeight` is what the carrier will bill on, which may exceed actual `weight` due to dimensional weight rounding.

## Related

* [Create return shipment](/api-reference/returnshipment/create-return-shipment) — uses the chosen `serviceTypeCode`.
* [Get all return service types](/api-reference/servicetype/get-all-return-service-types) — full list of return services without size/weight filtering.
* [Get service types by origin and destination countries](/api-reference/servicetype/get-service-types-by-origin-and-destination-countries) and [Get service types by origin country and warehouse](/api-reference/servicetype/get-service-types-by-origin-country-and-warehouse) — narrower lookups without fee estimates.
* [Get all countries](/api-reference/country/get-all-countries) and [Get all from countries](/api-reference/country/get-all-from-countries-origin-countries) — valid country codes.


## OpenAPI

````yaml get /api/Shipment/getShippingFeeListByFromShippingOption
openapi: 3.1.0
info:
  title: Return Helper API
  description: API documentation for Return Helper — covering User and Public endpoints.
  version: 1.0.0
servers:
  - url: https://api.returnshelper.com/uat/user
    description: Sandbox — User API
  - url: https://api.returnshelper.com/uat/public
    description: Sandbox — Public API
  - url: https://api.returnhelpercentre.com/v1/user
    description: Production — User API
  - url: https://api.returnhelpercentre.com/v1/public
    description: Production — Public API
  - url: https://api.returnhelperchina.com/user
    description: Production — User API (China)
security:
  - ApiKey: []
    ApiToken: []
paths:
  /api/Shipment/getShippingFeeListByFromShippingOption:
    get:
      tags:
        - Shipment
      summary: Get shipping fees from origin location
      operationId: ReturnUserApi_GetShippingFeeListByFromShippingOption
      parameters:
        - name: fromCountryCode
          in: query
          required: true
          schema:
            type: string
          description: ISO3 origin country code
        - name: fromPostalCode
          in: query
          required: true
          schema:
            type: string
          description: Origin postal code
        - name: weight
          in: query
          required: true
          schema:
            type: number
            format: decimal
          description: Parcel weight
        - name: dimension1
          in: query
          required: true
          schema:
            type: number
            format: decimal
          description: Length (longest dimension)
        - name: dimension2
          in: query
          required: true
          schema:
            type: number
            format: decimal
          description: Width (second longest dimension)
        - name: dimension3
          in: query
          required: true
          schema:
            type: number
            format: decimal
          description: Height (shortest dimension)
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            format: int32
            maximum: 50
            minimum: 0
          description: Maximum number of results
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralShippingFeeSummaryReply'
        '401':
          description: >-
            Authentication failed. Returned when the `x-rr-apikey` or
            `x-rr-apitoken` header is missing or invalid. The body uses the
            standard `ApiResponse` envelope with `meta.error.message` describing
            the auth failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse'
      security:
        - ApiKey: []
          ApiToken: []
      servers:
        - url: https://api.returnshelper.com/uat/user
          description: Sandbox — User API
components:
  schemas:
    GeneralShippingFeeSummaryReply:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ShippingFeeSummaryReply'
          description: Shipping fee summary
    ApiResponse:
      type: object
      description: >-
        Universal response envelope. Successful responses include the business
        payload as additional top-level fields alongside `correlationId` and
        `meta`. Failed responses (auth errors, validation errors) only populate
        `correlationId` and `meta`, with `meta.errorCode` and `meta.error`
        describing the failure.
      properties:
        correlationId:
          type:
            - string
            - 'null'
          description: >-
            Unique correlation ID for tracing the request through Return Helper
            systems.
        meta:
          $ref: '#/components/schemas/ApiResponseMeta'
    ShippingFeeSummaryReply:
      type: object
      properties:
        shippingFeeDetailList:
          type: array
          items:
            type: object
            description: '(see source: ShippingFeeDetailReply)'
    ApiResponseMeta:
      type: object
      description: >-
        Application-level metadata for every API response. Inspect `status` and
        `errorCode` to detect soft-error responses (validation failures arrive
        as HTTP 200 with `meta.status: 400`).
      properties:
        status:
          type: integer
          description: >-
            Application-level status code. For successful operations this
            mirrors the HTTP status (e.g. 200). For validation failures it
            reports the logical status (e.g. 400) even though the wire HTTP
            status is 200.
        data:
          type: object
          additionalProperties:
            type: string
          description: Reserved free-form metadata key/value pairs. Usually empty.
        errorCode:
          type:
            - string
            - 'null'
          description: >-
            Machine-readable error code (e.g. `VALIDATION_FAILED`). Non-null
            only when the operation failed.
        error:
          type: object
          additionalProperties: true
          description: >-
            Field-level or message-level error detail keyed by request property
            name. Empty object on success.
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-rr-apikey
      description: Your API key
    ApiToken:
      type: apiKey
      in: header
      name: x-rr-apitoken
      description: Your API token — keep this private

````