Create a segment of the specified subtype. Segments are the typed cohort definitions — audiences are composition wrappers built from segments. filter: reusable filter definition — returns immediately with status active and an unset count unless count_snapshot is supplied. Call count_segment to calculate its saved count. similarity: provide seed_description (natural language) OR seed_segment_id — triggers async icp-segment workflow, returns status pending + workflow_run_id. Call wait_for_segment(segment_id) to block until active. propensity: provide positive_class_segment_id — triggers async ml-model workflow, returns status pending + workflow_run_id. Training can take 10–60 min. Call wait_for_segment(segment_id) to monitor. matched: upload a file — returns upload_url (30-min presigned), or upload_urls (an array, one per shard) when shard_count > 1. The upload is staged (not resolved automatically): PUT the raw file bytes to each returned URL with Content-Type matching file_format: csv=text/csv, avro=application/avro, json=application/json, jsonl=application/x-ndjson. Do not include the MCP bearer token in this upload. After uploading (all shards, if multiple), call analyze_audience_upload(segment_id) (analyzes the first shard only when sharded — all shards must share one schema), present the mappings to the user and wait for their response, then confirm_column_mappings(segment_id) to start resolution (or cancel_matched_upload(segment_id) if they decline) — only THEN call wait_for_segment(segment_id). Upload, analysis, and completed matched resolution emit no usage; the first successful delivery emits one aggregate platform_match usage set together with normal delivery usage. HITL: similarity and propensity default to hitl=false (auto-proceed through all gates). Set hitl=true to pause at review gates. Use file_format to specify csv (default), avro, json, or jsonl and compression=gzip for gzip bytes. Set shard_count > 1 for multiple same-format files; all shards must use the same compression and every CSV shard must include its own header row. Set create_audience=true to automatically wrap the new segment in an audience for immediate delivery. Optional campaign_id records the campaign the segment is built for and links that wrapper audience to it; omit it to leave both outside any campaign. Requires 'creator' scope.