# Get one line item

```http
GET https://secure.yoprint.com/v2/api/store/{team_slug}/v2/sales_order/order_item/{order_item_unique_key}
```

- API version: v2
- Operation ID: `v2_public_order_item_show`
- Section: Sales › [Sales order line items](https://developer.yoprint.com/reference/sales-order-line-items.md)
- Web page: https://developer.yoprint.com/reference/sales-order-line-items/v2-order-item-show/
- Authentication: `Authorization: Bearer YOUR_API_KEY`

Returns one line of a sales order or quote.

`{order_item_unique_key}` is the line's `id` (a hash id) from the order's line items. Its `orditm_` unique key is also accepted, but no API answer shows it, so use `id`. The line comes back in the same shape as in the list.

## Permission

Any member of the team.

## Path parameters

- `team_slug` (string, required): Your team slug, shown as Team ID next to your API key in Profile. Example `your-team`.
- `order_item_unique_key` (string, required): The line's `id` (a hash id), from the order's line items. Its `orditm_…` unique key is also accepted, but no API answer shows it, so use `id`. Example `Owr88lhAk28aqL`.

## Request body

This operation takes no request body.

### Example request

```bash
curl 'https://secure.yoprint.com/v2/api/store/your-team/v2/sales_order/order_item/Owr88lhAk28aqL' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'X-Yoprint-Decimal-Format: exact-v1'
```

## Response

`200` Successful response.

Fields:

- `data` (object, required): One line. It has the request's groups (`product`, `pricing`, `quantity`, `job`, `weight`, `position`) as saved, with the prices YoPrint worked out, and the same values again in `_meta`. A few groups differ from the request: the catalog cost comes back as `pricing.catalog.cost` with its date as a date-time, and a linked `job` also has its `unique_key` and `scoped_id` (`JOB-1001`). Each group's `_meta.editable_fields_on_update` lists the request paths an update accepts for that group (`pricing.type` is listed, but it must stay the line's own).
  - `_meta` (object, optional): The line's own values again (`id`, `type`, `order_id`, `unit_price`, `subtotal` and so on). Always an object.
  - `id` (string, optional)
  - `inventory_status` (string | null, optional): Stock status of the line.
  - `job` (object, optional)
  - `lock_version` (integer | null, optional): The line's own lock version (a microsecond timestamp).
  - `order_id` (string, optional)
  - `order_unique_key` (string, optional): The order's `unique_key`. The line's own `unique_key` is not in the answer: use `id`.
  - `position` (integer, optional)
  - `pricing` (object, optional)
  - `pricing_rule_applied` (object | null, optional): The pricing rule that set the line's product price, or null when no rule did. List the line items, Get one line item and the bulk save answer with the full summary below. Other answers carry only `type`, the two ids and the two totals.
    - `after` (string, optional): Full summary only: the price after the rule, as a decimal string.
    - `after_total` (decimal pair, optional): The product price per unit after the rule. 6 decimal places. A decimal pair: the amount is `value` ÷ 10^`dp` (`{ "value": 1250, "dp": 2 }` is 12.50). Read `dp` every time: it can differ between fields and records. See https://developer.yoprint.com/concepts/money-and-quantities.md.
    - `base` (string, optional): Full summary only: that starting price, as a decimal string with at least 2 decimal places.
    - `base_type` (string, optional): Full summary only: what the rule started from: the supplier price for catalog lines, the product's own price for other lines. One of: `"supplier_price"`, `"base_price"`.
    - `normal_price` (string | null, optional): Full summary only: what the line would cost with no rule. For catalog lines the supplier price plus the group's catalog markup as it is now; otherwise the same as `base`.
    - `original_total` (decimal pair, optional): The product price per unit before the rule. 6 decimal places. A decimal pair: the amount is `value` ÷ 10^`dp` (`{ "value": 1250, "dp": 2 }` is 12.50). Read `dp` every time: it can differ between fields and records. See https://developer.yoprint.com/concepts/money-and-quantities.md.
    - `pricing_group_id` (string | null, optional): The pricing group whose rule applied.
    - `pricing_group_name` (string | null, optional): Full summary only: the group's name now.
    - `pricing_group_removed` (boolean | null, optional): Full summary only: true when the group was removed since. The line keeps its price.
    - `pricing_rule_id` (string | null, optional): The rule that applied.
    - `rule` (object | null, optional): Full summary only: the rule as the group holds it now, with its current name and position (1 is the first rule checked). Null when the rule no longer exists.
      - `id` (string, optional)
      - `label` (string | null, optional)
      - `position` (integer, optional)
    - `type` (string, optional): `product` on a line.
  - `product` (object, optional)
  - `quantity` (object, optional): The quantity, trailing zeros dropped: 10 is `{ "value": 10, "dp": 0 }`.
  - `subtotal` (decimal pair, optional): `unit_price` times the quantity. 4 decimal places: 125.00 is `{ "value": 1250000, "dp": 4 }`. A decimal pair: the amount is `value` ÷ 10^`dp` (`{ "value": 1250, "dp": 2 }` is 12.50). Read `dp` every time: it can differ between fields and records. See https://developer.yoprint.com/concepts/money-and-quantities.md.
  - `trashed` (boolean, optional): true when the line was deleted.
  - `type` (string, optional): The kind of line: db_catalog, user_simple, db_variant, custom or fee.
  - `unit_price` (decimal pair, optional): The price of one unit: the product price plus the decoration price. 6 decimal places: 12.50 is `{ "value": 12500000, "dp": 6 }`. A decimal pair: the amount is `value` ÷ 10^`dp` (`{ "value": 1250, "dp": 2 }` is 12.50). Read `dp` every time: it can differ between fields and records. See https://developer.yoprint.com/concepts/money-and-quantities.md.
- `status` (integer, required)
- `success` (boolean, required)

Example response:

```json
{
  "data": {
    "id": "Owr88lhAk28aqL",
    "job": {
      "id": "K6iF8n29iwOZnj",
      "scoped_id": "JOB-1001",
      "type": "linked",
      "unique_key": "job_EXAMPLEuniqueKey"
    },
    "lock_version": 1793696400234567,
    "order_id": "V4keXwwxMQyXw7",
    "order_unique_key": "ord_EXAMPLEuniqueKey",
    "position": 200000,
    "pricing": {
      "product": {
        "override": true,
        "total": {
          "dp": 6,
          "value": 12500000
        }
      },
      "type": "product_cost_service"
    },
    "product": {
      "properties": {
        "customer_supplied": false,
        "id": "nqSB3HG1O2u5Jg"
      },
      "type": "user_simple"
    },
    "quantity": {
      "total": {
        "dp": 0,
        "value": 10
      },
      "type": "unit"
    },
    "subtotal": {
      "dp": 4,
      "value": 1250000
    },
    "trashed": false,
    "type": "user_simple",
    "unit_price": {
      "dp": 6,
      "value": 12500000
    }
  },
  "status": 200,
  "success": true
}
```

## Errors

- `401` The API key is missing or wrong (`unauthenticated`).
- `403` You are not allowed to do this. `api_access_not_in_plan`: your team's plan doesn't include API access (Pro and above, with an active subscription or trial), so every request answers this until the team upgrades. When your role lacks the permission the operation needs, the body is only `{"message": "Insufficient Permission"}`. Other refusals use the error envelope, with `unauthorized` or `user_is_not_authorized`.
- `404` Not found. `page_not_found`: the team slug is unknown, you are not a member of the team, or an id in the path is not one of this team's. `code: null`, with a message that starts "No query results for": there is no record with that id.

## Related

- [List the line items of a sales order or quote](https://developer.yoprint.com/reference/sales-order-line-items/v2-order-item-index.md): `GET /v2/api/store/{team_slug}/v2/sales_order/{order_unique_key}/order_item`
- [Update a line item](https://developer.yoprint.com/reference/sales-order-line-items/v2-order-item-update.md): `PUT /v2/api/store/{team_slug}/v2/sales_order/order_item/{order_item_unique_key}`
