---
title: compose
full: true
---

import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";

<Root>

<API>

<APIInfo method={"POST"} route={"/compose.create"}>

## compose-create

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"name"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"projectId"} type={"string"} required={true} deprecated={undefined}>

</Property>

<Property name={"composeType"} type={"string"} required={false} deprecated={undefined}>

<span>Value in: `"docker-compose" | "stack"`</span>

</Property>

<Property name={"appName"} type={"string"} required={false} deprecated={undefined}>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.create" \
  -d '{
  "name": "string",
  "description": "string",
  "projectId": "string",
  "composeType": "docker-compose",
  "appName": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.create", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"GET"} route={"/compose.one"}>

## compose-one

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Query Parameters

<Property name={"composeId"} type={"string"} required={true} deprecated={false}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X GET "http://localhost:3000/api/compose.one?composeId=string"
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.one?composeId=string", {
  method: "GET"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.update"}>

## compose-update

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>

</Property>

<Property name={"name"} type={"string"} required={false} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

<Property name={"appName"} type={"string"} required={false} deprecated={undefined}>

</Property>

<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"env"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"composeFile"} type={"string"} required={false} deprecated={undefined}>

</Property>

<Property name={"refreshToken"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"sourceType"} type={"string"} required={false} deprecated={undefined}>

<span>Value in: `"git" | "github" | "gitlab" | "bitbucket" | "raw"`</span>

</Property>

<Property name={"composeType"} type={"string"} required={false} deprecated={undefined}>

<span>Value in: `"docker-compose" | "stack"`</span>

</Property>

<Property name={"repository"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"owner"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"branch"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"autoDeploy"} type={"boolean | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"gitlabProjectId"} type={"number | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"gitlabRepository"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"gitlabOwner"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"gitlabBranch"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"gitlabPathNamespace"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"bitbucketRepository"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"bitbucketOwner"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"bitbucketBranch"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"customGitUrl"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"customGitBranch"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"customGitSSHKeyId"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"command"} type={"string"} required={false} deprecated={undefined}>

</Property>

<Property name={"composePath"} type={"string"} required={false} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

<Property name={"composeStatus"} type={"string"} required={false} deprecated={undefined}>

<span>Value in: `"idle" | "running" | "done" | "error"`</span>

</Property>

<Property name={"projectId"} type={"string"} required={false} deprecated={undefined}>

</Property>

<Property name={"createdAt"} type={"string"} required={false} deprecated={undefined}>

</Property>

<Property name={"githubId"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"gitlabId"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

<Property name={"bitbucketId"} type={"string | null"} required={false} deprecated={undefined}>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.update" \
  -d '{
  "composeId": "string",
  "name": "string",
  "appName": "string",
  "description": "string",
  "env": "string",
  "composeFile": "string",
  "refreshToken": "string",
  "sourceType": "git",
  "composeType": "docker-compose",
  "repository": "string",
  "owner": "string",
  "branch": "string",
  "autoDeploy": true,
  "gitlabProjectId": 0,
  "gitlabRepository": "string",
  "gitlabOwner": "string",
  "gitlabBranch": "string",
  "gitlabPathNamespace": "string",
  "bitbucketRepository": "string",
  "bitbucketOwner": "string",
  "bitbucketBranch": "string",
  "customGitUrl": "string",
  "customGitBranch": "string",
  "customGitSSHKeyId": "string",
  "command": "string",
  "composePath": "string",
  "composeStatus": "idle",
  "projectId": "string",
  "createdAt": "string",
  "githubId": "string",
  "gitlabId": "string",
  "bitbucketId": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.update", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.delete"}>

## compose-delete

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.delete" \
  -d '{
  "composeId": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.delete", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.cleanQueues"}>

## compose-cleanQueues

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.cleanQueues" \
  -d '{
  "composeId": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.cleanQueues", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"GET"} route={"/compose.loadServices"}>

## compose-loadServices

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Query Parameters

<Property name={"composeId"} type={"string"} required={true} deprecated={false}>

<span>Minimum length: `1`</span>

</Property>

<Property name={"type"} type={"Any properties in not unknown, string"} required={false} deprecated={false}>

<span>Default: `"cache"`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X GET "http://localhost:3000/api/compose.loadServices?composeId=string&type=cache"
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.loadServices?composeId=string&type=cache", {
  method: "GET"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.fetchSourceType"}>

## compose-fetchSourceType

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.fetchSourceType" \
  -d '{
  "composeId": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.fetchSourceType", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.randomizeCompose"}>

## compose-randomizeCompose

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

<Property name={"prefix"} type={"string"} required={false} deprecated={undefined}>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.randomizeCompose" \
  -d '{
  "composeId": "string",
  "prefix": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.randomizeCompose", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"GET"} route={"/compose.getConvertedCompose"}>

## compose-getConvertedCompose

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Query Parameters

<Property name={"composeId"} type={"string"} required={true} deprecated={false}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X GET "http://localhost:3000/api/compose.getConvertedCompose?composeId=string"
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.getConvertedCompose?composeId=string", {
  method: "GET"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.deploy"}>

## compose-deploy

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.deploy" \
  -d '{
  "composeId": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.deploy", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.redeploy"}>

## compose-redeploy

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.redeploy" \
  -d '{
  "composeId": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.redeploy", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.stop"}>

## compose-stop

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.stop" \
  -d '{
  "composeId": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.stop", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"GET"} route={"/compose.getDefaultCommand"}>

## compose-getDefaultCommand

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Query Parameters

<Property name={"composeId"} type={"string"} required={true} deprecated={false}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X GET "http://localhost:3000/api/compose.getDefaultCommand?composeId=string"
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.getDefaultCommand?composeId=string", {
  method: "GET"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.refreshToken"}>

## compose-refreshToken

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.refreshToken" \
  -d '{
  "composeId": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.refreshToken", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"POST"} route={"/compose.deployTemplate"}>

## compose-deployTemplate

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

### Request Body

<Property name={"projectId"} type={"string"} required={true} deprecated={undefined}>

</Property>

<Property name={"id"} type={"string"} required={true} deprecated={undefined}>

<span>Minimum length: `1`</span>

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X POST "http://localhost:3000/api/compose.deployTemplate" \
  -d '{
  "projectId": "string",
  "id": "string"
}'
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.deployTemplate", {
  method: "POST"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"GET"} route={"/compose.templates"}>

## compose-templates

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X GET "http://localhost:3000/api/compose.templates"
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.templates", {
  method: "GET"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

<API>

<APIInfo method={"GET"} route={"/compose.getTags"}>

## compose-getTags

### Authorization

<Property name={"Authorization"} type={"Bearer <token>"} required={true}>

In: `header`

</Property>

| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |

</APIInfo>

<APIExample>

<Requests items={["cURL","JavaScript"]}>

<Request value={"cURL"}>

```bash
curl -X GET "http://localhost:3000/api/compose.getTags"
```

</Request>

<Request value={"JavaScript"}>

```js
fetch("http://localhost:3000/api/compose.getTags", {
  method: "GET"
});
```

</Request>

</Requests>

<Responses items={["default"]}>

<Response value={"default"}>

<ResponseTypes>

<ExampleResponse>

```json
{
  "message": "string",
  "code": "string",
  "issues": [
    {
      "message": "string"
    }
  ]
}
```

</ExampleResponse>

<TypeScriptResponse>

```ts
export interface Response {
  message: string;
  code: string;
  issues?: {
    message: string;
  }[];
}
```

</TypeScriptResponse>

</ResponseTypes>

</Response>

</Responses>

</APIExample>

</API>

</Root>