Examples
Minimal File
A small bakery that takes orders by phone and email:
# procurement.txt for Corner Bakery
Version: 1
Contact: mailto:orders@cornerbakery.example
Contact: tel:+1-555-012-3456
Pricing: public
Ordering: website https://cornerbakery.example/order
Negotiation: no
Service-Region: US
Payment-Terms: credit-card
This file can be created in any text editor and uploaded to the web root. No API, no tooling, no registration. An AI agent reading this file knows immediately:
- How to reach a human (email or phone)
- That prices are publicly listed
- How to place an order (website)
- That negotiation is not available
- That the merchant serves the US
- That credit card is the accepted payment method
Agent Readiness: HIGH — has both Ordering and Pricing fields.
Advanced File
A wholesale industrial supplier with API support and negotiation:
# procurement.txt for Acme Industrial Supply
# Updated: 2026-03-29
Version: 1
Contact: mailto:sales@acme-industrial.example
Contact: https://acme-industrial.example/support
Escalation: https://acme-industrial.example/live-agent
Escalation: tel:+1-800-555-0199
Pricing: api https://api.acme-industrial.example/openapi.json
Ordering: api https://api.acme-industrial.example/openapi.json
Catalog: https://api.acme-industrial.example/v2/catalog.json
Negotiation: bulk-only
Rate-Limit: 60/minute
Min-Order: 500 USD
Service-Region: US, CA, DE, CN
Payment-Terms: net-30, wire, purchase-order
Auth: api-key
Quote: api https://api.acme-industrial.example/openapi.json
Invoice: api https://api.acme-industrial.example/openapi.json
Tracking: api https://api.acme-industrial.example/openapi.json
Returns: api https://api.acme-industrial.example/openapi.json
Rfq: api https://api.acme-industrial.example/openapi.json
Preferred-Languages: en, de, zh
Expires: 2026-06-30
Canonical-Hash: sha256:a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd
# Custom extension fields
X-Lead-Time-Days: 5
Agent Readiness: HIGH — has Ordering and Pricing.
This file tells an AI agent:
- Two ways to reach a human (email + support page)
- Two escalation paths for live assistance (live agent + phone)
- Where to find the OpenAPI specification for pricing, ordering, and all capabilities (all
apifields reference the same spec — one document describes the full API including auth requirements) - Where to find the product catalog
- Rate limiting guidance (60 requests per minute)
- Minimum order requirement ($500 USD)
- Regions served: US, Canada, Germany, China
- Payment terms accepted: net-30, wire transfer, purchase order
- Authentication: API key required (obtain out-of-band; full details in the OpenAPI spec)
- Which capabilities are supported and how: quotes, invoicing, tracking, returns, RFQ — all accessible via the OpenAPI spec
- Supported languages: English, German, Chinese
- When to re-check the file (expires 2026-06-30)
- An integrity hash to detect post-publication modification
SaaS / Software Company
A software company with a self-serve pricing page and sales team:
Version: 1
Contact: mailto:sales@saas.example
Contact: https://saas.example/contact-sales
Pricing: public
Ordering: website https://saas.example/pricing
Negotiation: yes
Service-Region: global
Payment-Terms: credit-card
Quote: yes
Invoice: yes
Subscription: yes
Preferred-Languages: en
Expires: 2027-01-01
Agent Readiness: HIGH.
Freelancer / Consultant
A solo consultant with simple requirements:
Version: 1
Contact: mailto:hello@consultant.example
Pricing: on-request
Ordering: email
Negotiation: yes
Payment-Terms: wire, credit-card
Agent Readiness: HIGH — has both Ordering and Pricing.
B2C Retail with UCP (Shopify-style)
A consumer goods retailer supporting fully automated one-shot purchases via Universal Commerce Protocol:
# procurement.txt for Bloom & Co. Online Shop
Version: 1
Contact: mailto:support@bloomco.example
Contact: https://bloomco.example/help
Pricing: public
Ordering: protocol
Commerce-Protocol: ucp https://bloomco.example/ucp
Interaction-Model: automated
Service-Region: US, CA, GB, AU
Payment-Terms: credit-card
Negotiation: no
Preferred-Languages: en
Expires: 2027-01-01
Agent Readiness: HIGH — Commerce-Protocol alone is sufficient; no separate Ordering + Pricing required.
An agent reading this file knows:
- Orders and payment are handled end-to-end by the UCP endpoint — no separate checkout flow needed
- Purchases require no human approval
- The merchant ships to US, Canada, UK, and Australia
Enterprise SaaS with ACP and B2B Fallback
A software company supporting both automated purchases via ACP and traditional B2B procurement for larger deals:
# procurement.txt for Nexus Software
Version: 1
Contact: mailto:sales@nexus.example
Contact: https://nexus.example/contact-sales
Escalation: https://nexus.example/sales-chat
Pricing: api https://api.nexus.example/openapi.json
Ordering: api https://api.nexus.example/openapi.json
Commerce-Protocol: acp https://api.nexus.example/acp/v1
Interaction-Model: hybrid
X-Auto-Approve-Under: 10000 USD
Negotiation: yes
Service-Region: global
Payment-Terms: credit-card, net-30, purchase-order
Auth: oauth2
Min-Order: none
Quote: api https://api.nexus.example/openapi.json
Invoice: api https://api.nexus.example/openapi.json
Subscription: yes
Preferred-Languages: en
Expires: 2027-01-01
Agent Readiness: HIGH+ — has Ordering, Pricing, Commerce-Protocol, Service-Region, Payment-Terms, Auth, and Interaction-Model.
An agent reading this file knows:
- Purchases under $10,000 can be completed autonomously via ACP or the standard API
- Purchases over $10,000 require human approval — escalate to the sales chat
- Larger deals can be negotiated; use Contact or Escalation to initiate
- Net-30 and purchase orders are accepted for B2B customers
- OAuth2 authentication is required for the API
Common Mistakes to Avoid
Missing required fields
# INVALID — missing Version and Contact
Pricing: public
Ordering: website https://example.com/shop
This file will fail validation. Version and at least one Contact are required.
Lines without : separator
# INVALID — this line has no colon-space separator
Version: 1
Contact: mailto:sales@example.com
This line will cause a parse error
Every non-blank, non-comment line must be a Field: value directive.
Putting secrets in the file
# DON'T DO THIS
Version: 1
Contact: mailto:sales@example.com
X-API-Key: sk_live_abc123xyz # NEVER include API keys!
The file is public and unauthenticated. Never include credentials.