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

# Update multiple records

> Update multiple records in a single request with support for field value typecast and record reordering.



## OpenAPI

````yaml /swagger.json patch /table/{tableId}/record
openapi: 3.0.0
info:
  version: 1.0.0
  title: Teable App
  description: Manage Data as easy as drink a cup of tea
  x-logo:
    backgroundColor: '#F0F0F0'
    altText: Teable logo
servers:
  - url: https://app.teable.ai/api
security: []
paths:
  /table/{tableId}/record:
    patch:
      tags:
        - record
      summary: Update multiple records
      description: >-
        Update multiple records in a single request with support for field value
        typecast and record reordering.
      parameters:
        - schema:
            type: string
          required: true
          name: tableId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fieldKeyType:
                  type: string
                  enum:
                    - id
                    - name
                    - dbFieldName
                  default: name
                  description: >-
                    Define the key type of record.fields[key], You can click
                    "systemInfo" in the field edit box to get fieldId or enter
                    the table design screen with all the field details
                typecast:
                  type: boolean
                  description: >-
                    Automatic data conversion from cellValues if the typecast
                    parameter is passed in. Automatic conversion is disabled by
                    default to ensure data integrity, but it may be helpful for
                    integrating with 3rd party data sources.
                records:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      fields:
                        type: object
                        additionalProperties:
                          nullable: true
                        description: >-
                          Objects with a fields key mapping fieldId or field
                          name to value for that field.
                    required:
                      - id
                      - fields
                order:
                  type: object
                  properties:
                    viewId:
                      type: string
                      description: >-
                        You can only specify order in one view when create
                        record (will create a order index automatically)
                    anchorId:
                      type: string
                      description: The record id to anchor to
                    position:
                      type: string
                      enum:
                        - before
                        - after
                  required:
                    - viewId
                    - anchorId
                    - position
                  description: Where this record to insert to (Optional)
              required:
                - records
              description: Multiple Update records
      responses:
        '200':
          description: Returns the records data after update.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      description: The record id.
                    name:
                      type: string
                      description: primary field value
                    fields:
                      type: object
                      additionalProperties:
                        nullable: true
                      description: >-
                        Objects with a fields key mapping fieldId or field name
                        to value for that field.
                    autoNumber:
                      type: number
                      description: Auto number, a unique identifier for each record
                    createdTime:
                      type: string
                      description: Created time, date ISO string (new Date().toISOString).
                    lastModifiedTime:
                      type: string
                      description: >-
                        Last modified time, date ISO string (new
                        Date().toISOString).
                    createdBy:
                      type: string
                      description: Created by, user name
                    lastModifiedBy:
                      type: string
                      description: Last modified by, user name
                    permissions:
                      type: object
                      additionalProperties:
                        type: object
                        additionalProperties:
                          type: boolean
                      description: Permissions for the record
                    undeletable:
                      type: boolean
                      description: Whether the record is undeletable
                  required:
                    - id
                    - fields
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: Shell
          source: |-
            curl --request PATCH \
              --url https://app.teable.ai/api/table/%7BtableId%7D/record \
              --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
              --header 'content-type: application/json' \
              --data '{"fieldKeyType":"id","typecast":true,"records":[{"id":"string","fields":{"property1":null,"property2":null}}],"order":{"viewId":"string","anchorId":"string","position":"before"}}'
        - lang: JavaScript
          source: |-
            const url = 'https://app.teable.ai/api/table/%7BtableId%7D/record';
            const options = {
              method: 'PATCH',
              headers: {
                Authorization: 'Bearer REPLACE_BEARER_TOKEN',
                'content-type': 'application/json'
              },
              body: '{"fieldKeyType":"id","typecast":true,"records":[{"id":"string","fields":{"property1":null,"property2":null}}],"order":{"viewId":"string","anchorId":"string","position":"before"}}'
            };

            try {
              const response = await fetch(url, options);
              const data = await response.json();
              console.log(data);
            } catch (error) {
              console.error(error);
            }
        - lang: Node.js
          source: |-
            const http = require('https');

            const options = {
              method: 'PATCH',
              hostname: 'app.teable.ai',
              port: null,
              path: '/api/table/%7BtableId%7D/record',
              headers: {
                Authorization: 'Bearer REPLACE_BEARER_TOKEN',
                'content-type': 'application/json'
              }
            };

            const req = http.request(options, function (res) {
              const chunks = [];

              res.on('data', function (chunk) {
                chunks.push(chunk);
              });

              res.on('end', function () {
                const body = Buffer.concat(chunks);
                console.log(body.toString());
              });
            });

            req.write(JSON.stringify({
              fieldKeyType: 'id',
              typecast: true,
              records: [{id: 'string', fields: {property1: null, property2: null}}],
              order: {viewId: 'string', anchorId: 'string', position: 'before'}
            }));
            req.end();
        - lang: Python
          source: >-
            import http.client


            conn = http.client.HTTPSConnection("app.teable.ai")


            payload =
            "{\"fieldKeyType\":\"id\",\"typecast\":true,\"records\":[{\"id\":\"string\",\"fields\":{\"property1\":null,\"property2\":null}}],\"order\":{\"viewId\":\"string\",\"anchorId\":\"string\",\"position\":\"before\"}}"


            headers = {
                'Authorization': "Bearer REPLACE_BEARER_TOKEN",
                'content-type': "application/json"
            }


            conn.request("PATCH", "/api/table/%7BtableId%7D/record", payload,
            headers)


            res = conn.getresponse()

            data = res.read()


            print(data.decode("utf-8"))
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````