---
title: "Get a material by id. Use this endpoint instead of the path-based v1 when
your material ids may contain '/' characters, which ASP.NET Core routing
cannot match once URL-encoded."
method: POST
path: "/api/v2/materials/get"
tags: ["Material"]
---

# Get a material by id. Use this endpoint instead of the path-based v1 when
your material ids may contain '/' characters, which ASP.NET Core routing
cannot match once URL-encoded.

`POST /api/v2/materials/get`

## Request body

- MaterialRequestGetMaterialRequestDto — Request parameters for looking up a single material by id. Introduced for the v2 endpoint because material ids may contain '/' characters, which cannot be round-tripped through URL path segments.
  - `id` string, required — Unique id of the material to retrieve.

## Response `200`

The material for the given id

- MaterialShapeDto — Material definition.
  - `id` string, required — Unique id associated to this entity.
  - `active` boolean — Indicates if this material is activated.
  - `name` string, required — Identifying name.
  - `form` 'sheet' | 'plate' | 'roundBar' | 'flatBar' | 'channel' | 'squareTube' | 'angle' | 'treadPlate' | 'hexBar' | 'squareBar' | 'teeBar' | 'hBeam' | 'rectTube' | 'pipe' | 'wBeam' | 'sBeam' | 'roundTube' | 'rectBar' | 'wideBar', required — Specifies the form of the material.
  - `materialReferenceId` string, required — Material Id
  - `materialReferenceName` string, required — Material name
  - `specification` string, nullable — Specification
  - `subSpecification` string, nullable — Sub-specification
  - `finish` string, nullable — Finish
  - `grade` string, nullable — Grade
  - `dimension` string, nullable — Dimension
  - `type` string, nullable — Material type
  - `version` string, nullable — Version
  - `vendors` MaterialShapeVendorDto[], required — Vendors that supply this material.
    - `id` string, uuid, required — Unique id associated to this entity.
    - `vendorId` string, required — Vendor identifier. Pelase reference /api/vendors endpoint.
    - `isPrimary` boolean, required — Signifies if this is the primary vendor for this material.
    - `currencyCode` string, nullable — Currency code/denomination associated to this vendor.
    - `priceUnit` 'kilogram' | 'pound', required — Specifies how a routing input item quantity is measured.
    - `leadTimeInDays` integer, nullable — Number of days required between order and receipt
    - `priceBreaks` MaterialShapeVendorPriceBreakDto[], required — Vendor price breaks
      - `id` string, uuid, required — Unique id associated to this entity.
      - `quantity` integer, required — The minimum quantity to associate this price break to.
      - `price` number, double, required — The price per unit.

## Other responses

- `404` — Material did not exist

---

[API](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi.md) · [All operations](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fulcrumpro/fulcrum-publicapi/versions/1b5649cff14a/schema)
