MENU
    Update a record of a Tulip Table
    • 04 Mar 2025
    • 3 Minutes to read
    • Contributors

    Update a record of a Tulip Table


    Article summary

    Put
    /tables/{tableId}/records/{recordId}

    Updates the fields of a record in a Tulip Table by the record id. The record's _updatedAt field will be updated to the current time.

    Requires the tables:write API key scope.

    Security
    HTTP
    Type basic

    Access to the Tulip API requires the use of HTTP Basic Authentication using the credentials of an active Tulip API Token. All requests require the Authorization HTTP header with the Basic scheme to provide API credentials unless otherwise noted.

    API tokens can be configured with a set of scopes which determine what parts of the API that specific token has access to. Security best practices dictate that API credentials be given the minimum set of capabilities required to fulfill their intended purpose. For example, an API token created for use in an integration that is only designed to use the Tables API should probably only be given the tables:read and tables:write scopes. In this way you can minimize risk in the event that API credentials are compromised. API endpoints will document what API token scopes are required to access that endpoint in their descriptions. If a request is made to an endpoint with an API token which does not have the required scopes, the response will be an authorization error.

    Header parameters
    X-Tulip-Number-Format
    string

    The format that Tulip should use in the response when formatting Tulip numbers. If omitted or set to float, Tulip will format numbers as JSON numbers. If set to decimal, Tulip will format numbers as strings representing the decimal representation of the number, like "1.20". Tulip will only output trailing zeros when using decimal formatting.

    This header only affects the response format. The value written is determined solely by the request body (see body description).

    Note that this header only affects Tulip numbers. Other types, including Tulip integers, are unaffected.

    Valid values[ "decimal", "float" ]
    Default"float"
    Path parameters
    tableId
    stringRequired

    The id of a Tulip Table.

    Pattern^[a-zA-Z0-9_]+$
    Exampleg56RCoZCtzv7borvp
    recordId
    stringRequired

    The id of a Tulip Table record.

    Pattern^[\S]+( +[\S]+)*$
    Examplea record id
    Body parameters

    The updated Tulip Table record. The field names must match column names of the Table. Any fields not included in the request will not be updated. The id field may be included, but its value must match the existing id of the record.

    For Tulip number fields (not integer fields), you may specify values as either JSON numbers or strings. If specifying numbers as strings, they must be of format "[-]xx[.yyy]". This corresponds to the JSON number format, except that the exponent component is not allowed (in other words, you cannot use scientific notation). Numbers specified as strings will be stored with full allowed precision (up to 20 digits to the right of the decimal place), including trailing zeros. Numbers specified as JSON numbers will not include trailing zeros.

    object
    Responses
    200

    The Tulip Table record was updated successfully. The details of the updated Table record are returned in the response.

    object

    A single record stored in a Tulip Table. The record object will include the names and values of all columns of the Table that are not hidden, in addition to the record's sequence number, created timestamp, and last updated timestamp.

    Example{ "_sequenceNumber": 15, "_createdAt": "2019-02-08T20:16:31Z", "_updatedAt": "2019-02-08T20:16:31Z", "id": "bike-a", "ahvbb_model_number": "AAA", "auznd_color": "blue", "irrip_completed": true, "umiyk_durability_test_duration": 123000 }
    _sequenceNumber
    integer

    A monotonically increasing unique identifier for this record.

    _createdAt
    string (date-time)
    _updatedAt
    string (date-time)
    400

    The request was malformed. This could mean that headers, query parameters, or the request body was unable to be parsed or had unexpected values.

    object
    errorCode
    string
    errorUniqueID
    string
    Pattern^[a-zA-Z0-9+/]+$
    Exampleaq21mSKC1rbO87TjC/4Hz2EJHd/v+jxf7MtC315vo0Y
    details
    string
    401

    The request was made unauthorized. HTTP Basic Authorization using a Tulip API Key is required for use of the API.

    object
    errorCode
    string
    errorUniqueID
    string
    Pattern^[a-zA-Z0-9+/]+$
    Exampleaq21mSKC1rbO87TjC/4Hz2EJHd/v+jxf7MtC315vo0Y
    details
    string
    403

    The provided authentication info was rejected. The response will provide additional details.

    object
    errorCode
    string
    errorUniqueID
    string
    Pattern^[a-zA-Z0-9+/]+$
    Exampleaq21mSKC1rbO87TjC/4Hz2EJHd/v+jxf7MtC315vo0Y
    details
    string
    404

    The requested database entry was not found.

    object
    errorCode
    string
    errorUniqueID
    string
    Pattern^[a-zA-Z0-9+/]+$
    Exampleaq21mSKC1rbO87TjC/4Hz2EJHd/v+jxf7MtC315vo0Y
    details
    string
    422

    The request was malformed. This could mean that headers, query parameters, or the request body was unable to be parsed or had unexpected values.

    object
    errorCode
    string
    errorUniqueID
    string
    Pattern^[a-zA-Z0-9+/]+$
    Exampleaq21mSKC1rbO87TjC/4Hz2EJHd/v+jxf7MtC315vo0Y
    details
    string
    500

    The server encountered an unexpected error.

    object
    errorCode
    string
    errorUniqueID
    string
    Pattern^[a-zA-Z0-9+/]+$
    Exampleaq21mSKC1rbO87TjC/4Hz2EJHd/v+jxf7MtC315vo0Y
    details
    string

    Was this article helpful?