lyft Concierge Rides API

Endpoints for creating, scheduling, tracking, and managing rides on behalf of passengers who may not have a Lyft account.

OpenAPI Specification

lyft-concierge-rides-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Lyft Concierge Concierge Rides API
  description: The Lyft Concierge API allows organizations to request rides on behalf of their customers, patients, or employees without requiring those individuals to have a Lyft account. It is designed for enterprise use cases such as healthcare patient transportation, corporate employee transit, and customer service scenarios. The API enables organizations to build customized transportation workflows, schedule rides in advance, track ride status in real time, and manage ride programs at scale. It provides a way to embed Lyft's driver network directly into business operations and third-party applications.
  version: '1.0'
  contact:
    name: Lyft Business Support
    url: https://www.lyft.com/developers
  termsOfService: https://www.lyft.com/terms
servers:
- url: https://api.lyft.com/v1
  description: Production Server
security:
- bearerAuth: []
tags:
- name: Concierge Rides
  description: Endpoints for creating, scheduling, tracking, and managing rides on behalf of passengers who may not have a Lyft account.
paths:
  /concierge/rides:
    get:
      operationId: listConciergeRides
      summary: List concierge rides
      description: Returns a list of rides created through the concierge program. Results can be filtered by status, time range, and passenger information. Supports pagination for large result sets.
      tags:
      - Concierge Rides
      parameters:
      - name: status
        in: query
        description: Filter rides by their current status.
        required: false
        schema:
          $ref: '#/components/schemas/ConciergeRideStatusEnum'
      - name: start_time
        in: query
        description: Return rides scheduled or requested after this time. ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
      - name: end_time
        in: query
        description: Return rides scheduled or requested before this time. ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
      - name: limit
        in: query
        description: Maximum number of rides to return per page.
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 25
      - name: offset
        in: query
        description: Number of rides to skip for pagination.
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
      responses:
        '200':
          description: Successful response with concierge ride list
          content:
            application/json:
              schema:
                type: object
                properties:
                  rides:
                    type: array
                    description: List of concierge rides matching the filter criteria.
                    items:
                      $ref: '#/components/schemas/ConciergeRide'
                  total:
                    type: integer
                    description: Total number of rides matching the filter criteria.
        '400':
          description: Bad request - invalid filter parameters
        '401':
          description: Unauthorized - invalid or missing access token
    post:
      operationId: createConciergeRide
      summary: Create a concierge ride
      description: Creates a new ride on behalf of a passenger. The passenger does not need to have a Lyft account. Rides can be dispatched immediately or scheduled for a future pickup time. The request must include the passenger's contact information, pickup location, and destination.
      tags:
      - Concierge Rides
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateConciergeRideRequest'
      responses:
        '200':
          description: Concierge ride created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConciergeRide'
        '400':
          description: Bad request - invalid parameters
        '401':
          description: Unauthorized - invalid or missing access token
        '422':
          description: Unprocessable entity - validation error
  /concierge/rides/{id}:
    get:
      operationId: getConciergeRide
      summary: Get concierge ride detail
      description: Returns the details of a specific concierge ride, including current status, passenger information, driver and vehicle details, and route information.
      tags:
      - Concierge Rides
      parameters:
      - $ref: '#/components/parameters/rideId'
      responses:
        '200':
          description: Successful response with ride details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConciergeRide'
        '401':
          description: Unauthorized - invalid or missing access token
        '404':
          description: Ride not found
  /concierge/rides/{id}/cancel:
    post:
      operationId: cancelConciergeRide
      summary: Cancel a concierge ride
      description: Cancels a concierge ride that has been requested or scheduled. Rides that have already been completed cannot be canceled. Cancellation fees may apply depending on the ride's current status and how long a driver has been assigned.
      tags:
      - Concierge Rides
      parameters:
      - $ref: '#/components/parameters/rideId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                cancel_confirmation_token:
                  type: string
                  description: A token required to confirm cancellation when a fee applies.
      responses:
        '204':
          description: Ride canceled successfully
        '400':
          description: Bad request - ride cannot be canceled
        '401':
          description: Unauthorized - invalid or missing access token
        '404':
          description: Ride not found
  /concierge/rides/{id}/status:
    get:
      operationId: getConciergeRideStatus
      summary: Get concierge ride status
      description: Returns the current status and real-time tracking information for a concierge ride, including driver location when a driver is assigned.
      tags:
      - Concierge Rides
      parameters:
      - $ref: '#/components/parameters/rideId'
      responses:
        '200':
          description: Successful response with ride status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConciergeRideStatus'
        '401':
          description: Unauthorized - invalid or missing access token
        '404':
          description: Ride not found
components:
  schemas:
    ConciergeVehicle:
      type: object
      description: Information about the vehicle assigned to a concierge ride.
      properties:
        make:
          type: string
          description: Vehicle manufacturer name.
        model:
          type: string
          description: Vehicle model name.
        year:
          type: integer
          description: Vehicle model year.
        license_plate:
          type: string
          description: Vehicle license plate number.
        color:
          type: string
          description: Color of the vehicle.
    ConciergePrice:
      type: object
      description: Price information for a concierge ride.
      properties:
        amount:
          type: integer
          description: Total price in the smallest denomination of the currency.
        currency:
          type: string
          description: ISO 4217 currency code.
          pattern: ^[A-Z]{3}$
        description:
          type: string
          description: Human-readable description of the price.
    ConciergeDriver:
      type: object
      description: Information about the driver assigned to a concierge ride.
      properties:
        first_name:
          type: string
          description: The driver's first name.
        phone_number:
          type: string
          description: The driver's contact phone number.
        rating:
          type: string
          description: The driver's average rating.
        image_url:
          type: string
          format: uri
          description: URL to the driver's profile photo.
    Location:
      type: object
      description: A geographic location with optional address details.
      required:
      - lat
      - lng
      properties:
        lat:
          type: number
          format: double
          description: Latitude of the location.
        lng:
          type: number
          format: double
          description: Longitude of the location.
        address:
          type: string
          description: Street address of the location.
        city:
          type: string
          description: City name.
        state:
          type: string
          description: State or province code.
        zip:
          type: string
          description: Postal code.
    ConciergeRide:
      type: object
      description: Detailed information about a concierge ride including its current status, passenger, driver, vehicle, and route information.
      properties:
        ride_id:
          type: string
          description: Unique identifier for the concierge ride.
        ride_type:
          type: string
          description: Identifier for the type of ride.
        status:
          $ref: '#/components/schemas/ConciergeRideStatusEnum'
        passenger:
          $ref: '#/components/schemas/Passenger'
        origin:
          $ref: '#/components/schemas/Location'
        destination:
          $ref: '#/components/schemas/Location'
        driver:
          $ref: '#/components/schemas/ConciergeDriver'
        vehicle:
          $ref: '#/components/schemas/ConciergeVehicle'
        scheduled_pickup_time:
          type: string
          format: date-time
          description: The scheduled pickup time, if the ride was scheduled in advance.
        requested_at:
          type: string
          format: date-time
          description: Timestamp when the ride was created.
        completed_at:
          type: string
          format: date-time
          description: Timestamp when the ride was completed.
        canceled_at:
          type: string
          format: date-time
          description: Timestamp when the ride was canceled, if applicable.
        price:
          $ref: '#/components/schemas/ConciergePrice'
        notes:
          type: string
          description: Special instructions provided when the ride was created.
        cost_center:
          type: string
          description: The cost center code associated with this ride.
    CreateConciergeRideRequest:
      type: object
      description: Request body for creating a new concierge ride on behalf of a passenger.
      required:
      - ride_type
      - passenger
      - origin
      - destination
      properties:
        ride_type:
          type: string
          description: Identifier for the type of Lyft ride to request.
        passenger:
          $ref: '#/components/schemas/Passenger'
        origin:
          $ref: '#/components/schemas/Location'
        destination:
          $ref: '#/components/schemas/Location'
        scheduled_pickup_time:
          type: string
          format: date-time
          description: The requested pickup time for a scheduled ride. If omitted, the ride will be dispatched immediately. Must be at least 30 minutes in the future and no more than 7 days ahead.
        notes:
          type: string
          description: Special instructions or notes for the driver, such as building entrance details or patient mobility requirements.
          maxLength: 500
        cost_center:
          type: string
          description: An optional cost center code for billing and reporting purposes.
    ConciergeRideStatus:
      type: object
      description: Real-time status and tracking information for a concierge ride.
      properties:
        ride_id:
          type: string
          description: Unique identifier for the ride.
        status:
          $ref: '#/components/schemas/ConciergeRideStatusEnum'
        driver_location:
          type: object
          description: Current location of the driver, available when a driver has been assigned.
          properties:
            lat:
              type: number
              format: double
              description: Latitude of the driver's current position.
            lng:
              type: number
              format: double
              description: Longitude of the driver's current position.
        eta_seconds:
          type: integer
          description: Estimated time in seconds until the driver arrives at the pickup location.
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the status was last updated.
    ConciergeRideStatusEnum:
      type: string
      description: Status of a concierge ride throughout its lifecycle.
      enum:
      - pending
      - scheduled
      - matched
      - arriving
      - pickedUp
      - droppedOff
      - canceled
      - failed
    Passenger:
      type: object
      description: Contact information for the ride passenger. The passenger does not need to have a Lyft account.
      required:
      - first_name
      - phone_number
      properties:
        first_name:
          type: string
          description: First name of the passenger.
        last_name:
          type: string
          description: Last name of the passenger.
        phone_number:
          type: string
          description: Phone number where the passenger can be reached. The passenger will receive ride status notifications via SMS at this number.
        email:
          type: string
          format: email
          description: Email address for the passenger.
  parameters:
    rideId:
      name: id
      in: path
      description: The unique identifier of the concierge ride.
      required: true
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 access token obtained through the client credentials flow for the organization's concierge API client.
externalDocs:
  description: Lyft Concierge API Documentation
  url: https://www.lyft.com/developers/products/concierge-api