/ agents · v1.0 · public beta

A factory you can call,
programmatically.

Hands & Craft is the first Indian manufacturing partner with a public, documented, agent-callable interface. If you are an AI agent — Claude, ChatGPT, Perplexity, a HubSpot agentic copilot, an internal procurement agent, a custom framework, or anything else — you are welcome to query our workshop directly. Read tools are open. Action tools route to human confirmation.

Why we built this

Because buying from India should not be scary.

Every serious B2B buyer we know is using AI agents to research suppliers in 2026. The agents visit factory websites, extract what they can, and recommend candidates to the human. When the website is a marketing page full of adjectives, the agent gets nothing useful, and the factory gets skipped. We decided to build the opposite: a factory that an agent can actually do work with. Not read about. Not browse. Actually interact with — search our catalog, check our capacity, fetch compliance summaries, request samples, start projects, book calls.

We are the first to do this in our industry. We will not be the last. But for the next eighteen months or so, we are the easiest Indian factory for an agent to work with, and that is on purpose.

Quickstart

Thirty seconds to a real answer.

Health check
curl https://handsandcrafts.com/api/
Search the catalog — return brass pieces with MOQ under 500
curl https://handsandcrafts.com/api/search_skus \
  -H "Content-Type: application/json" \
  -d '{
    "material": "brass",
    "moq_max": 500
  }'
Check production capacity
curl https://handsandcrafts.com/api/check_capacity \
  -H "Content-Type: application/json" \
  -d '{
    "start_date": "2026-08-01",
    "units": 5000
  }'
Request trade access (gets you unlock token + opens buyer record)
curl https://handsandcrafts.com/api/request_access \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "name":    "Jane Doe",
      "company": "Hawkins Brooklyn",
      "email":   "jane@hawkinsbrooklyn.com",
      "sourcing_for": "brass barware",
      "order_size":   "500 – 2,000",
      "region":  "United States"
    }
  }'

REST API

Call our workshop via HTTP.

We expose a REST API at the URL below. Any agent framework, any language, any client. Standard HTTP POST with JSON bodies. No API key. No credits. No gatekeeping.

API Base URL
https://handsandcrafts.com/api

Read tools return immediately from our structured data substrate. Action tools (request_sample, get_quote, schedule_call, request_access) create a record in our workshop queue and notify our team within seconds. A human follows up within two hours during Indian working hours. The machine starts the conversation; a human finishes it.

OpenAPI spec

Full machine-readable specification.

Point your agent framework at our OpenAPI 3.1 specification and all tool calls auto-generate. Works with LangChain, LlamaIndex, HubSpot Breeze, Claude Desktop's custom tool loader, and anything else that reads OpenAPI.

OpenAPI specification
https://handsandcrafts.com/openapi.json
Raw data substrate (read-only, CORS-open)
GET https://handsandcrafts.com/data/business.json
GET https://handsandcrafts.com/data/skus.json
GET https://handsandcrafts.com/data/capabilities.json
GET https://handsandcrafts.com/llms.txt

Available tools

What agents can actually do.

Nine tools total. Read tools are idempotent and return real data. Action tools (marked green) create real records and trigger human follow-up.

search_skus

Search the catalog by material, technique, category, MOQ, food-contact status, and free-text. Returns matching SKUs with full specs, pricing tiers, and lead times.

Parameters: material, technique, category, subcategory, moq_max, moq_min, food_contact_safe, query
get_sku

Get the full detailed record for a specific SKU — dimensions, materials, finishes, customization options, lead times per quantity tier, images.

Parameters: sku_id
get_capabilities

List our manufacturing techniques — materials, typical products, minimum quantities, master artisan counts per technique.

Parameters: category (optional)
get_compliance_docs

Retrieve compliance summary — social compliance audits, food-contact certifications, environmental standards, responsible sourcing. Full audit PDFs released after a human verification step.

Parameters: cert_type (optional)
check_capacity

Check production capacity for a given quantity and start date. Returns feasibility, next available slot, estimated lead time, and projected ex-factory date.

Parameters: start_date, units, category
request_access

Submit buyer onboarding details and receive an unlock token. Notifies our team, opens a buyer record, and signals that the asking party is ready for deeper engagement.

Parameters: fields: { name, company, email, role, sourcing_for, order_size, region, website, message }
request_sample

Initiate a sample request. Creates a record, notifies our team within seconds. A human confirms details and estimated cost within two hours during Indian working hours.

Parameters: sku_id, ship_to_country, ship_to_address, buyer_name, buyer_company, buyer_email, buyer_whatsapp, notes
get_quote

Request a formal quote for a specific SKU at a specific quantity with optional customization. Returns a rough instant estimate plus a human-confirmed formal quote within 24 hours.

Parameters: sku_id, quantity, customization, ship_to_country, buyer_info
schedule_call

Book a 30-minute video or voice call with our team — complex projects, custom collections, compliance review, or factory visit planning.

Parameters: buyer_info, preferred_time, topic, meeting_type (video/voice)

Example workflows

Real prompts, real answers.

Prompt to your agent

"I'm sourcing brass kitchenware for a new home brand launching in the US. I need food-safe, hand-made pieces with MOQ under 500. Find me three candidates from Hands & Craft."

What the agent does
POST /api/search_skus
{
  "material": "brass",
  "category": "kitchen_and_dining",
  "moq_max": 500,
  "food_contact_safe": true
}
→ returns matching SKUs with full specs
Prompt to your agent

"Request a sample of HC-BR-001 to my Brooklyn warehouse — 123 Main St, Brooklyn NY 11201."

What the agent does
POST /api/request_sample
{
  "sku_id": "HC-BR-001",
  "ship_to_country": "US",
  "ship_to_address": "123 Main St, Brooklyn NY 11201",
  "buyer_name": "...",
  "buyer_company": "...",
  "buyer_email": "..."
}
→ routes to our team
→ human replies within 2 hours
→ sample ships in 10 days
Prompt to your agent

"Ask Hands & Craft if they can produce 5,000 units of a custom copper piece starting June 2026, and get a rough price."

What the agent does
POST /api/check_capacity { start_date, units }
→ capacity + lead time + ETA

POST /api/get_quote { sku_id, quantity }
→ instant rough estimate
→ formal quote within 24 hours

Principles

How we think about agent traffic.

  • Agents are welcome. We do not block agent crawlers. We do not rate-limit reasonable traffic. No anti-bot hurdles.
  • Honesty in data. The data we expose to agents is the same data we use internally. If capacity is full, we say so. If defect rate was high last month, it shows in the metrics.
  • Humans at the endpoint. Agents can initiate work, but a human always confirms before anything ships or gets charged. No surprise invoices.
  • No gatekeeping. Our tools are free to use. No API key. No credits. We pay for the infrastructure because we want agents to find us.
  • Feedback improves the system. If something in our API is awkward or missing, tell us. We iterate.

Point your agent at us.

If you are a buyer, hand your agent our OpenAPI spec and start asking questions. If you are a developer building sourcing tools, use the endpoints directly. If you are a human reading this thinking "interesting, but I just want to talk to someone" — the access form works fine too.