---
title: "Create Style Guide"
method: POST
path: "/style-guides"
tags: ["Style Guides"]
---

# Create Style Guide

`POST /style-guides`

## Request

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

**Required scopes:** `style-guide` (Read and Write).

## Request body

- CrowdinStyleGuideCreateForm
  - `name` string, required: Style Guide name
  - `aiInstructions` string, nullable: Style Guide instructions for AI models __Note:__ `maxLength` counts bytes, not characters — a non-Latin value reaches the limit two to four times sooner than its character count suggests
  - `languageIds` string[]: Style Guide Language Identifier list. Get via [List Supported Languages](#operation/api.languages.getMany)
  - `projectIds` integer[]: Project ids to assign style guide to
  - `isShared` boolean: Whether style guide should be shared to all projects within the account
  - `storageId` integer, nullable, required: Storage identifier.

## Response `201`

Style Guide was successfully created

- CrowdinStyleGuideResource: 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` StyleGuide, required
    - `id` integer
    - `name` string
    - `aiInstructions` string, nullable
    - `userId` integer
    - `languageIds` string[], nullable
    - `projectIds` integer[], nullable
    - `isShared` boolean: Whether style guide should be shared to all projects within the account
    - `webUrl` string
    - `downloadLink` string
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `managerIds` integer[]: IDs of managers who can manage this resource. The resource owner sees all managers; a manager sees only their own ID. Other users get an empty list. Pending invitations aren't included. Get via [List Managers](#operation/api.managers.getMany)

## Other responses

- `400`: Invalid Request Parameters
- `401`: Unauthorized
- `403`: Forbidden
- `404`: User not found
- `405`: Method Not Allowed

---

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