---
title: "Create a queue."
method: POST
path: "/v1/queues"
tags: ["Queues"]
---

# Create a queue.

`POST /v1/queues`

## Request body

- QueueCreateRequest — Duration-typed fields accept Go duration strings such as `30s`, `5m`, or `1h`. Responses return the same durations as int64 nanoseconds — see `QueueInfo`.
  - `name` string, required
  - `max_age` string
  - `max_entries` integer
  - `discard_old` boolean
  - `max_tries` integer
  - `max_runtime` string
  - `max_concurrent` integer

## Response `201`

Queue created.

- QueueInfo — Queue state as returned by the library. Duration fields are int64 nanoseconds (library JSON). Opaque JetStream and consumer detail are never returned; use the NATS tooling if required.
  - `name` string, required
  - `time` string, date-time
  - `max_age` integer
  - `max_entries` integer
  - `discard_old` boolean
  - `max_tries` integer
  - `max_runtime` integer
  - `max_concurrent` integer

## Other responses

- `400` — Input validation error.
- `409` — State conflict, e.g. duplicate resource or blocked transition.

---

[API](https://skmtc.net/choria-io/apis/asyncjobs-http-api.md) · [All operations](https://skmtc.net/choria-io/apis/asyncjobs-http-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/choria-io/asyncjobs-http-api/versions/48b17d96adbf/schema)
