by Klaviyo
Create or update a profile
Creates a profile or updates the one that matches, with contact details, location and custom properties.
Updated Sep 27, 2026
upsert-profile.md
Create or update a profile
Creates a profile or updates the one that matches, with contact details, location and custom properties.
Note: A field set to null is cleared and a field left out keeps its value. It gives no marketing consent: subscribe the profile for that.
Set up
Use the first option your agent supports.
MCP (official, remote)
Add this server to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "klaviyo": { "url": "https://mcp.klaviyo.com/mcp" } } }
Call the MCP tool create_or_update_profile.
Server URL: https://mcp.klaviyo.com/mcp
CLI (official)
Install the command, then confirm it runs.
go install github.com/klaviyo/klaviyo-cli/cmd/klaviyo@latest
klaviyo --version
Run klaviyo profiles create-or-update-profile.
Set $KLAVIYO_API_KEY in your environment first (get a key: https://www.klaviyo.com/create-private-api-key).
API (official)
- Base URL: https://a.klaviyo.com
- Endpoint:
POST /api/profile-import - Auth: send the header
Authorization: Klaviyo-API-Key $KLAVIYO_API_KEY - Get a key: https://www.klaviyo.com/create-private-api-key
- Docs: https://developers.klaviyo.com/en/reference/api_overview
Before anything else, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.
Rules
- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.