---
title: "Move a Commitment to another slot"
method: POST
path: "/signups/{id}/registrations/{rid}/commitments/{commitmentId}/move"
tags: ["Participants"]
---

# Move a Commitment to another slot

`POST /signups/{id}/registrations/{rid}/commitments/{commitmentId}/move`

## Request

- Base URL: `https://thesignup.app/api/v1`
- URL: `https://thesignup.app/api/v1/signups/{id}/registrations/{rid}/commitments/{commitmentId}/move`
- Auth: HTTP bearer

Move one of the registration's slot Commitments (`commitments[].id`) to another slot on the same signup. The Commitment keeps its id. Into a full slot is 400 with the slot's numbers; onto a slot this registration already holds, onto a slot on a past date, or moving an item Commitment is 400; a Commitment that is not this registration's is 404. A Commitment on a past or cancelled date (a Locked Commitment) is history: moving it, or removing a registration that holds one, is refused with 400 and nothing is written. Notifies nobody. Returns the registration.

## Path parameters

- `id` string, uuid, required
- `rid` string, uuid, required
- `commitmentId` string, uuid, required

## Request body

- MoveCommitmentRequest
  - `toSlotId` string, uuid, required: The slot to move this Commitment to, on the same signup. The person's place moves with its id unchanged; the slot's day is added to the days they attend.

## Response `200`

The registration, with the Commitment on its new slot

- Registration
  - `id` string, uuid, required
  - `eventId` string, uuid, required
  - `name` string, required
  - `email` string, email, required
  - `phone` string, nullable, required
  - `attending` boolean, required
  - `attendOnly` boolean, required
  - `attendees` integer, required: How many people this registration covers, the person included.
  - `nameVisible` boolean, required: Whether the person's name is shown on the public signup page's list of who signed up.
  - `eventCustomFieldResponse` string, nullable, required
  - `dayCustomFieldResponses` object, nullable, required
  - `days` string[], required: The event days (`event_days.id`) this person is attending, sorted by id. Includes the day a slot they hold is on, unless it was removed with `days`.
  - `createdAt` string, date-time, required
  - `lastModifiedAt` string, date-time, required
  - `commitments` Commitment[], required
    - union
      - SlotCommitment
        - `kind` 'slot', required
        - `id` string, uuid, required
        - `participantId` string, uuid, required
        - `slotId` string, uuid, required
        - `title` string, nullable, required
        - `startTime` string, date-time, required
        - `endTime` string, date-time, required
        - `quantity` integer, required
        - `customFieldResponse` string, nullable, required
      - ItemCommitment
        - `kind` 'item', required
        - `id` string, uuid, required
        - `participantId` string, uuid, required
        - `itemId` string, uuid, required
        - `name` string, required
        - `quantity` integer, required
        - `customFieldResponse` string, nullable, required

## Other responses

- `400`: Bad request — body or path could not be parsed
- `401`: Unauthenticated — credentials missing, malformed, invalid, or revoked
- `403`: Forbidden — credentials valid but lack the required scope
- `404`: Not found
- `422`: Validation failed — request body / query / path is structurally wrong
- `429`: Rate limited or daily ceiling exceeded
- `500`: Internal server error

---

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