---
title: "Update record values through an entry"
url: https://docs.gleap.ai/en/reference/rest-api/set-record-values
method: PUT
path: "/pipeline-entries/{entryId}/record-values"
api: "API Reference"
tag: "Pipeline entries"
operationId: "SetRecordValues"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Update record values through an entry

`PUT https://api.gleap.io/v3/pipeline-entries/{entryId}/record-values`

Update the company or contact behind an entry through the pipeline's RECORD fields. Keys are the `fieldId`s of fields with `source: 'RECORD'` (see GET /pipelines/{pipelineId}/properties); the value is written to the record itself, so every pipeline showing that attribute — and the record's own page — reflect it. `null` clears the attribute. A key that is not a writable record field of this pipeline is rejected with 400.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Path parameters

- `entryId` (string, required)

## Headers

- `project` (string, required)

## Request body (`application/json`, required)

- `values` (any): Values for the pipeline's RECORD fields, keyed by `fieldId` (see GET /pipelines/{pipelineId}/properties, `source: 'RECORD'`). Written through to the entry's company or contact; `null` clears the attribute. Primitive values only.

## Example request

```bash
curl --request PUT \
  --url 'https://api.gleap.io/v3/pipeline-entries/{entryId}/record-values' \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>' \
  --header 'Content-Type: application/json' \
  --data '{}'
```

## Responses

### 200 (`application/json`)

Ok

- `updatedAt` (string, required)
- `createdAt` (string, required)
- `laneChangedAt` (string<date-time>)
- `recordSnapshot` (object)
  - `subtitle` (string)
  - `externalId` (string)
  - `name` (string)
- `laneId` (string)
- `dueDate` (string<date-time>)
- `lexorank` (string)
- `createdBy` (object)
  - `isValid` (object)
  - `createFromHexString` (object)
  - `createFromTime` (object)
  - `generate` (object)
  - `cacheHexString` (any)
  - `prototype` (string)
- `recordId` (object, required)
  - `isValid` (object)
  - `createFromHexString` (object)
  - `createFromTime` (object)
  - `generate` (object)
  - `cacheHexString` (any)
  - `prototype` (string)
- `recordType` (enum<string>, required): What a pipeline holds. Persisted values — never rename a member, only add. One of: `COMPANY`, `CONTACT`.
- `pipeline` (object, required)
  - `isValid` (object)
  - `createFromHexString` (object)
  - `createFromTime` (object)
  - `generate` (object)
  - `cacheHexString` (any)
  - `prototype` (string)
- `project` (object, required)
  - `isValid` (object)
  - `createFromHexString` (object)
  - `createFromTime` (object)
  - `generate` (object)
  - `cacheHexString` (any)
  - `prototype` (string)
- `values` (any, required)
- `recordOwner` (string)
- `recordValues` (object): Construct a type with a set of properties K of type T
- `_id` (string, required)

```json
{
  "updatedAt": "string",
  "createdAt": "string",
  "laneChangedAt": "2026-01-01T12:00:00Z",
  "recordSnapshot": {
    "subtitle": "string",
    "externalId": "string",
    "name": "string"
  },
  "laneId": "string",
  "dueDate": "2026-01-01T12:00:00Z",
  "lexorank": "string",
  "createdBy": {
    "isValid": {},
    "createFromHexString": {},
    "createFromTime": {},
    "generate": {}
  },
  "recordId": {
    "isValid": {},
    "createFromHexString": {},
    "createFromTime": {},
    "generate": {}
  },
  "recordType": "COMPANY",
  "pipeline": {
    "isValid": {},
    "createFromHexString": {},
    "createFromTime": {},
    "generate": {}
  },
  "project": {
    "isValid": {},
    "createFromHexString": {},
    "createFromTime": {},
    "generate": {}
  },
  "recordOwner": "string",
  "recordValues": {},
  "_id": "string"
}
```
