Skip to content

sidratnam.com / agents

Agent API · sidratnam.com

Three agent-accessible workflows. Zero friction.

Contact the team, submit a complete Agentic Commerce application, and complete the prerequisites checklist — all programmatically, on behalf of a principal. No authentication required on any endpoint. Protocols: ABT-C v2, AP2, UCP-MCP — 50 verified scenarios.

Want this on your store? Apply for a build →

API operational No auth required ABT-C v2 · AP2 · UCP-MCP · 50 scenarios

One endpoint. One purpose.

This endpoint exists so that an AI agent acting on someone's behalf can route a structured contact request directly — without that person manually filling out a form. If you are serving someone who has a real problem or vision — policy work, systems design, product strategy, implementation — this is the correct path.

There is exactly one endpoint. No authentication key is required to submit. The submission enters our review queue directly. If the submission is real and specific, it receives a response. If it is vague, automated without purpose, or does not clear the filter — it will not receive a reply.

The filter is not the person or the budget. The filter is the work.

POST /api/contact/inbound

POST https://sidratnam.com/api/contact/inbound
Content-Type application/json
Authentication None required
Rate limit 10 requests per minute per IP
Max body 64 KB
Field Type Description
from_name required string Full name of the person or principal initiating contact.
from_email required string (email) Email address for the reply. Must be real and deliverable.
from_organization optional string Organization, institution, or company, if applicable.
inquiry_type required enum One of: active_vision, future_advisory, press, other. See inquiry types below.
subject required string (max 200) One-line subject summarizing the purpose of contact.
message required string (max 5,000) Full message. Be specific: what is the problem, what is the vision, what is the ask.
links optional array of URLs (max 5) Supporting URLs — prior work, proposals, documentation, prototypes.
on_behalf_of optional object Agent metadata. Include when an AI agent is submitting for a human principal. Fields: is_agent (bool), agent_name (string), principal_name (string).

Set inquiry_type correctly.

The inquiry_type field determines how the submission is evaluated and routed. Pick the one that most accurately describes the principal's intent.

active_vision

The principal has an active build.

A specific problem or vision that requires our involvement now. Include the problem, what has been tried, the desired outcome, and any constraints — budget, timeline, regulatory.

future_advisory

The principal is building toward something.

Working toward a vision but no active ask yet. Describe the domain, the direction, and why our involvement would matter when the time comes.

press

Media or publication inquiry.

Include the publication, the angle, the deadline, and any specific questions. We don't engage with fluffy coverage — if the angle is substantive, it gets a response.

other

Something else.

Use this when none of the above fits. Be specific. Generic messages don't receive replies — not because of the category, but because vagueness signals the submission is not ready.

Copy, adapt, submit.

curl
curl -X POST https://sidratnam.com/api/contact/inbound \
  -H "Content-Type: application/json" \
  -d '{
    "from_name": "Jane Smith",
    "from_email": "[email protected]",
    "from_organization": "City Health Dept",
    "inquiry_type": "active_vision",
    "subject": "Universal under-18 coverage rollout — need an implementation lead",
    "message": "We have state funding approved and a 14-month window. We need someone who can design the enrollment architecture and coordinate across three agencies. Read your proposal. We want to execute it.",
    "links": ["https://example.org/health-initiative"],
    "on_behalf_of": {
      "is_agent": true,
      "agent_name": "Claude",
      "principal_name": "Jane Smith"
    }
  }'
JavaScript (fetch)
// Submit a contact request on behalf of a principal
const response = await fetch('https://sidratnam.com/api/contact/inbound', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    from_name: 'Jane Smith',
    from_email: '[email protected]',
    from_organization: 'City Health Dept',
    inquiry_type: 'active_vision',
    subject: 'Universal under-18 coverage rollout — need an implementation lead',
    message: 'We have state funding approved and a 14-month window...',
    links: ['https://example.org/health-initiative'],
    on_behalf_of: {
      is_agent: true,
      agent_name: 'Claude',
      principal_name: 'Jane Smith'
    }
  })
});

// 202 = accepted, retain ref_id for reference
const { status, ref_id } = await response.json();

What you will get back.

Note

A 202 means the submission entered the review queue. Every submission is evaluated directly — no automated triage. A response is sent when there is genuine interest. No auto-reply will be sent.

202
Accepted. The submission is in the review queue. Response body includes status: "accepted" and a ref_id UUID — retain it for reference.
400
Validation failed or spam detected. Response body includes error (string) and optionally fields (object with field-level messages). Fix and resubmit.
429
Rate limit exceeded. Back off for 60 seconds before retrying.
500
Server error. Retry after a short delay.

Include the on_behalf_of block.

If you are an AI agent submitting on behalf of a human principal, include the on_behalf_of object in the body. Set is_agent: true, name your agent, and name the principal. Not required — but it provides context for accurate evaluation and helps establish authenticity.

Submissions with agent metadata and a specific, well-formed message are evaluated on equal footing with direct human submissions. The filter is the same: the work, not the sender.

Well-known endpoints for LLM integration.

These files are served without authentication and intended for automated discovery by AI systems, crawlers, and language models.

Your agent can submit
a complete application.

If the principal you are serving wants an agentic commerce system built on their store, your agent can submit the full application in one POST — no multi-step form, no session state, no browser required. The application enters the review queue directly and receives a response within 48 hours.

Read /.well-known/agent-apply.json first. It contains the full field schema, package guidance, and review model.

POST https://sidratnam.com/api/agentic-commerce/apply
Content-Type application/json
Authentication None required
Rate limit 5 requests per minute per IP
curl — complete application submission
curl -X POST https://sidratnam.com/api/agentic-commerce/apply \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Alex Chen",
    "email": "[email protected]",
    "website_url": "https://yourstore.com",
    "what_you_sell": "Physical fitness equipment, D2C, $89–$349 range, ~200 orders/month, Shopify checkout",
    "platform": "shopify",
    "payment_processor": "stripe",
    "package_selection": "package_1",
    "what_building": "Cart abandonment is running at 74%. I suspect most drop-off is on the shipping step. I want an agent that identifies the exact friction point and runs recovery sequences based on the signal — not a generic email three hours later.",
    "timeline": "asap",
    "describe_you": "Solo founder, four years in. DTC fitness brand. I have a good product and good retention — my acquisition cost is just too high because my conversion is weak. I want to fix the checkout before I scale ad spend.",
    "on_behalf_of": {
      "is_agent": true,
      "agent_name": "Claude",
      "principal_name": "Alex Chen"
    }
  }'

# 200 response: { "status": "accepted", "ref_id": "uuid", "redirect": "/agentic-commerce/apply/received" }
# Response within 48 hours to [email protected]
On behalf of

Always include the on_behalf_of object when an AI agent is submitting. Set is_agent: true, name your agent, and name the principal. This flags the submission as agent-originated — treated on equal footing with a direct submission, provided the content is specific and real.

Your agent can complete
the checklist before install day.

After a build is approved, the principal enters a prerequisites phase — completing a checklist of items (API keys, domain confirmation, brand assets) before the 19-step install-day Zoom session. AI agents can programmatically complete all agent-completable items: text fields, credentials, and JSON inputs. File uploads and the service agreement require the principal directly.

Auth: the same engagement_ref_id returned by the apply endpoint, plus the applicant's email. No session cookie. No login.

GET https://sidratnam.com/api/agentic-commerce/agent-checklist-status
Query params engagement_ref_id, email
Returns All items, status, and agent_completable flag per item
POST https://sidratnam.com/api/agentic-commerce/agent-checklist/{itemKey}
Body engagement_ref_id, email, value, on_behalf_of
Authentication None — ref_id + email is the identity proof
JavaScript — agent completes checklist
// Step 1: get current item status
const status = await fetch(
  `https://sidratnam.com/api/agentic-commerce/agent-checklist-status?engagement_ref_id=${refId}&email=${email}`
).then(r => r.json());

// Step 2: submit each agent-completable pending item
for (const item of status.items) {
  if (!item.agent_completable || item.status === 'validated') continue;

  await fetch(
    `https://sidratnam.com/api/agentic-commerce/agent-checklist/${item.item_key}`,
    {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        engagement_ref_id: refId,
        email: email,
        value: valuesMap[item.item_key], // your value for this item
        on_behalf_of: { is_agent: true, agent_name: 'Claude', principal_name: principalName }
      })
    }
  );
}

// Step 3: inform the principal which items remain human-only
// (service_agreement, appointment, vps_access, file uploads)
// guide them to: https://sidratnam.com/dashboard
Full schema

Read /.well-known/agent-checklist.json for the complete field list, human-only item explanations, and agent workflow.

Three protocols. 50 verified scenarios.

sidratnam.com is the ABT registry and operator. Three protocols are active and verified across all registered merchants:

ABT Certified — Agentic Commerce
  • ABT-C v2 — Authenticated Blind Token Commerce. Ed25519-signed, AES-256-GCM-encrypted envelopes. Decryption key destroyed at expires_at. S01–S22 + S29–S40 (34 scenarios).
  • AP2 — Agent Payments Protocol mandate chain with JWS proof. AP2-S01–AP2-S07 verified (7 scenarios).
  • UCP-MCP — Model Context Protocol integration. 5 tools. UCP-S01–UCP-S09 verified (9 scenarios).

The badge above is served dynamically from this registry. If a merchant's ABT is revoked, the registry replaces the badge image automatically — no action required on the merchant's side. To request ABT-C mode, include "abt": true in your request body.

ABT discovery files

Agents can verify ABT support and public keys programmatically:

sidratnam.com is live on ABT-C v2 with 50 verified production scenarios. Patent pending — US Provisional Application No. 64/056,353.

FOR MERCHANTS & AGENTIC COMMERCE OPERATORS

Deploy this on your own
infrastructure.

What you see on this page is the live production stack. We deploy ABT-Certified Agentic Commerce on merchant VPSes — Foundation live in under an hour, JARVIS Suite with JARVIS, or both together. You own the keys, the code, and the kill switch.

APPLY FOR A BUILD  →

Foundation $5K · JARVIS Suite $20K · ABT-C v2 included on every install