---
title: "Retrieve an existing element definition."
method: GET
path: "/authoring/v1/elementdefs/{id}"
tags: ["Authoring types"]
---

# Retrieve an existing element definition.

`GET /authoring/v1/elementdefs/{id}`

Use the /elementdefs/{id} end-point to retrieve an existing element definition 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

## Path parameters

- `id` string, required

## Query parameters

- `fields` string
- `include` string

## Headers

- `If-None-Match` string

## Response `200`

Successfully retrieved the element definition that matches the ID provided from the database.

- object — An element definition.
  - `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

- `304` — Not modified. The Etag value that you provided in the If-Match parameter matches the recent document version.
- `404` — The element definition with ID {id} was not found or the current tenant's database is not provisioned.
- `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)
