---
title: "Retrieve all element definitions in the database."
method: GET
path: "/authoring/v1/elementdefs"
tags: ["Authoring types"]
---

# Retrieve all element definitions in the database.

`GET /authoring/v1/elementdefs`

Use the /elementdefs endpoint to retrieve all element definitions from the database.

Each element definition describes a variety of element that can be added to a content type.

To programmatically create a content-type, merge the 'elementFragment' attribute into the 'elements' attribute of the type, performing the following replacements:
  '$ELEMENT_KEY$': With the desired element key
  '$ELEMENT_LABEL$': With the desired element label
<br />User roles: admin, manager, editor, viewer

## Query parameters

- `offset` number
- `limit` number
- `order` 'ascending' | 'descending'
- `fields` string
- `include` string

## Response `200`

Successfully lists all element definitions that are requested.

- object — A query result that returns element definitions.
  - `offset` integer — number of results to skip.
  - `limit` integer — number of results to return.
  - `href` string — the url of the current query.
  - `next` string — the url for the next page of results. Only present if there are more results.
  - `previous` string — the url for the previous page of results. Not present when on the first page.
  - `items` object[]
    - `id` string — The ID of the element definition.
    - `rev` string — The current revision of the element definition.
    - `name` string — The name of the element definition.
    - `description` string — The description of the element definition.
    - `classification` 'element-definition' — the element definition classification.
    - `creatorId` string
    - `created` string, date-time — The created date of this element definition in ISO 8601 with the format YYYY-MM-DDThh:mm:ss.sssZ. This field is read only.
    - `lastModifierId` string
    - `lastModified` string, date-time — The last modified date of this element definition in ISO 8601 with the format YYYY-MM-DDThh:mm:ss.sssZ. This field is read only.
    - `tags` string[]
    - `status` 'draft' | 'ready' | 'retired' — the workflow status.
    - `elementFragment` object — The templated the current element.
      - `key` string
      - `type` string

## Other responses

- `429` — Too Many Requests, the server has reached a limit, the request must be sent again at a later time.

---

[API](https://skmtc.net/goacoustic/apis/acoustic-content-api.md) · [All operations](https://skmtc.net/goacoustic/apis/acoustic-content-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/goacoustic/acoustic-content-api/revisions/677305266d89/schema)
