---
title: "Create a new variant on a trip."
method: POST
path: "/v1/trips/{id}/variants"
tags: ["Public API v1"]
---

# Create a new variant on a trip.

`POST /v1/trips/{id}/variants`

## Request

- Base URL: `https://api.mynextadventure.cloud` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mynextadventure.cloud/v1/trips/{id}/variants`
- Auth: API key in header `X-API-Key`

## Path parameters

- `id` string, required

## Request body

- CreateVariantV1Dto
  - `name` string, required: Variant name (e.g. "Beach option", "Mountain option").
  - `participants` VariantParticipantsV1Dto
    - `adults` number, required: Number of adults travelling on this variant. At least 1.
    - `children` VariantChildV1Dto[]: Children travelling on this variant, one entry per child. Omit or send [] for an adults-only trip.
      - `age` number, required: Age of the child in years, at the time of the trip.
    - `numberOfRooms` number: Number of rooms required.
  - `dates` union, required: Dates for this variant — required. Either exact dates ({ startDate, endDate }) or flexible dates ({ departLeavingNotBeforeDate, departArrivingNotAfterDate, returnLeavingNotBeforeDate, returnArrivingNotAfterDate, minNights, maxNights }).
    - ExactDatesV1Dto
      - `startDate` string, date-time, required
      - `endDate` string, date-time, required
    - FlexiDatesV1Dto
      - `departLeavingNotBeforeDate` string, date-time, required
      - `departArrivingNotAfterDate` string, date-time, required
      - `returnLeavingNotBeforeDate` string, date-time, required
      - `returnArrivingNotAfterDate` string, date-time, required
      - `minNights` number, required
      - `maxNights` number, required
  - `notes` string: Free-form variant notes.

## Response `201`

- DuplicateVariantResultV1Dto
  - `id` string, required: ID of the newly-created variant.
  - `name` string, required: Name of the newly-created variant (typically "<source> (copy)").

## Other responses

- `400`: Missing or unrecognisable dates.
- `404`: Trip not found or no edit access.

---

[API](https://skmtc.dev/mynextadventure/apis/mynextadventure-public-api.md) · [All operations](https://skmtc.dev/mynextadventure/apis/mynextadventure-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mynextadventure/apis/mynextadventure-public-api/revisions/a246114e73a0?raw)
