---
title: "GET /api/admin/materials"
method: GET
path: "/api/admin/materials"
tags: ["Administration/Materials"]
---

# GET /api/admin/materials

`GET /api/admin/materials`

## Request

- Base URL: `https://api.retraced.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.retraced.com/api/admin/materials`
- Auth: none declared

Paginated list of materials, sortable by name/category/updatedAt, searchable by name with `q`, and filterable with `filter={"name"|"category"|"description":"…"}` (case-insensitive substring). `isDropDown=true` returns every match in one page. Answers the paginated `{ data, metadata: { pagination } }` envelope (1-based `pagination.page`); legacy sent `{ data, meta }`.

## Query parameters

- `page` integer
- `count` integer
- `sort` string
- `q` string
- `filter` string
- `isDropDown` union
  - boolean
  - string

## Response `200`

Default Response

- object
  - `metadata` object, required
    - `success` boolean, required: True when the request succeeded.
    - `pagination` object
      - `page` number, required: Current page number (1-based).
      - `limit` number, required: Page size used for this response. Endpoint defaults vary — see each endpoint's limit parameter.
      - `total` number, required: Total number of records across all pages.
      - `totalPages` number, required: Total number of pages. Iterate until page reaches totalPages.
  - `data` object[], required
    - `id` string, required
    - `name` string, nullable, required
    - `description` string, nullable, required
    - `category` string, nullable, required
    - `imageFileId` string, nullable, required
    - `imageFileUrl` string, nullable, required
    - `quantityUnits` string[], required
    - `weightUnits` string[], required
    - `isRecycled` number, nullable, required
    - `isSynthetic` number, nullable, required
    - `createdAt` string, date-time, nullable, required
    - `createdByUserId` string, nullable, required
    - `updatedAt` string, date-time, nullable, required
    - `updatedByUserId` string, nullable, required
    - `updatedByUserName` string, nullable, required

## Other responses

- `400`: Default Response
- `401`: Default Response
- `403`: Default Response

## Changes

> 108 revisions in range; 2 not diffed.

- **2026-10-14** `9ab01fbac88c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/retraced/apis/api-reference/changes/api/admin/materials/get.md)

---

[API](https://skmtc.dev/retraced/apis/api-reference.md) - [All operations](https://skmtc.dev/retraced/apis/api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/retraced/apis/api-reference/revisions/83309c4abd20?raw)
