Skip to main content
This guide covers common patterns for working with the Chameleon API at scale: bulk tagging, CSV imports, paginating large datasets, and handling rate limits gracefully.

Bulk tagging

Use the bulk tag endpoint to apply multiple tag operations across multiple Experiences in a single request.

Example: Tag multiple Experiences

Note: Tours, Microsurveys, and Embeddables all use model_type: "Campaign". Tooltips use "Tooltip" and Launchers use "List".

Three tag operation types

  1. By tag ID — Use tag_id with + or - prefix to add/remove a specific tag.
  2. By tag name — Use tag_name with + or - prefix to add/remove by name (creates the tag if it doesn’t exist).
  3. Set exact tags — Use tag_names array to set the exact set of tags (removes any not in the list).
See the full bulk tag API reference for details.

Bulk imports via CSV

Use the Imports API to tag, update, or delete users/companies via CSV upload.

Workflow

Import types

See the full Imports API reference for complete documentation with examples.

Paginating large datasets

All list endpoints return paginated results. Use cursor-based pagination to iterate through all records.

Pagination pattern

Key parameters


Handling rate limits

The Chameleon API enforces per-endpoint rate limits on concurrent requests. When you exceed the limit, you’ll receive a 429 response.

Exponential backoff

Tips for staying within limits

  • Use the wait field from 429 responses — it tells you exactly how long to wait.
  • Limit concurrency — Don’t fire many requests in parallel to the same endpoint.
  • Use bulk endpoints where available (e.g., bulk tagging, CSV imports).
  • Use limit=500 to minimize the number of pagination requests needed.
See the full Rate limiting reference for per-endpoint concurrency limits.
See also: