---
title: "Micro Copy API"
url: "https://adaptocms.com/docs/micro-copy-api/"
source: adaptocms.com
---

# Micro Copy API

The Micro Copy API provides access to short, translatable text snippets — UI labels, button text, error messages, tooltips, and any other small pieces of text that need to be managed and translated outside of your codebase.

## Endpoints Overview

Method

Endpoint

Description

`GET`

`/v1/micro-copy`

List all micro copy entries

`GET`

`/v1/micro-copy/{micro_copy_id}`

Get micro copy by ID

`GET`

`/v1/micro-copy/by-key/{key}`

Get micro copy by key

`GET`

`/v1/micro-copy/language/{language}`

Get all entries for a language

`GET`

`/v1/micro-copy/count`

Count micro copy entries

`GET`

`/v1/micro-copy/translations/{translation_of}`

Get translations of an entry

* * *

## List Micro Copy

```
GET /v1/micro-copy
```

Returns an array of all micro copy entries, optionally filtered by language and tags.

### Query Parameters

Parameter

Type

Required

Description

`language`

string

No

Filter by language code

`tags`

string

No

Filter by tags (comma-separated)

**Note:** This endpoint returns a flat array, not a paginated response.

### Example Request

```
curl -X GET "https://public-api.adaptocms.com/v1/micro-copy?language=en" \
  -H "x-api-key: YOUR_API_KEY"
```

### Example Response

```
[
  {
    "id": "mc-001",
    "key": "nav.home",
    "value": "Home",
    "language": "en",
    "translation_of": null,
    "tags": "navigation",
    "created_at": "2026-01-10T08:00:00",
    "updated_at": "2026-01-10T08:00:00",
    "custom_fields": {},
    "file_urls": null
  },
  {
    "id": "mc-002",
    "key": "nav.about",
    "value": "About Us",
    "language": "en",
    "translation_of": null,
    "tags": "navigation",
    "created_at": "2026-01-10T08:00:00",
    "updated_at": "2026-01-10T08:00:00",
    "custom_fields": {},
    "file_urls": null
  },
  {
    "id": "mc-003",
    "key": "btn.submit",
    "value": "Submit",
    "language": "en",
    "translation_of": null,
    "tags": "forms",
    "created_at": "2026-01-10T08:00:00",
    "updated_at": "2026-01-10T08:00:00",
    "custom_fields": {},
    "file_urls": null
  }
]
```

* * *

## Get Micro Copy by ID

```
GET /v1/micro-copy/{micro_copy_id}
```

### Path Parameters

Parameter

Type

Required

Description

`micro_copy_id`

string (UUID)

Yes

The unique identifier of the micro copy entry

* * *

## Get Micro Copy by Key

```
GET /v1/micro-copy/by-key/{key}
```

Retrieve a micro copy entry by its unique key. Optionally filter by language.

### Path Parameters

Parameter

Type

Required

Description

`key`

string

Yes

The key identifier (e.g. `nav.home`)

### Query Parameters

Parameter

Type

Required

Description

`language`

string

No

Filter by language code

### Example Request

```
curl -X GET "https://public-api.adaptocms.com/v1/micro-copy/by-key/nav.home?language=en" \
  -H "x-api-key: YOUR_API_KEY"
```

* * *

## Get Micro Copy by Language

```
GET /v1/micro-copy/language/{language}
```

Retrieve all micro copy entries for a specific language. This is the most common endpoint for loading all UI strings at once.

### Path Parameters

Parameter

Type

Required

Description

`language`

string

Yes

ISO 639-1 language code (e.g. `en`, `fr`)

### Example Request

```
curl -X GET "https://public-api.adaptocms.com/v1/micro-copy/language/fr" \
  -H "x-api-key: YOUR_API_KEY"
```

### Use Case: Loading an i18n Dictionary

```
// Build a key-value dictionary for your i18n library
const entries = await fetch(
  `${BASE_URL}/v1/micro-copy/language/${locale}`,
  { headers: { 'x-api-key': API_KEY } }
).then(r => r.json());

const dictionary = Object.fromEntries(
  entries.map(entry => [entry.key, entry.value])
);

// Usage: dictionary['nav.home'] => "Home"
// Usage: dictionary['btn.submit'] => "Submit"
```

* * *

## Count Micro Copy

```
GET /v1/micro-copy/count
```

Returns a count of micro copy entries, optionally filtered by language and tags.

### Query Parameters

Parameter

Type

Required

Description

`language`

string

No

Filter by language

`tags`

string

No

Filter by tags (comma-separated)

### Example Request

```
curl -X GET "https://public-api.adaptocms.com/v1/micro-copy/count?language=en" \
  -H "x-api-key: YOUR_API_KEY"
```

### Example Response

```
{"count": 47}
```

* * *

## Get Micro Copy Translations

```
GET /v1/micro-copy/translations/{translation_of}
```

Returns an array of all translations linked to a source micro copy entry.

### Path Parameters

Parameter

Type

Required

Description

`translation_of`

string (UUID)

Yes

The ID of the source micro copy entry

### Example Request

```
curl -X GET "https://public-api.adaptocms.com/v1/micro-copy/translations/mc-001" \
  -H "x-api-key: YOUR_API_KEY"
```

### Example Response

```
[
  {
    "id": "mc-010",
    "key": "nav.home",
    "value": "Accueil",
    "language": "fr",
    "translation_of": "mc-001",
    "tags": "navigation",
    ...
  },
  {
    "id": "mc-020",
    "key": "nav.home",
    "value": "Startseite",
    "language": "de",
    "translation_of": "mc-001",
    "tags": "navigation",
    ...
  }
]
```
