---
title: "Endpoint to retrieve an existing plan."
method: GET
path: "/api/v1/fe/plans/{planId}"
tags: ["plans"]
---

# Endpoint to retrieve an existing plan.

`GET /api/v1/fe/plans/{planId}`

## Request

- Base URL: `https://api.shipium.com`
- URL: `https://api.shipium.com/api/v1/fe/plans/{planId}`
- Auth: OAuth 2
  - Password
  - Token URL: `https://auth.shipium.com/oauth/token` scopes: `delivery-experience-service`
- TypeScript: <https://skmtc.dev/shipium/apis/shipium-api/docs/api/v1/fe/plans/:planId/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `planId` string, required

## Query parameters

- `asOfDateTime` string, date-time

## Response `200`

Details on existing plan, shipment candidates calculated.

- Plan
  - `partnerId` string: Unique id of the partner.
  - `urn` string: The uniform resource name for identifying this fe asset. The format is `urn:fe:<asset-name>:<assetId>:<version>
  - `name` string: The human readable name describing this fe asset.
  - `description` string: Extra explanatory information about this fe asset.
  - `active` boolean: Indication of whether this fe asset is active.
  - `archived` boolean: Indication of whether this fe asset is archived.
  - `auditInfo` AuditInfo: Audit information used to track updates and changes to the asset.
    - `createdBy` string: Username of the last person / system who created the entity
    - `creationTimeStamp` string, date-time: ISO-8601 formatted date in UTC when the entity was initially created
    - `lastUpdatedBy` string: Username of the last person / system to update the entity
    - `lastUpdatedTimeStamp` string, date-time: ISO-8601 formatted date in UTC when the entity was last updated
    - `version` integer: If the owning document is journaled this field is a monotonically increasing number corresponding to each change. If the owning document is not journaled, this field will always be 1
  - `planId` string, required: Unique id of the plan generated by Shipium.
  - `partnerPlanId` string: Optional Id allowing partners to set their own Id for looking up plans.
  - `proposedShipments` ProposedShipment[], required: Proposed shipments.
    - `proposedShipmentId` string, required: Unique identifier of the shipment.
    - `fulfillmentCenterId` string: Fulfillment center to ship from.
    - `fulfillmentContextId` string, required: Fulfillment context to ship from.
    - `fulfillmentContext` string: Alias for the fulfillment context to ship from.
    - `cost` CostInfo: Carrier, service method, and cost of proposed shipment out of fulfillment center. This field is populated if the caller has the authorities: CARRIER_SELECTION_API or FULFILLMENT_ENGINE_COST_SHARING
      - `carrier` string: Proposed carrier to ship package out of fulfillment center
      - `serviceMethod` string: Proposed carrier service method to use shipping package out of fulfillment center
      - `cost` number, float: Estimated to ship package out of fulfillment center
      - `performance` Performance: Calculated performance of the proposed shipment if available.
        - `effectiveShipDateTime` string, date-time: Calculation for the effective ship date time that a shipment will ship out.
        - `estimatedDeliveryDate` string, date-time: The date and time by when the package is estimated to be delivered to the customer.
        - `estimatedDeliveryDateLocal` string: A ISO-8601 date-time without a time-zone
        - `destinationTimezoneId` string
    - `destinationAddress` Address, required: Ship to address for the order.
      - `name` string: The name associated with the address.
      - `company` string: The company name for the address.
      - `street1` string: The first address line.
      - `street2` string: The second address line.
      - `city` string: The name of the city for the address.
      - `region` string: The name of the state or region for the address.
      - `countryCode` string, required: The ISO 3166-1 country code for the address.
      - `postalCode` string, required: A countryCode-appropriate postal code for the address.
      - `addressType` 'commercial' | 'residential': The type of location for this address.
    - `packagingType` FEPackagingType, required: Default packaging type definition when no packaging information is available at the time of a FE planner run.
      - `packagingTypeId` string, required: Packing type identifier to a V2 packaging asset in carrier selection.
      - `packagingMaterial` 'box' | 'envelope' | 'flat_pack' | 'unknown', required: The shipment packaging material.
      - `linearDimensions` LinearDimensions, required: Dimensions describing the size of the packaging.
        - `linearUnit` 'in' | 'cm': The unit that linear dimensions are provided in, either in for inches or cm for centimeters.
        - `length` number, float: The longest linear dimension (e.g. the longest side of a box or envelope).
        - `width` number, float: The second longest linear dimension (e.g. the second-longest side of a box of envelope.
        - `height` number, float: The least long linear dimension (e.g. the shortest side of a box or envelope. Note on envelopes: This height should represent the highest product you would reasonably put in this envelope before losing more than 10% of the length of the envelope in other dimensions.
      - `weight` Weight, required: The weight of this type of packaging empty.
        - `weightUnit` 'g' | 'kg' | 'oz' | 'lb': The unit that weight values are provided in. g for grams kg for kilograms oz for ounces lb for pounds
        - `weight` number, float: The value of the weight.
      - `maxContentWeight` Weight: The weight of this type of packaging empty.
        - `weightUnit` 'g' | 'kg' | 'oz' | 'lb': The unit that weight values are provided in. g for grams kg for kilograms oz for ounces lb for pounds
        - `weight` number, float: The value of the weight.
      - `urn` string
      - `packagingSizeName` string: Partner provided name for the packaging type.
    - `shipmentItems` ShipmentItem[], required: Items to ship.
      - `productId` string, required: Product identifier
      - `partnerOrderId` string, required: Partner provided ID for the order.
      - `linearDimensions` LinearDimensions: Dimensions describing the size of the packaging.
        - `linearUnit` 'in' | 'cm': The unit that linear dimensions are provided in, either in for inches or cm for centimeters.
        - `length` number, float: The longest linear dimension (e.g. the longest side of a box or envelope).
        - `width` number, float: The second longest linear dimension (e.g. the second-longest side of a box of envelope.
        - `height` number, float: The least long linear dimension (e.g. the shortest side of a box or envelope. Note on envelopes: This height should represent the highest product you would reasonably put in this envelope before losing more than 10% of the length of the envelope in other dimensions.
      - `weight` Weight: The weight of this type of packaging empty.
        - `weightUnit` 'g' | 'kg' | 'oz' | 'lb': The unit that weight values are provided in. g for grams kg for kilograms oz for ounces lb for pounds
        - `weight` number, float: The value of the weight.
    - `totalWeight` Weight: The weight of this type of packaging empty.
      - `weightUnit` 'g' | 'kg' | 'oz' | 'lb': The unit that weight values are provided in. g for grams kg for kilograms oz for ounces lb for pounds
      - `weight` number, float: The value of the weight.
  - `resultingInventory` object, required: Status of inventory after inventory assigned for use in proposed shipments. productId -> ProductInventoryStatus
  - `unfulfillableItems` UnfulfillableItem[], required: Items that could not be shipped in the current plan.
    - `partnerOrderId` string, required: Partner provider order ID of the unfulfillable item.
    - `orderItem` FEOrderItem, required: List of ordered items.
      - `quantity` integer, required: The number of units of this product.
      - `productId` string, required: Product identifier
    - `reason` string, required: Reason the item could not be fulfilled.
    - `countUnfulfilled` integer, required
  - `requestTenantId` string: Either the shipium tenant ID or the partner provided tenant ID. When present, this is the tenant Id sent on the request.
  - `shipiumTenantId` string: The shipium generated tenant ID. When present, this is used to indicate the tenant associated with the plan.
  - `partnerTenantId` string: The partner provided tenant ID. When present, this is used to indicate the tenant associated with the plan.
  - `assumeQuantityAvailableInfinite` boolean: Echoes the request-level assumeQuantityAvailableInfinite when it was submitted as true. Purely diagnostic — it lets a plan be interpreted from its response alone. Mirrors the tenant echo.

## Other responses

- `400`: Invalid inputs were provided.
- `401`: Plan does not exist

## Changes

- **2026-11-03** `3edfc3693c7b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/shipium/apis/shipium-api/changes/api/v1/fe/plans/:planId/get.md)

---

[API](https://skmtc.dev/shipium/apis/shipium-api.md) - [All operations](https://skmtc.dev/shipium/apis/shipium-api/llms.txt) - [OpenAPI document](https://skmtc.dev/shipium/apis/shipium-api/revisions/3edfc3693c7b?raw)
