---
title: "Add Custom Placeholder"
method: POST
path: "/custom-placeholders"
tags: ["Placeholders"]
---

# Add Custom Placeholder

`POST /custom-placeholders`

## Request

- Base URL: `https://api.crowdin.com/api/v2`
- URL: `https://api.crowdin.com/api/v2/custom-placeholders`
- Auth: none declared
- TypeScript: <https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/docs/custom-placeholders/post.ts> (a function with typed inputs; its response is checked against the schema)

**Required scopes:** `custom-placeholder` (Read and Write).

Creates a custom placeholder for the organization. Assign it to a project with [Add Project Placeholder](#operation/api.projects.placeholders.post).

## Request body

- CustomPlaceholderCreateForm
  - `description` string
  - `definition` string, required
  - `argumentDelimiter` string

## Response `201`

Custom Placeholder was successfully created

- CustomPlaceholderResource: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
  - `data` union, required
    - CustomPlaceholder
      - `id` integer
      - `description` string, nullable: Custom placeholder description. `null` when none is set
    - CustomPlaceholderFull
      - `id` integer
      - `definition` string
      - `description` string, nullable: Custom placeholder description. `null` when none is set
      - `argumentDelimiter` string

## Other responses

- `400`: Invalid Request Parameters
- `401`: Unauthorized
- `403`: Forbidden
- `405`: Method Not Allowed
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2.md) - [All operations](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/revisions/dc68744c5384?raw)
