---
updatedAt: 2026-05-26T09:23:47.000Z
agentTools:
  projectIndex: https://developers.livestorm.co/llms.txt
---

# Update a contact in a session

Update a contact's registration data for a specific session. This endpoint allows updating UTM tracking data (referrer, utm_source, utm_medium, etc.) and custom registration fields. Protected fields like email cannot be modified.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Livestorm - Public API",
    "description": "Welcome to Livestorm's Public API documentation.\nThe Livestorm API is organized around REST principles.\nIn addition, all request and response bodies, including errors, are encoded in JSON format.\n",
    "termsOfService": "https://livestorm.co/terms/",
    "contact": {
      "name": "Contact",
      "url": "https://support.livestorm.co",
      "email": "help@livestorm.co"
    },
    "version": "1"
  },
  "servers": [
    {
      "url": "https://{defaultHost}",
      "variables": {
        "defaultHost": {
          "default": "api.localhost/v1"
        }
      }
    }
  ],
  "components": {
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      },
      "oauth2": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "/oauth/authorize",
            "tokenUrl": "/oauth/token",
            "scopes": {
              "full:read": "Grants read access",
              "full:write": "Grants write access"
            }
          }
        }
      }
    },
    "schemas": {
      "BaseResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID"
          },
          "type": {
            "type": "string",
            "description": "Type"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Sessions"
    }
  ],
  "paths": {
    "/sessions/{period_id}/people/{id}": {
      "patch": {
        "summary": "Update a contact in a session",
        "tags": [
          "Sessions"
        ],
        "description": "Update a contact's registration data for a specific session. This endpoint allows updating UTM tracking data (referrer, utm_source, utm_medium, etc.) and custom registration fields. Protected fields like email cannot be modified.",
        "security": [
          {
            "api_key": []
          },
          {
            "oauth2": []
          }
        ],
        "parameters": [
          {
            "name": "period_id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "description": "Session ID",
            "required": true
          },
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "description": "Contact (Person) ID",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Contact updated with custom fields",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/BaseResponse"
                        },
                        {
                          "type": "object",
                          "description": "Data",
                          "properties": {
                            "attributes": {
                              "type": "object",
                              "description": "Attributes",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "x-nullable": false,
                                  "description": "Role of the person (participant or team_member)"
                                },
                                "created_at": {
                                  "type": "integer",
                                  "x-nullable": true,
                                  "description": "Creation timestamp"
                                },
                                "updated_at": {
                                  "type": "integer",
                                  "x-nullable": true,
                                  "description": "Last update timestamp"
                                },
                                "timezone": {
                                  "type": "string",
                                  "x-nullable": true,
                                  "description": "Person's timezone"
                                },
                                "first_name": {
                                  "type": "string",
                                  "x-nullable": true,
                                  "description": "First name"
                                },
                                "last_name": {
                                  "type": "string",
                                  "x-nullable": true,
                                  "description": "Last name"
                                },
                                "email": {
                                  "type": "string",
                                  "x-nullable": true,
                                  "description": "Email address"
                                },
                                "avatar_link": {
                                  "type": "string",
                                  "x-nullable": true,
                                  "description": "Avatar URL"
                                },
                                "registrant_detail": {
                                  "type": "object",
                                  "x-nullable": true,
                                  "description": "Session-specific registration details",
                                  "properties": {
                                    "event_id": {
                                      "type": "string",
                                      "x-nullable": false,
                                      "description": "Event ID"
                                    },
                                    "session_id": {
                                      "type": "string",
                                      "x-nullable": false,
                                      "description": "Session ID"
                                    },
                                    "created_at": {
                                      "type": "integer",
                                      "x-nullable": false,
                                      "description": "Registration timestamp"
                                    },
                                    "updated_at": {
                                      "type": "integer",
                                      "x-nullable": false,
                                      "description": "Last update timestamp"
                                    },
                                    "referrer": {
                                      "type": "string",
                                      "x-nullable": true,
                                      "description": "Referrer URL"
                                    },
                                    "utm_source": {
                                      "type": "string",
                                      "x-nullable": true,
                                      "description": "UTM source parameter"
                                    },
                                    "utm_medium": {
                                      "type": "string",
                                      "x-nullable": true,
                                      "description": "UTM medium parameter"
                                    },
                                    "utm_term": {
                                      "type": "string",
                                      "x-nullable": true,
                                      "description": "UTM term parameter"
                                    },
                                    "utm_content": {
                                      "type": "string",
                                      "x-nullable": true,
                                      "description": "UTM content parameter"
                                    },
                                    "utm_campaign": {
                                      "type": "string",
                                      "x-nullable": true,
                                      "description": "UTM campaign parameter"
                                    },
                                    "fields": {
                                      "type": "array",
                                      "x-nullable": false,
                                      "description": "Custom registration fields",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "x-nullable": false,
                                            "description": "Field slug identifier"
                                          },
                                          "type": {
                                            "type": "string",
                                            "x-nullable": false,
                                            "description": "Field type"
                                          },
                                          "value": {
                                            "x-nullable": true,
                                            "description": "Field value (string or array for multi-select)",
                                            "oneOf": [
                                              {
                                                "type": "string"
                                              },
                                              {
                                                "type": "array",
                                                "items": {
                                                  "type": "string"
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  }
                                },
                                "messages_count": {
                                  "type": "integer",
                                  "x-nullable": false,
                                  "description": "Number of messages sent"
                                },
                                "questions_count": {
                                  "type": "integer",
                                  "x-nullable": false,
                                  "description": "Number of questions asked"
                                },
                                "votes_count": {
                                  "type": "integer",
                                  "x-nullable": false,
                                  "description": "Number of votes cast"
                                },
                                "up_votes_count": {
                                  "type": "integer",
                                  "x-nullable": false,
                                  "description": "Number of upvotes received"
                                }
                              }
                            }
                          }
                        }
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ]
                },
                "examples": {
                  "application/vnd.api+json": {
                    "value": {
                      "data": {
                        "id": "51939dae-eb26-48f4-a75d-222a5e096360",
                        "type": "people",
                        "attributes": {
                          "created_at": 1779785374,
                          "updated_at": 1779785375,
                          "timezone": "Europe/Berlin",
                          "first_name": "Earlene-13",
                          "last_name": "Denesik-13",
                          "email": "13-anastacia.hintz@balistreri.test",
                          "messages_count": 0,
                          "questions_count": 0,
                          "votes_count": 0,
                          "up_votes_count": 0,
                          "role": "participant",
                          "avatar_link": null,
                          "replay_view_detail": null,
                          "registrant_detail": {
                            "event_id": "ef56a2e6-932c-40ac-bc2b-b937cd062a58",
                            "fields": [],
                            "session_id": "1e92d967-8d86-41b1-8404-76ae03086224",
                            "created_at": 1779785376,
                            "updated_at": 1779785376,
                            "referrer": "https://example.com",
                            "utm_source": "google",
                            "utm_medium": "cpc",
                            "utm_term": null,
                            "utm_content": null,
                            "utm_campaign": "spring_2024",
                            "browser_version": "84.0.4147.89",
                            "browser_name": "Chrome",
                            "os_name": "Macintosh",
                            "os_version": "10.15.5",
                            "screen_height": null,
                            "screen_width": null,
                            "ip_city": null,
                            "ip_country_code": null,
                            "ip_country_name": null,
                            "attended": false,
                            "attendance_rate": null,
                            "attendance_duration": 0,
                            "has_viewed_replay": false,
                            "is_highlighted": false,
                            "is_guest_speaker": false,
                            "password_key": "ca7623e2506ea622637556",
                            "connection_link": "https://app.livestorm.co/p/ef56a2e6-932c-40ac-bc2b-b937cd062a58/live?email=13-anastacia.hintz%40balistreri.test&key=ca7623e2506ea622637556&s=1e92d967-8d86-41b1-8404-76ae03086224",
                            "registration_type": "detailed",
                            "session_role": null
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "headers": {
              "RateLimit-Monthly-Remaining": {
                "schema": {
                  "type": "integer"
                },
                "description": "The number of requests remaining for the current month"
              },
              "RateLimit-Monthly-Limit": {
                "schema": {
                  "type": "integer"
                },
                "description": "The number of allowed requests for the current month"
              },
              "RateLimit-Interval-Remaining": {
                "schema": {
                  "type": "integer"
                },
                "description": "The number of requests remaining for the current rate limit window (1 second)"
              },
              "RateLimit-Interval-Limit": {
                "schema": {
                  "type": "integer"
                },
                "description": "The number of allowed requests for the current period (1 second)"
              }
            }
          },
          "403": {
            "description": "Workspace blocked",
            "content": {}
          },
          "404": {
            "description": "Contact not found",
            "content": {}
          },
          "429": {
            "description": "Too Many Requests",
            "content": {},
            "headers": {
              "RateLimit-Interval-Limit": {
                "schema": {
                  "type": "integer"
                },
                "description": "The number of allowed requests for the current period (1 second)"
              },
              "RateLimit-Interval-Remaining": {
                "schema": {
                  "type": "integer"
                },
                "description": "The number of remaining requests for the current period (1 second)"
              },
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "The number of seconds you are required to wait before the next successful request"
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer"
                },
                "description": "A timestamp of when the limit will be reset"
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "default": "people",
                        "example": "people"
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "referrer": {
                            "type": "string",
                            "x-nullable": true,
                            "description": "Referrer URL",
                            "example": "https://example.com"
                          },
                          "utm_source": {
                            "type": "string",
                            "x-nullable": true,
                            "description": "UTM source tracking parameter",
                            "example": "google"
                          },
                          "utm_medium": {
                            "type": "string",
                            "x-nullable": true,
                            "description": "UTM medium tracking parameter",
                            "example": "cpc"
                          },
                          "utm_term": {
                            "type": "string",
                            "x-nullable": true,
                            "description": "UTM term tracking parameter",
                            "example": "webinar"
                          },
                          "utm_content": {
                            "type": "string",
                            "x-nullable": true,
                            "description": "UTM content tracking parameter",
                            "example": "banner"
                          },
                          "utm_campaign": {
                            "type": "string",
                            "x-nullable": true,
                            "description": "UTM campaign tracking parameter",
                            "example": "spring_2024"
                          },
                          "fields": {
                            "type": "array",
                            "x-nullable": true,
                            "description": "Custom registration fields to update",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "description": "Field slug identifier",
                                  "example": "company"
                                },
                                "value": {
                                  "description": "Field value (string or array for multi-select)",
                                  "nullable": true,
                                  "oneOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  ],
                                  "example": "Livestorm"
                                }
                              },
                              "required": [
                                "id"
                              ]
                            },
                            "example": [
                              {
                                "id": "first_name",
                                "value": "John"
                              },
                              {
                                "id": "company",
                                "value": "Livestorm"
                              }
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
```