---
title: "Cancel a Flexible Ride"
method: DELETE
path: "/api/v4/flexible_rides/{flexible_ride_id}"
tags: ["Flexible Rides"]
---

# Cancel a Flexible Ride

`DELETE /api/v4/flexible_rides/{flexible_ride_id}`

## Request

- Base URL: `https://cabify-sandbox.com`
- URL: `https://cabify-sandbox.com/api/v4/flexible_rides/{flexible_ride_id}`
- Auth: HTTP bearer

Cancels and returns a Flexible Ride.

## Path parameters

- `flexible_ride_id` string, required

## Response `200`

Success

- FlexibleRide: Details of a Flexible Ride.
  - `claimable_since` string, nullable: UTC ISO 8601 timestamp since when the flexible ride can be claimed.
  - `expires_at` string, nullable: ISO 8601 datetime when the flexible ride will expire.
  - `id` string: ID of the flexible ride.
  - `inserted_at` string: UTC ISO 8601 creation timestamp.
  - `journey_id` string, nullable: ID of the journey associated to the flexible ride, once claimed.
  - `label_slug` string, nullable: Cost-center / project code.
  - `max_price` object: Max price defined as budget ceiling on journey creation.
    - `amount` integer: Amount in cents. *For CLP this field is in currency units.
    - `currency` string: Currency Code in ISO_4217 format.
  - `message` string, nullable: Driver-visible message to be set on create journey.
  - `product_id` string: ID of the vehicle category/product used for this flexible ride, as returned by the estimates endpoint.
  - `public_url` string: URL Path that links to the page to claim the flexible ride.
  - `reason` string, nullable: Journey reason to be set once created.
  - `requester_id` string: ID of the user who requested the flexible ride.
  - `rider` Rider: Input data defining the rider of a journey. If your platform books journeys on behalf of your own end customers (e.g. the customers of a marketplace or app built on top of Cabify) and those customers never need to log into Cabify's own apps, we recommend leaving `id` empty and providing `name`/`mobile` instead, rather than creating a User per customer. This avoids having to manage account activation for people who never interact with Cabify directly, and still lets the rider follow their journey and contact the driver through the journey's `public_url`.
    - `email` string, email, nullable: Rider's email.
    - `id` string: Id of the Rider that will travel, if the Rider is a User of your company this will be the User's id (can be same as requester_id to request a journey for yourself). Leave empty when the Rider is external to your company, providing `name` and `mobile` instead. Requesting a journey for a Rider does not require that User to be activated (they don't need to have set a password or logged into Cabify's apps).
    - `locale` string, nullable: Rider's Locale. Syntax consists of language two-letter tag which then will be suffixed with Client's country.
    - `mobile` Mobile: Input Mobile Number. Required when the rider is external. Journey's SMS state updates will arrive to this mobile.
      - `mobile_cc` string, required: Mobile Country Code. Required if mobileNum is provided.
      - `mobile_num` string, required: Rider's phone number.
    - `name` string: Rider's name. Required when the rider is external.
  - `rider_metadata` object, nullable: Client metadata.
  - `sender_name` string, nullable: Alias that is going to be displayed as the sender of the flexible ride on the claim page.
  - `status` string: Status of the flexible ride (can be one of: pending, claimed, failed, expired, cancelled).
  - `stops` StopResponse[]
    - `addr` string: If an address was provided when creating the journey this field will have its value.
    - `city` string: City name where the address is located, e.g. Madrid.
    - `contact` Contact: Contact details on each Stop. Include this object if you want the Driver to see additional Contact details on each Stop.
      - `mobile_cc` string: Mobile Country Code of the Contact of the Stop passed when creating the Journey.
      - `mobile_num` string: Mobile Number of the Contact of the Stop passed when creating the Journey.
      - `name` string: Name of the Contact of the Stop passed when creating the Journey.
      - `stop_action` 'pickup' | 'dropoff': Action to be performed on the Stop. Possible values: 'pickup', 'dropoff'. Ignored when it is included in the `contact` field (`stop/contact`), i.e. only taken into account when specific for the contacts within `stop/contacts`.
    - `contacts` Contact[]: List of contacts for the stop, in case of multiple contacts.
      - `mobile_cc` string: Mobile Country Code of the Contact of the Stop passed when creating the Journey.
      - `mobile_num` string: Mobile Number of the Contact of the Stop passed when creating the Journey.
      - `name` string: Name of the Contact of the Stop passed when creating the Journey.
      - `stop_action` 'pickup' | 'dropoff': Action to be performed on the Stop. Possible values: 'pickup', 'dropoff'. Ignored when it is included in the `contact` field (`stop/contact`), i.e. only taken into account when specific for the contacts within `stop/contacts`.
    - `country` string: Country name where the address is located, e.g. España.
    - `hit_at` string, date-time: DateTime when the driver arrived at the indicated point.
    - `id` string: Id of the stop.
    - `instr` string: Set of instructions for the Driver.
    - `loc` number[], required: The actual coordinates of the address. Required floats per location latitude and longitude.
    - `meeting_point` MeetingPoint: A specific meeting point within a hub location (e.g. a terminal at an airport). Obtained from the hub data returned in the estimates response.
      - `id` string, required: Unique identifier of the meeting point.
      - `loc` number[], required: Coordinates of the meeting point as [latitude, longitude].
      - `name` string, required: Display name of the meeting point.
    - `name` string: A short name for previously stored addresses. These can be viewed in places.
    - `num` string: Street number.
    - `postal_code` string: Postal code of the address.
  - `updated_at` string: UTC ISO 8601 last-update timestamp.

## Other responses

- `401`: Unauthorized
- `404`: Not found
- `409`: Conflict
- `500`: Internal server error

## Changes

- **2026-11-03** `22a12845e173`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cabify/apis/ride-hailing-api/changes/api/v4/flexible_rides/:flexible_ride_id/delete.md)

---

[API](https://skmtc.dev/cabify/apis/ride-hailing-api.md) - [All operations](https://skmtc.dev/cabify/apis/ride-hailing-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cabify/apis/ride-hailing-api/revisions/22a12845e173?raw)
