{"constraints":{"analytics_windows":["1h","24h","7d","30d"],"expires_in_seconds":{"max":604800,"min":60},"short_code_length":{"default":10,"max":24,"min":10},"variants":{"max":10,"min":1}},"endpoint":"/api/public/audio-share-links","enums":{"analytics_reset_scope":["totals","events","idempotency","all"],"canonicalize_profile":["strict","marketing-safe","minimal"],"format":["json","compact","csv","png_base64","svg_base64","data_uri"],"mailto_render_mode":["plain","markdown"],"token_mode":["none","signed"],"utm_profile":["none","campaign_core","full"],"validate_batch_mode":["sync","async"],"window":["1h","24h","7d","30d"]},"guidance":{"android_intents":"On Android browsers, include a direct HTTPS URL and plain-text fallback to improve app-intent handoff reliability.","ios_share_sheet":"On iOS Safari, open in a secure context and prefer compact titles to avoid truncation in the native share sheet."},"limits":{"batch_max_items":25,"short_code_length_default":10,"short_code_length_max":24,"short_code_length_min":10,"signed_expires_max_seconds":604800,"signed_expires_min_seconds":60,"source_ref_max":80,"text_max":280,"title_max":140,"utm_value_max":80},"meta":{"cors":{"allowed":true,"allowlist_count":4,"origin":""}},"method":"GET|POST","related_endpoints":{"admin_analytics_reset":"/admin/ops/audio-share-analytics/reset","admin_analytics_reset_log_csv":"/admin/ops/audio-share-analytics/reset-log.csv","admin_analytics_snapshot":"/admin/ops/audio-share-analytics/snapshot","admin_revocations_csv":"/admin/ops/audio-share-revocations.csv","admin_revocations_log_csv":"/admin/ops/audio-share-revocations-log.csv","alias_check_get":"/api/public/audio-share-links/alias/check","alias_check_post":"/api/public/audio-share-links/alias/check","alias_normalize":"/api/public/audio-share-links/alias/normalize","alias_release_post":"/api/public/audio-share-links/alias/release","alias_reservations":"/api/public/audio-share-links/alias/reservations.json","alias_reserve_post":"/api/public/audio-share-links/alias/reserve","analytics_anomalies":"/api/public/audio-share-links/analytics/anomalies.json","analytics_channel_conversion_csv":"/api/public/audio-share-links/analytics/channel-conversion.csv","analytics_csv":"/api/public/audio-share-links/analytics.csv","analytics_events_json":"/api/public/audio-share-links/analytics/events.json","analytics_events_ndjson":"/api/public/audio-share-links/analytics/events.ndjson","analytics_hosts_compare":"/api/public/audio-share-links/analytics/hosts/compare.json","analytics_idempotency":"/api/public/audio-share-links/analytics/idempotency.json","analytics_idempotency_purge_post":"/api/public/audio-share-links/analytics/idempotency/purge","analytics_quality":"/api/public/audio-share-links/analytics/quality.json","analytics_retention":"/api/public/audio-share-links/analytics/retention.json","analytics_rollup":"/api/public/audio-share-links/analytics/rollup.json","analytics_source_refs":"/api/public/audio-share-links/analytics/source-refs.json","audio_share_cookbook":"/developers/audio-share-cookbook","audio_share_cookbook_json":"/developers/audio-share-cookbook.json","audio_share_cookbook_md":"/developers/audio-share-cookbook.md","audit":"/api/public/audio-share-links/audit.json","audit_csv":"/api/public/audio-share-links/audit.csv","batch_job_artifact":"/api/public/audio-share-links/batch/jobs/<job_id>.ndjson","batch_job_artifact_gzip":"/api/public/audio-share-links/batch/jobs/<job_id>.jsonl.gz","batch_job_cancel":"/api/public/audio-share-links/batch/jobs/<job_id>/cancel","batch_job_retry_failed":"/api/public/audio-share-links/batch/jobs/<job_id>/retry-failed","batch_job_status":"/api/public/audio-share-links/batch/jobs/<job_id>.json","batch_jobs_age":"/api/public/audio-share-links/batch/jobs/age.json","batch_post":"/api/public/audio-share-links/batch","batch_webhook_retries_csv":"/api/public/audio-share-links/batch/webhook-retries.csv","batch_webhook_retries_json":"/api/public/audio-share-links/batch/webhook-retries.json","batch_webhook_retries_purge_post":"/api/public/audio-share-links/batch/webhook-retries/purge","changelog_json":"/api/public/audio-share-links/changelog.json","channel_details":"/api/public/audio-share-links/channels/<channel>.json","channels_aliases":"/api/public/audio-share-links/channels/aliases.json","channels_catalog":"/api/public/audio-share-links/channels.json","channels_deprecations_json":"/api/public/audio-share-links/channels/deprecations.json","channels_health_csv":"/api/public/audio-share-links/channels/health.csv","channels_health_json":"/api/public/audio-share-links/channels/health.json","channels_matrix_csv":"/api/public/audio-share-links/channels.csv","checksum_verify_post":"/api/public/audio-share-links/checksum/verify","cors_allowlist":"/api/public/audio-share-links/cors/allowlist.json","cors_diagnostics":"/api/public/audio-share-links/cors.json","cors_metrics":"/api/public/audio-share-links/cors/metrics.json","destination_canonicalize_dry_run":"/api/public/audio-share-links/destination-canonicalize/dry-run","destination_policy":"/api/public/audio-share-links/destination-policy.json","diff_json":"/api/public/audio-share-links/diff.json","errors_catalog":"/api/public/audio-share-links/errors.json","examples_json":"/api/public/audio-share-links/examples.json","expand":"/api/public/audio-share-links/expand","fixtures_ndjson":"/api/public/audio-share-links/fixtures.ndjson","guidance_catalog":"/api/public/audio-share-links/guidance.json","headers_manifest":"/api/public/audio-share-links/headers.json","health":"/api/public/audio-share-links/health","health_csv":"/api/public/audio-share-links/health.csv","hero_registry_json":"/api/public/creative/hero-registry.json","idempotency_metrics":"/api/public/audio-share-links/idempotency-metrics.json","idempotency_metrics_csv":"/api/public/audio-share-links/idempotency-metrics.csv","idempotency_metrics_reset_post":"/api/public/audio-share-links/idempotency-metrics/reset","landing_media_manifest_json":"/api/public/landing/media-manifest.json","langs":"/api/public/audio-share-links/langs.json","mailto_template_preview":"/api/public/audio-share-links/mailto-templates/preview","mailto_templates":"/api/public/audio-share-links/mailto-templates.json","nonce_replay":"/api/public/audio-share-links/nonce-replay.json","nonce_replay_reset":"/api/public/audio-share-links/nonce-replay/reset","openapi":"/api/public/audio-share-links/openapi.json","openapi_fragment":"/api/public/audio-share-links/openapi-fragment.json","policy":"/api/public/audio-share-links/policy.json","preview":"/api/public/audio-share-links/preview","qr_bench":"/api/public/audio-share-links/qr/bench.json","qr_cache":"/api/public/audio-share-links/qr/cache.json","qr_cache_purge_post":"/api/public/audio-share-links/qr/cache/purge","qr_png":"/api/public/audio-share-links/qr.png","qr_presets":"/api/public/audio-share-links/qr/presets.json","qr_prewarm_post":"/api/public/audio-share-links/qr/prewarm","qr_svg":"/api/public/audio-share-links/qr.svg","redirect_hints_csv":"/api/public/audio-share-links/redirect-hints.csv","redirect_hints_json":"/api/public/audio-share-links/redirect-hints.json","replay_events_ndjson":"/api/public/audio-share-links/replay-events.ndjson","revocations":"/api/public/audio-share-links/revocations.json","routes_inventory":"/api/public/audio-share-links/routes.json","routes_inventory_csv":"/api/public/audio-share-links/routes.csv","routes_inventory_diff":"/api/public/audio-share-links/routes/diff.json","sdk_snippets":"/api/public/audio-share-links/sdk-snippets.json","short_cleanup_metrics":"/api/public/audio-share-links/short/cleanup-metrics.json","short_consume_post":"/api/public/audio-share-links/short/<code>/consume","short_consumption":"/api/public/audio-share-links/short/<code>/consumption.json","short_explain":"/api/public/audio-share-links/short/<code>/explain","short_metadata":"/api/public/audio-share-links/short/<code>.json","short_metadata_namespaced":"/api/public/audio-share-links/short/<namespace>/<code>.json","short_purge_post":"/api/public/audio-share-links/short/<code>/purge","short_redirect":"/s/audio/<code>","short_redirect_namespaced":"/s/audio/<namespace>/<code>","short_resolve_post":"/api/public/audio-share-links/short/resolve","slo":"/api/public/audio-share-links/slo.json","slo_burn_rate":"/api/public/audio-share-links/slo/burn-rate.json","slo_csv":"/api/public/audio-share-links/slo.csv","slo_thresholds":"/api/public/audio-share-links/slo/thresholds.json","snippets":"/api/public/audio-share-links/snippets.json","snippets_markdown":"/api/public/audio-share-links/snippets.md","snippets_scenarios":"/api/public/audio-share-links/snippets/scenarios.json","token_inspect_post":"/api/public/audio-share-links/token/inspect","track_context_keys":"/api/public/audio-share-links/track/context-keys.json","track_contracts":"/api/public/audio-share-links/track/contracts.json","track_post":"/api/public/audio-share-links/track","track_replay_metrics":"/api/public/audio-share-links/track/replay-metrics.json","validate":"/api/public/audio-share-links/validate","validate_batch":"/api/public/audio-share-links/validate/batch","warnings_catalog":"/api/public/audio-share-links/warnings.json"},"request_examples":{"get_query_examples":["track_url=/faq&channels=x,email&source_ref=schema-get-1","track_url=/faq&token_mode=signed&use_short=1&expires_in=900&channels=x,slack"],"head_probe_examples":[{"method":"HEAD","path":"/api/public/audio-share-links/validate?track_url=/faq"},{"method":"HEAD","path":"/api/public/audio-share-links/preview?track_url=/faq"}],"idempotency_error_examples":{"conflict":{"error":"idempotency_key_conflict","status":409,"success":false},"invalid":{"error":"idempotency_key_invalid","error_code":"idempotency_key_invalid","success":false},"replayed":{"idempotency_replayed":true,"success":true},"too_long":{"error":"idempotency_key_too_long","error_code":"idempotency_key_too_long","success":false}},"locale_clamp_examples":["lang=es&title=Texto%20muy%20largo%20...&text=Descripcion%20muy%20larga%20...&variants=2","lang=de&title=Fallback+to+English+defaults+expected"],"post_body_examples":[{"channels":"x,email","expires_in":900,"idempotency_scope":"header","source_ref":"schema-post-1","text":"Post body parity example","title":"Schema Body Example","token_mode":"signed","track_url":"/faq","use_short":true},{"canonicalize":true,"channels":"x,discord","file_url":"/static/audio/demo.mp3","format":"json","prefer":"file","source_ref":"schema-post-2","utm_profile":"campaign_core"}],"snippet_variant_examples":["variants=3&lang=fr&format=json","variants=2&lang=es&utm_profile=campaign_core"]},"request_fields":["track_url","file_url","prefer","title","text","lang","channels","channel_order","canonicalize","canonicalize_profile=strict|marketing-safe|minimal","source_ref","strict_channels","token_mode","expires_in","use_short","mailto_template","slack_variant=mrkdwn|plain","discord_variant=markdown|embed-json","mastodon_instance","alias","one_time_use","short_namespace","short_code_length","token_nbf_in","token_aud","token_max_use","variants=1..10","enforce_allowlist","denylist_override","compact","format=csv|json|compact|png_base64|svg_base64|data_uri","checklist_mode","utm_profile=none|campaign_core|full","utm_*"],"request_id":"5e4a4ea78dec04ba","response_fields":["success","share.destination_url","share.short_url","share.short_namespace","share.signed_token_nbf_utc","share.signed_token_audience","share.signed_token_max_use","share.channels","share.channel_snippets","share.snippets.markdown","share.snippets.plain_text","share.variants[]","share.destination_sha256","share.warnings","query.invalid_channels","meta.limits","meta.effective","meta.destination_sha256","meta.guidance"],"schema_changelog":[{"changes":["Added channels deprecations and track contract/replay/context diagnostic endpoints.","Added CORS allowlist, checksum verify, and payload diff QA endpoints.","Added related endpoint links for landing hero registry and media manifest APIs."],"date_utc":"2026-03-12","version":"2026-03-12.audio-share.v15"},{"changes":["Added channel health JSON/CSV related endpoints and deprecation metadata fields.","Added locale clamp/snippet variant request examples and idempotency error examples.","Added mailto preview render/template/url length diagnostics contract metadata."],"date_utc":"2026-03-12","version":"2026-03-12.audio-share.v14"},{"changes":["Added idempotency metrics CSV/reset endpoints and rolling window examples.","Added schema request examples for POST body and HEAD probe contracts.","Added cookbook markdown/json related endpoint references."],"date_utc":"2026-03-12","version":"2026-03-12.audio-share.v13"},{"changes":["Added validate-batch CSV/async/idempotency contracts.","Added expand POST body mode and bulk code lookup.","Added analytics retention/cors metrics related endpoints."],"date_utc":"2026-03-12","version":"2026-03-12.audio-share.v12"},{"changes":["Added catalogs + helper route inventory references."],"date_utc":"2026-03-12","version":"2026-03-12.audio-share.v11"}],"schema_version":"2026-03-12.audio-share.v15","success":true}
