---
title: "[beta] Update a qualification record."
method: PATCH
path: "/qualification-records"
tags: ["Beta APIs"]
---

# \[beta\] Update a qualification record.

`PATCH /qualification-records`

## Request

- Base URL: `https://api.samsara.com`
- URL: `https://api.samsara.com/qualification-records`
- Auth: HTTP bearer

Updates an existing qualification record.

 <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 Qualification Records** under the Qualification Records 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.

## Request body

- QualificationsPatchQualificationRecordRequestBody: Qualification record fields to update. All fields except id are optional.
  - `expirationDate` string, date-time: Expiration date. UTC timestamp in RFC 3339 format. Set to '1970-01-01T00:00:00Z' to clear existing expiration date.
  - `externalIds` object: A map of external ids
  - `fields` QualificationRecordRequestFieldInputObjectRequestBody[]: Other custom fields in a qualification record. Only set fields that needs to be updated.
    - `checkBoxesValue` FormSubmissionRequestCheckBoxesValueObjectRequestBody: The value of a check boxes form input field. Only valid for check boxes form input fields.
      - `valueIds` string[], required
    - `dateTimeValue` FormSubmissionRequestDateTimeValueObjectRequestBody: The value of a datetime form input field. Only valid for datetime form input fields.
      - `value` string, date-time, required: The value of the user generated date/time field response. UTC timestamp in RFC 3339 format.
    - `id` string, uuid, required: ID of the qualification input field object.
    - `mediaValue` FormSubmissionRequestMediaValueObjectRequestBody: The value of a media form input field. Only valid for media form input fields.
      - `mediaList` FormSubmissionRequestMediaItemObjectRequestBody[], required: List of media items.
        - `base64Payload` string, required: Base64-encoded binary content of the media.
        - `mediaType` string, required: MIME type of the media.
    - `multipleChoiceValue` FormSubmissionRequestMultipleChoiceValueObjectRequestBody: The value of a multiple choice form input field. Only valid for multiple choice form input fields.
      - `valueId` string, uuid, required
    - `numberValue` FormSubmissionRequestNumberValueObjectRequestBody: The value of a number form input field. Only valid for number form input fields.
      - `value` number, double, required
    - `signatureValue` FormSubmissionRequestSignatureValueObjectRequestBody: The value of a signature form input field. Only valid for signature form input fields.
      - `media` FormSubmissionRequestMediaItemObjectRequestBody, required: A media item in a form submission request.
        - `base64Payload` string, required: Base64-encoded binary content of the media.
        - `mediaType` string, required: MIME type of the media.
    - `tableValue` FormSubmissionRequestTableValueObjectRequestBody: The value of a table form input field. Only valid for table form input fields.
      - `rows` FormSubmissionRequestTableRowObjectRequestBody[], required: List of rows in the table.
        - `cells` FormSubmissionRequestTableCellObjectRequestBody[], required: List of cells in the row.
          - `barcodeValue` FormSubmissionRequestBarcodeValueObjectRequestBody: The value of a barcode form input field. Only valid for barcode form input fields.
            - `barcodes` FormSubmissionRequestBarcodeObjectRequestBody[], required: List of barcode entries.
              - …
          - `checkBoxesValue` FormSubmissionRequestCheckBoxesValueObjectRequestBody: The value of a check boxes form input field. Only valid for check boxes form input fields.
            - `valueIds` string[], required
          - `dateTimeValue` FormSubmissionRequestDateTimeValueObjectRequestBody: The value of a datetime form input field. Only valid for datetime form input fields.
            - `value` string, date-time, required: The value of the user generated date/time field response. UTC timestamp in RFC 3339 format.
          - `id` string, uuid, required: Unique identifier for the cell.
          - `multipleChoiceValue` FormSubmissionRequestMultipleChoiceValueObjectRequestBody: The value of a multiple choice form input field. Only valid for multiple choice form input fields.
            - `valueId` string, uuid, required
          - `numberValue` FormSubmissionRequestNumberValueObjectRequestBody: The value of a number form input field. Only valid for number form input fields.
            - `value` number, double, required
          - `personValue` FormSubmissionRequestPersonValueObjectRequestBody: The value of an person form input field. Only valid for person form input fields.
            - `person` FormSubmissionRequestPersonObjectRequestBody, required: Person object.
              - …
          - `textValue` FormSubmissionRequestTextValueObjectRequestBody: The value of a text form input field. Only valid for text form input fields.
            - `value` string, required
          - `type` 'number' | 'text' | 'multiple_choice' | 'check_boxes' | 'datetime' | 'person' | 'barcode', required: Type of the cell field. Valid values: `number`, `text`, `multiple_choice`, `check_boxes`, `datetime`, `person`, `barcode`
        - `id` string, uuid, required: Unique identifier for the row.
    - `textValue` FormSubmissionRequestTextValueObjectRequestBody: The value of a text form input field. Only valid for text form input fields.
      - `value` string, required
    - `type` 'number' | 'text' | 'multiple_choice' | 'check_boxes' | 'datetime' | 'table' | 'media' | 'signature', required: Type of the qualification field. Valid values: `number`, `text`, `multiple_choice`, `check_boxes`, `datetime`, `table`, `media`, `signature`
  - `id` string, required: ID of the qualification record to update.
  - `issueDate` string, date-time: Issue/effective date. UTC timestamp in RFC 3339 format.
  - `owner` QualificationOwnerRequestObjectRequestBody: Owner of the qualification record.
    - `entityType` 'worker' | 'asset', required: Owner entity type Valid values: `worker`, `asset`
    - `id` string, required: ID of the owner (worker/asset)

## Response `200`

OK response.

- QualificationsPatchQualificationRecordResponseBody
  - `data` QualificationRecordResponseObjectResponseBody, required: Qualification Record response object.
    - `createdAtTime` string, date-time, required: Creation time. UTC timestamp in RFC 3339 format.
    - `createdBy` FormsPolymorphicUserObjectResponseBody, required: User or driver object.
      - `id` string, required: ID of the polymorphic user.
      - `type` 'driver' | 'user', required: The type of the polymorphic user. Valid values: `driver`, `user`
    - `expirationDate` string, date-time: Expiration date. UTC timestamp in RFC 3339 format.
    - `externalIds` object: A map of external ids
    - `fields` QualificationFieldInputObjectResponseBody[], required: List of field inputs in a qualification record.
      - `checkBoxesValue` FormsCheckBoxesValueObjectResponseBody: The value of a check boxes form input field.
        - `value` string[], required: List of selected options.
        - `valueIds` string[], required: List of selected option IDs.
      - `dateTimeValue` FormsDateTimeValueObjectResponseBody: The value of a datetime form input field.
        - `dateValue` string, date: Calendar date in YYYY-MM-DD format in the stored field timezone. Present when type is `date` (date-only fields).
        - `type` 'datetime' | 'date' | 'time', required: The type of datetime format. Valid values: `datetime`, `date`, `time`
        - `value` string, date-time, required: UTC timestamp in RFC 3339 format.
      - `id` string, uuid, required: ID of the qualification input field object.
      - `label` string: Qualification input field label.
      - `mediaList` FormsMediaRecordObjectResponseBody[]: List of qualification media record objects.
        - `id` string, uuid, required: ID of the media record.
        - `processingStatus` 'unknown' | 'processing' | 'finished', required: Status of the media record. Valid values: `unknown`, `processing`, `finished`
        - `url` string, uri: URL containing a link to associated media content. Included if 'processingStatus' is 'finished'.
        - `urlExpiresAt` string, date-time: Expiration time of the media record 'url'. UTC timestamp in RFC 3339 format.
      - `multipleChoiceValue` FormsMultipleChoiceValueObjectResponseBody: The value of a multiple choice form input field.
        - `value` string, required: Selected option.
        - `valueId` string, required: ID of the selected option.
      - `numberValue` FormsNumberValueObjectResponseBody: The value of a number form input field.
        - `value` number, double, required: Number value.
      - `signatureValue` FormsSignatureValueObjectResponseBody: The value of a signature form input field.
        - `media` FormsMediaRecordObjectResponseBody, required: Forms media record object.
          - `id` string, uuid, required: ID of the media record.
          - `processingStatus` 'unknown' | 'processing' | 'finished', required: Status of the media record. Valid values: `unknown`, `processing`, `finished`
          - `url` string, uri: URL containing a link to associated media content. Included if 'processingStatus' is 'finished'.
          - `urlExpiresAt` string, date-time: Expiration time of the media record 'url'. UTC timestamp in RFC 3339 format.
      - `tableValue` FormsTableValueObjectResponseBody: The value of a table form input field.
        - `columns` FormsTableColumnObjectResponseBody[], required: List of table columns.
          - `id` string, uuid, required: Unique identifier for the column.
          - `label` string, required: Label of the column.
          - `type` 'text' | 'number' | 'datetime' | 'check_boxes' | 'multiple_choice' | 'signature' | 'media' | 'person' | 'barcode', required: Type of the column field. Valid values: `text`, `number`, `datetime`, `check_boxes`, `multiple_choice`, `signature`, `media`, `person`, `barcode`
        - `rows` FormsTableRowObjectResponseBody[], required: List of table rows.
          - `cells` FormsTableCellObjectResponseBody[], required: List of cells in the row.
            - `barcodeValue` FormsBarcodeValueObjectResponseBody: The value of a barcode form input field.
              - …
            - `checkBoxesValue` FormsCheckBoxesValueObjectResponseBody: The value of a check boxes form input field.
              - …
            - `dateTimeValue` FormsDateTimeValueObjectResponseBody: The value of a datetime form input field.
              - …
            - `id` string, uuid, required: Unique identifier for the cell.
            - `mediaValue` FormsMediaValueObjectResponseBody: The value of a media form input field.
              - …
            - `multipleChoiceValue` FormsMultipleChoiceValueObjectResponseBody: The value of a multiple choice form input field.
              - …
            - `numberValue` FormsNumberValueObjectResponseBody: The value of a number form input field.
              - …
            - `personValue` FormsPersonValueObjectResponseBody: The value of a person form input field.
              - …
            - `signatureValue` FormsSignatureValueObjectResponseBody: The value of a signature form input field.
              - …
            - `textValue` FormsTextValueObjectResponseBody: The value of a text form input field.
              - …
            - `type` 'number' | 'text' | 'multiple_choice' | 'check_boxes' | 'datetime' | 'signature' | 'media' | 'person' | 'barcode', required: Type of the cell field. Valid values: `number`, `text`, `multiple_choice`, `check_boxes`, `datetime`, `signature`, `media`, `person`, `barcode`
          - `id` string, uuid, required: Unique identifier for the row.
      - `textValue` FormsTextValueObjectResponseBody: The value of a text form input field.
        - `value` string, required: Text value.
      - `type` 'number' | 'text' | 'multiple_choice' | 'check_boxes' | 'datetime' | 'signature' | 'media' | 'table', required: Type of the qualification field. Valid values: `number`, `text`, `multiple_choice`, `check_boxes`, `datetime`, `signature`, `media`, `table`
    - `id` string, required: ID of the qualification record.
    - `issueDate` string, date-time, required: Issue/effective date. UTC timestamp in RFC 3339 format.
    - `owner` QualificationOwnerObjectResponseBody, required: Owner of the qualification record.
      - `entityType` 'worker' | 'asset', required: Owner entity type Valid values: `worker`, `asset`
      - `externalIds` object: A map of external ids
      - `id` string, required: ID of the owner (worker/asset)
    - `qualificationType` QualificationTypeReferenceObjectResponseBody, required: Qualification type (form template) reference.
      - `id` string, uuid, required: ID of the qualification type (template UUID)
      - `name` string: Name of the qualification type
      - `revisionId` string, uuid: ID of the qualification type revision (template revision UUID)
    - `recordStatus` 'active' | 'archived' | 'deleted', required: Status of the qualification record. Valid values: `active`, `archived`, `deleted`
    - `updatedAtTime` string, date-time, required: Last updated time. UTC timestamp in RFC 3339 format.
    - `updatedBy` FormsPolymorphicUserObjectResponseBody, required: User or driver object.
      - `id` string, required: ID of the polymorphic user.
      - `type` 'driver' | 'user', required: The type of the polymorphic user. Valid values: `driver`, `user`

## 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)
