> ## Documentation Index
> Fetch the complete documentation index at: https://zite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Update Records

> Updates up to 100 existing records in a single request using either table ID or table name.

Updates up to 100 existing records in one request using either the table ID or table name. Each record must include its `recordId`, and only the fields you provide are changed.

<Note>
  Use field names or field IDs as keys and field values as data (e.g., `"Email": "user@example.com"` or `"fwtJyga6dso": "user@example.com"`)
</Note>

## Limits

| Parameter | Type  | Required | Min | Max |
| --------- | ----- | -------- | --- | --- |
| `records` | array | Yes      | 1   | 100 |

Each item in `records` must include a `recordId` (the record's UUID) alongside the fields to update:

```json theme={null}
{
  "records": [
    { "recordId": "d4b3c2a3-c46b-46a1-a8ec-81b664bb41cb", "Priority": "low" },
    { "recordId": "a1b2c3d4-1234-5678-9abc-def012345678", "Email": "jane.smith@newco.com" }
  ]
}
```

<Note>Only provided fields are updated. To create records instead, use [Bulk Create Records](/help/database/api/bulk-create-records).</Note>


## OpenAPI

````yaml help/database/openapi.json PUT /bases/{databaseId}/tables/{tableId}/records/bulk
openapi: 3.0.1
info:
  title: Zite DB REST API
  description: >-
    A REST API for managing Zite databases, tables, fields, and records. Build
    database-driven applications with programmatic access to your structured
    data.


    ## What is REST API


    A **REST API** simplifies interaction with your database data, allowing for
    automation and integration. Following RESTful principles, it seamlessly
    connects to retrieve, create, and modify database data.


    ## Getting Started


    ### Authentication

    All API requests require authentication using your Zite API key in the
    Authorization header:

    ```

    Authorization: Bearer YOUR_API_KEY

    ```


    ### Base URL

    https://tables.zite.com/api/v1


    ### Rate Limits

    API requests are rate limited to ensure service quality. Standard rate
    limits apply to all endpoints.


    ### Error Handling

    The API returns standard HTTP status codes and JSON error responses with
    detailed error messages.
  version: 1.0.0
servers:
  - url: https://tables.zite.com/api/v1
    description: Zite DB API
security:
  - bearerAuth: []
tags:
  - name: Databases
    description: Operations for managing databases
  - name: Tables
    description: Operations for managing tables within databases
  - name: Fields
    description: Operations for managing fields within tables
  - name: Records
    description: Operations for managing records within tables
  - name: Webhooks
    description: >-
      Operations for managing webhook subscriptions to receive real-time
      notifications when database events occur
paths:
  /bases/{databaseId}/tables/{tableId}/records/bulk:
    put:
      tags:
        - Records
      summary: Bulk update records
      description: >-
        Updates up to 100 existing records in a single request. Each record must
        include its `recordId`, and only the provided fields are changed.
      operationId: bulkUpdateRecords
      parameters:
        - name: databaseId
          in: path
          required: true
          schema:
            type: string
          description: The unique identifier of the database
        - name: tableId
          in: path
          required: true
          schema:
            type: string
          description: >-
            The unique identifier of the table. You can also use the table name
            instead of the ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkUpdateRecordsRequest'
      responses:
        '200':
          description: Records updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkUpdateRecordsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    BulkUpdateRecordsRequest:
      type: object
      properties:
        records:
          type: array
          minItems: 1
          maxItems: 100
          description: >-
            Records to update (1-100). Each item must include the record's
            `recordId` (UUID) alongside the fields to change (field names or
            field IDs as keys). Only provided fields are updated.
          items:
            type: object
            additionalProperties: true
            properties:
              recordId:
                type: string
                format: uuid
                description: The UUID of the record to update
            required:
              - recordId
          example:
            - recordId: d4b3c2a3-c46b-46a1-a8ec-81b664bb41cb
              Priority: low
            - recordId: a1b2c3d4-1234-5678-9abc-def012345678
              Email: jane.smith@newco.com
      required:
        - records
      example:
        records:
          - recordId: d4b3c2a3-c46b-46a1-a8ec-81b664bb41cb
            Priority: low
          - recordId: a1b2c3d4-1234-5678-9abc-def012345678
            Email: jane.smith@newco.com
    BulkUpdateRecordsResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the bulk operation succeeded
        records:
          type: array
          items:
            $ref: '#/components/schemas/Record'
          description: The updated records
      required:
        - success
        - records
      example:
        success: true
        records:
          - id: d4b3c2a3-c46b-46a1-a8ec-81b664bb41cb
            data:
              vB3zXc7Hf2w: low
            fields:
              Name: John Doe
              Email: john@example.com
              Priority: low
            createdAt: '2025-11-13T11:59:45.000Z'
            updatedAt: '2025-11-14T09:12:03.000Z'
    Record:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique UUID identifier for the record
        data:
          type: object
          additionalProperties: true
          description: Record data with field IDs as keys
          example:
            fwtJyga6dso: John Doe
            k8mNp2xQ9rL: john.doe@newcompany.com
            vB3zXc7Hf2w: low
        fields:
          type: object
          additionalProperties: true
          description: Record data with field names as keys
          example:
            Name: John Doe
            Email: john.doe@newcompany.com
            Priority: low
        createdAt:
          type: string
          format: date-time
          description: ISO timestamp of when the record was created
        updatedAt:
          type: string
          format: date-time
          description: ISO timestamp of when the record was last updated
      required:
        - id
        - data
        - fields
        - createdAt
        - updatedAt
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code
            message:
              type: string
              description: Human-readable error message
          required:
            - code
            - message
      required:
        - error
  responses:
    BadRequest:
      description: Invalid request data or validation failure
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            invalidRecordId:
              value:
                error:
                  code: INVALID_RECORD_ID
                  message: Record ID is not in valid UUID format
            validationError:
              value:
                error:
                  code: BAD_REQUEST
                  message: Invalid request data or validation failure
    Unauthorized:
      description: Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: UNAUTHORIZED
              message: Invalid or missing API key
    NotFound:
      description: Requested resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: NOT_FOUND
              message: Requested resource does not exist
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Enter your Zite API key. Format: Bearer <api_key>'

````