{"ok":true,"request_id":"ebc54adc-4107-4440-bcca-18e89b29218d","autonomous_credential_path":true,"oauth_fallback_always_available":true,"tos_version_for_signup":"1-2026-04-04","workflow":{"$schema":"amply.agent_workflow_manifest/1","version":"3.1.13","origin":"https://www.flightmedia.app","auth_mode":"api_key","credential_before_catalog":true,"bootstrap_sequence":"discover → health → schema → credential (optional agent signup → dashboard fallback) → catalog → route → outcome → audit","principal_binding_policy":{"summary":"Use a user-bound Bearer key (amply_sk_* from credential_agent_signup or dashboard api-keys) before route. Server operator keys in AMPLY_API_KEYS return recommendations but integration.principal_attached is false under metering—no wallet debit, quota, or scoped audit.","check_response_field":"integration.principal_attached + integration.economics_mode on POST /api/v1/route","check_response_headers":["X-Amply-Principal-Bound","X-Amply-Auth-Source","X-Amply-Metering","X-Amply-Economics"],"documentation_url":"https://www.flightmedia.app/docs#production-keys","recommended_machine_flow":[{"step":1,"method":"GET","path":"/api/v1/agent","goal":"load ordered steps + policy"},{"step":2,"method":"GET","path":"/api/v1/status","goal":"read diagnostics.agent_signup + diagnostics.principal_binding"},{"step":3,"method":"POST","path":"/api/v1/signup/agent","goal":"mint amply_sk_* (skip if disabled; use dashboard keys instead)","optional_unless_signup_enabled":true},{"step":4,"method":"POST","path":"/api/v1/route","goal":"verify X-Amply-Principal-Bound: 1, X-Amply-Economics=settlement_eligible, and integration.principal_attached true when metering is on"}]},"route_rate_limit":{"enabled":true,"requests_per_minute_per_ip":120},"agent_signup":{"enabled":true,"requires_shared_secret":false,"tos_version":"1-2026-04-04","max_signups_per_hour_per_ip":10,"path":"/api/v1/signup/agent","workflow_manifest_path":"/api/v1/agent"},"x402":{"enabled":true,"spec":"amply.x402/1","paid_resources":[{"method":"POST","path":"/api/v1/route","summary":"Metered routing; may return HTTP 402 when wallet debit is enforced and balance is insufficient."},{"method":"POST","path":"/api/v1/route/execute","summary":"One-call route + execute flow; route stage may return HTTP 402 under strict wallet debit."}],"payment_methods_accepted":[{"type":"amply_wallet","summary":"Prepaid wallet balance; see commercial.agent_builder_usage and POST /api/v1/route usage block."}],"discovery":{"openapi_url":"https://www.flightmedia.app/api/v1/openapi","workflow_manifest_url":"https://www.flightmedia.app/api/v1/agent"},"credential_note":"Payment and debit require a user-bound Bearer (amply_sk_*); see principal_binding_policy in this manifest."},"steps":[{"id":"discover","method":"GET","path":"/api/v1/agent","purpose":"Load this workflow manifest (you are here).","auth":"none"},{"id":"health","method":"GET","path":"/api/v1/status","purpose":"Version, auth_mode, catalog diagnostics, rate_limit.","auth":"none"},{"id":"schema","method":"GET","path":"/api/v1/openapi","purpose":"OpenAPI 3 document for tools.","auth":"none"},{"id":"credential_agent_signup","method":"POST","path":"/api/v1/signup/agent","purpose":"Mint amply_sk_* (user-bound principal) before routing — required for wallet debit, quota, and tenant-scoped audit on POST /api/v1/route.","auth":"none","body":{"accept_tos_version":"1-2026-04-04","label":"optional string"},"response_extract":["api_key","principal_id","quickstart.post_route"]},{"id":"credential_oauth_fallback","method":"HUMAN","path":"/dashboard/api-keys","purpose":"Human-operated alternative to agent signup: create a user-bound key after Google sign-in (same wallet, quota, and audit scoping as amply_sk_*).","auth":"browser_session","absolute_url":"https://www.flightmedia.app/dashboard/api-keys"},{"id":"catalog","method":"GET","path":"/api/v1/providers","purpose":"Comparable provider snapshot. Complete credential steps first so POST /api/v1/route uses a user-bound Bearer (expect response header X-Amply-Principal-Bound: 1).","auth":"none"},{"id":"route","method":"POST","path":"/api/v1/route","purpose":"Ranked provider recommendation. Prefer a user-bound Bearer key so integration.principal_attached is true, wallet debits/quota/audit apply, and response headers X-Amply-Principal-Bound=1.","auth":"bearer","body_keys":["task"]},{"id":"route_execute_optional","method":"POST","path":"/api/v1/route/execute","purpose":"Optional one-call flow: route + wallet settlement + provider execution through Amply-managed proxy targets.","auth":"bearer (user-bound key required)","body_keys":["task","execution.targets","execution.request_body"]},{"id":"credentials_vault_optional","method":"POST","path":"/api/v1/credentials","purpose":"Optional vault mode setup: store encrypted execution credential refs, then call /api/v1/route/execute with execution.mode=vault_ref.","auth":"bearer (user-bound key required)","body":{"label":"string","provider_id":"optional string","payload":{"targets":{"<provider_id>":{"url":"https://...","method":"POST","headers":{}}}}}},{"id":"outcome","method":"POST","path":"/api/v1/route/outcome","purpose":"Optional execution feedback after using route result.","auth":"bearer","body_keys":["request_id","provider_id","outcome"]},{"id":"audit","method":"GET","path":"/api/v1/route/audit","purpose":"Deterministic audit bundle (decision + usage + outcomes + proof_sha256) for a request_id; scoped to caller principal.","auth":"bearer","query":{"request_id":"uuid from POST /api/v1/route"}}],"commercial":{"agent_builder_usage":{"summary":"Agent/builder access follows a prepaid usage model: deposit balance, then route calls debit it. Inspect usage and estimated_charge_usd on POST /api/v1/route for machine-readable economics.","inspect_response_path":"usage","pricing_human_url":"https://www.flightmedia.app/pricing","documentation_url":"https://www.flightmedia.app/docs"},"provider_catalog_intent":{"summary":"Catalog placement is editorial; there is no self-serve paid ranking. Use mailto for consideration requests.","mailto_href":"mailto:support@useamply.com?subject=Catalog%20consideration","human_url":"https://www.flightmedia.app/catalog"},"optional_stripe_listing_url":"https://buy.stripe.com/eVqeVd7apavR4T37If5sA00","note":"optional_stripe_listing_url may be configured for legacy listing flows; it does not override editorial catalog policy."}}}