---
title: "[beta] Update a ridership passenger."
method: PUT
path: "/ridership/passengers"
tags: ["Beta APIs"]
---

# \[beta\] Update a ridership passenger.

`PUT /ridership/passengers`

## Request

- Base URL: `https://api.samsara.com`
- URL: `https://api.samsara.com/ridership/passengers`
- Auth: HTTP bearer

Update a passenger by Samsara UUID or external ID, such as `student:STU-001`. The response includes the passenger's external IDs.

Both first and last name are required. Include the values you want to keep:
- Omitted classification, special instructions, identifiers, and external IDs are cleared.
- Omitted tags are kept. Send `tagIds: []` to remove them.

 <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).

To use this endpoint, select **Write Ridership** under the Ridership category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
 

 **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.

## Query parameters

- `id` string, required

## Request body

- RidershipPassengersUpdateRidershipPassengerRequestBody
  - `classification` 'unknown' | 'pk1' | 'pk2' | 'pk3' | 'pk4' | 'k' | 'grade1' | 'grade2' | 'grade3' | 'grade4' | 'grade5' | 'grade6' | 'grade7' | 'grade8' | 'grade9' | 'grade10' | 'grade11' | 'grade12': Passenger grade level: `pk1`–`pk4` are pre-kindergarten categories, `k` is kindergarten, and `grade1`–`grade12` are grades 1–12. Use `unknown` when the grade level is not known. Valid values: `unknown`, `pk1`, `pk2`, `pk3`, `pk4`, `k`, `grade1`, `grade2`, `grade3`, `grade4`, `grade5`, `grade6`, `grade7`, `grade8`, `grade9`, `grade10`, `grade11`, `grade12`
  - `externalIds` object: Customer-defined IDs that link this passenger to another system, such as {"student": "STU-001"}.
  - `firstName` string, required: Passenger's first name. Maximum 100 characters.
  - `identifiers` RidershipPassengerIdentifierInputRequestBody[]: Identifiers used to recognize the passenger, such as RFID card values. Maximum 10.
    - `status` 'active' | 'inactive' | 'unknown', required: Whether the identifier is active or inactive. Defaults to `active`. Valid values: `active`, `inactive`, `unknown`
    - `type` 'rfid' | 'unknown', required: The type of identifier. Valid values: `rfid`, `unknown`
    - `value` string, required: Value of the identifier, such as the value read from an RFID card.
  - `lastName` string, required: Passenger's last name. Maximum 100 characters.
  - `specialInstructions` RidershipPassengerSpecialInstructionsInputRequestBody: Special handling flags for the passenger. Omitted flags default to false.
    - `isGuardianRequired` boolean: Whether a guardian is required for the passenger.
    - `isSpecialEducation` boolean: Whether the passenger requires special education accommodations.
  - `tagIds` string[]: Replaces the passenger's tags with up to 10 Samsara tag IDs; external IDs are not supported here. Omit to keep existing tags, or send `[]` to remove all tags. If your API token is restricted to certain tags, tags outside its scope are kept and can't be added.

## Response `200`

OK response.

- RidershipPassengersUpdateRidershipPassengerResponseBody
  - `data` RidershipPassengerObjectResponseBody, required: A passenger and their ridership details.
    - `classification` string: Passenger grade level: `pk1`–`pk4` are pre-kindergarten categories, `k` is kindergarten, and `grade1`–`grade12` are grades 1–12.
    - `createdAtTime` string, required: The time the passenger was created in RFC 3339 format.
    - `externalIds` object: Customer-defined IDs that link this passenger to another system, such as {"student": "STU-001"}.
    - `firstName` string, required: First name of the passenger.
    - `id` string, required: The unique Samsara ID of the passenger.
    - `identifiers` RidershipPassengerIdentifierObjectResponseBody[]: List of identifiers associated with the passenger.
      - `id` string, required: The unique Samsara ID of the identifier.
      - `status` 'active' | 'inactive' | 'unknown', required: Whether the identifier is active or inactive. Valid values: `active`, `inactive`, `unknown`
      - `type` 'rfid' | 'unknown', required: The type of identifier. Valid values: `rfid`, `unknown`
      - `value` string, required: Value of the identifier, such as the value read from an RFID card.
    - `isActive` boolean, required: Whether the passenger is active.
    - `lastName` string, required: Last name of the passenger.
    - `specialInstructions` RidershipPassengerSpecialInstructionsObjectResponseBody: Special instructions for the passenger.
      - `isGuardianRequired` boolean: Whether a guardian is required for the passenger.
      - `isSpecialEducation` boolean: Whether the passenger requires special education accommodations.
    - `tagIds` string[]: Samsara IDs of the tags assigned to this passenger.
    - `updatedAtTime` string, required: The time the passenger was last updated in RFC 3339 format.

## Other responses

- `401`: Unauthorized response.
- `404`: Not Found response.
- `405`: Method Not Allowed response.
- `413`: Content Too Large response.
- `429`: Too Many Requests response.
- `500`: Internal Server Error response.
- `501`: Not Implemented response.
- `502`: Bad Gateway response.
- `503`: Service Unavailable response.
- `504`: Gateway Timeout response.
- `default`: Bad Request response.

---

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