Frequently Asked Questions

Everything you need to know about AIP — from "what is it?" to "how do I implement it?"

General
What is AIP?

The Agent Intake Protocol (AIP) is an open standard that lets AI agents interact with businesses on behalf of users. Instead of filling out web forms or making phone calls, an agent can discover a business's AIP endpoint, submit structured intake data, and receive a personalized offer — all through a simple JSON API.

What problem does AIP solve?

Today, AI agents interact with businesses the same way humans do — navigating websites, filling forms, scraping content. There's no standardized way for an agent to say: "I represent a user. Here's their context. What can you offer?" AIP provides that standard channel.

What's a "soft-contract"?

A soft-contract is a structured, non-binding offer from a business in response to an intake submission. Think of it like a personalized quote: it has details, pricing, an expiration date, and terms — but it's not a commitment from either side. The user reviews it, and only if they choose to bind does the relationship begin.

Is AIP free to use?

Yes. The protocol is MIT-licensed and free to implement. The AIP Registry is a separate, optional certification service for businesses that want to be discoverable and verified.

Who created AIP?

AIP was created by Man vs Health to solve a real problem: enabling AI agents to onboard users into health services without scraping, phone trees, or manual form-filling. It's published as an open standard for anyone to adopt.

How AIP Compares
How is AIP different from MCP (Model Context Protocol)?

MCP connects AI models to tools and data sources — it's about giving an LLM the ability to call functions and access context. AIP operates at a higher layer: it's about an agent representing a user in a business intake process. MCP might help an agent use a tool; AIP helps an agent find a service, submit an application, and get an offer back.

How is AIP different from A2A (Agent-to-Agent)?

Google's A2A protocol enables agents to communicate with each other — peer-to-peer messaging between AI systems. AIP is specifically about the agent-to-business relationship: structured intake, evaluation, and onboarding. A2A could be a transport layer under AIP in some architectures, but they solve different problems.

What about UCP and ACP?

UCP (Universal Commerce Protocol) and ACP (Agent Commerce Protocol) focus on product commerce — shopping, checkout, payments. AIP focuses on services, not products. The intake process for a healthcare provider, law firm, or SaaS platform is fundamentally different from buying a product. AIP handles the discovery, evaluation, and onboarding; commerce protocols can handle the payment that follows.

Can AIP work alongside other protocols?

Absolutely. AIP is designed as one layer in a stack:

  • MCP for tool/data access
  • A2A for agent communication
  • AIP for service intake and offers
  • UCP/ACP for commerce and payment

They're complementary, not competing.

For Businesses
How hard is it to implement AIP?

Minimal effort. You need:

  1. A JSON manifest file served at /.well-known/agent-intake.json
  2. One or more POST endpoints that accept intake data and return offers

No LLM required. No special framework. If you can serve JSON from an HTTP endpoint, you can implement AIP. See the examples for complete implementations in ~100 lines of Node.js.

Do I need AI on my side?

No. Your intake endpoint is just a regular API. You can use simple business logic, rule-based matching, database lookups, or even return a static offer. The AI is on the agent side — your side just needs to speak JSON.

What's the AIP Registry?

The AIP Registry at agentintake.io is an optional certification service. It crawls and validates your AIP endpoint, verifies your manifest conforms to the spec, and lists you in a directory that agents can query for discovery. Think of it like an SSL certificate but for your AIP implementation — a trust signal.

How do agents find my AIP endpoint?

Three ways:

  1. Well-known URL: Agents can check yourdomain.com/.well-known/agent-intake.json directly (like robots.txt)
  2. Registry: Agents query the AIP Registry for providers by category, location, or capability
  3. Direct link: You can share your manifest URL anywhere — documentation, social media, or in your marketing
Privacy & Security
Does AIP require sharing personal information?

No. AIP is privacy-first by design. During the intake phase, agents submit anonymized, categorical data — things like age ranges, zip codes, and preference categories instead of exact values. Personal information (name, email, phone) only flows at the bind stage, after the user has reviewed the offer and explicitly opted in.

What is "binding" and when does it happen?

Binding is the final, user-initiated step where they accept an offer. Only at this point does the agent share PII (whatever the business declared in bind_requires). The user is always in control — the agent presents the offer, the user decides whether to proceed.

Can a business require PII at intake?

Technically, a manifest can set pii_required: true, but this is discouraged. The spec strongly recommends pii_required: false and redacted_acceptable: true for the intake phase. Agents may skip endpoints that require PII upfront, and the Registry may flag them during certification.

What about rate limiting and abuse?

AIP endpoints are standard HTTP APIs, so all normal protections apply — rate limiting, API keys, IP throttling, CAPTCHA for binding, etc. The manifest can also declare requires_auth: true if the endpoint needs authentication. The Registry provides additional trust signals through certification.

Technical
What does a minimal AIP implementation look like?

Two files:

  1. Manifest (/.well-known/agent-intake.json) — describes your intakes, their schemas, and privacy policies
  2. Endpoint handler — accepts POST requests with intake data, returns structured offers

The BMI calculator example is a complete implementation in under 80 lines.

What schema format does AIP use?

JSON Schema Draft 2020-12. The manifest's input_schema field defines what data the intake endpoint expects, using standard JSON Schema validation. This means agents can validate data before submission and generate UIs dynamically.

Is there an SDK?

Yes. The repo includes a lightweight JavaScript SDK with both client and server helpers. The client handles discovery, submission, and binding. The server provides manifest serving, request validation, and response formatting. See sdk/js/.

Can I have multiple intakes per manifest?

Yes. The intakes array in your manifest can contain as many intake definitions as you need. A healthcare provider might offer a metabolic assessment, a sleep evaluation, and a nutrition consultation — each as a separate intake with its own schema, endpoint, and privacy settings.

How is AIP versioned?

AIP uses semantic versioning (currently 0.1.0). Spec snapshots live in date-stamped directories (spec/2026-02-27/). Both the manifest and all request/response payloads include an aip_version field for compatibility checking.

Real-World Patterns
How does AIP handle a business with multiple, different service offerings?

This is one of AIP's core strengths. A single manifest can expose multiple intakes, each with its own schema, endpoint, category, and privacy settings — all under one /.well-known/agent-intake.json file.

Consider a health & wellness business that offers four distinct services:

  • Medical Intake — collects health markers and symptoms → returns a soft-contract for a medical consultation with labs and a treatment plan
  • Nutrition Intake — collects dietary habits and goals → returns a personalized nutrition plan offer
  • Fitness Intake — collects activity level and objectives → returns a structured fitness program offer
  • Jumpstart Intake — collects a broad health snapshot → returns an offer for a coaching visit and personalized action plan

Each of these has different input data, different output offers, and potentially different binding requirements (a medical intake might require more PII at bind than a fitness plan). In AIP, they're all entries in the intakes array:

{
  "aip_version": "0.1.0",
  "provider": {
    "name": "Man vs Health",
    "url": "https://manvshealth.com"
  },
  "intakes": [
    { "id": "medical-consult", "category": "health/medical", ... },
    { "id": "nutrition-plan",  "category": "health/nutrition", ... },
    { "id": "fitness-plan",    "category": "health/fitness", ... },
    { "id": "jumpstart",       "category": "health/coaching", ... }
  ]
}

The agent decides which intake to use based on the user's needs, the intake descriptions, and the input schemas. If someone says "I want to lose weight and fix my blood sugar", the agent might submit to the medical intake. If they say "I need a workout plan", it's the fitness intake. If they're not sure where to start, the jumpstart intake exists exactly for that.

This means a single AIP-enabled business can serve as multiple specialized endpoints without the agent needing to navigate a website, click through a funnel, or guess which form to fill out. The manifest is the menu. The agent picks the right door.

Getting Started
I'm a business. Where do I start?
  1. Read the Specification (10 min)
  2. Check the Examples for your closest use case
  3. Create your agent-intake.json manifest
  4. Build your intake endpoint
  5. (Optional) Register at agentintake.io for certification
I'm an agent developer. Where do I start?
  1. Read the Specification to understand the protocol lifecycle
  2. Use the JS SDK or implement discovery/submission directly
  3. Query /.well-known/agent-intake.json on target domains
  4. (Optional) Use the Registry API to discover certified providers
How can I contribute?

AIP is open source and we welcome contributions. See CONTRIBUTING.md for guidelines. You can help by implementing AIP for your business, building SDKs in other languages, proposing spec improvements, or sharing feedback via GitHub Issues.

Still have questions?

Open an issue on GitHub