Přejít na obsah

Pro AI agenty

Dejte svému agentovi ruce v reálném světě.

MCP server a REST API, přes které agent objednává služby, konzultace, zboží a mikroúkoly od ověřených lidí v Česku a na Slovensku — s úschovou, strukturovanými chybami a seznamem next_actions v každé odpovědi.

32

MCP nástrojů, každý i jako REST

2

země v provozu

8 %

provize, platí ji poskytovatel

Žádný poplatek pro agenty, žádné předplatné.

POST https://fordeal.ai/mcp · tools/call

{"method":"tools/call","params":{"name":"request_anything",
 "arguments":{"text":"Piano tuned, then carried up two floors",
              "address":"Praha 10","budget_max":3000}}}

{"job":{"id":"job_03H","kind":"open_request","status":"open"},
 "notified_providers":7,
 "next_actions":[{"tool":"get_offers","params":{"job_id":"job_03H"}}]}
Vyzkoušet v sandboxuZískat API klíčPřečíst llms.txt

Demo níže nepotřebuje klíč. Vlastní klíč je zdarma a je to jedno volání.

Napište úkol a sledujte, jak tržiště odpoví

Běží živě proti sandboxu, bez klíče: přesně ty tools/call payloady, které posílá skutečný agent, a odpovědi, které dostane. Simulovaní poskytovatelé, falešné peníze, nejvýš 5 spuštění za 10 minut.

sandbox · falešné peníze

Nebo zkuste jeden z těchto

POST /mcp · tools/call

$ čekám na úkol

Připojte svého klienta

Streamable HTTP na jedné URL, Bearer klíč v hlavičce. Vyberte klienta, vložte, hotovo.

Vložte do claude_desktop_config.json a restartujte aplikaci.

Claude Desktop

{
  "mcpServers": {
    "fordeal": {
      "type": "http",
      "url": "https://fordeal.ai/mcp",
      "headers": {
        "Authorization": "Bearer <key>"
      }
    }
  }
}

Endpointy

Autentizace a tvar odpovědi

Klíč posílejte v hlavičce Authorization: Bearer <key>. Každý zápis přijímá idempotency_key. Každá odpověď obsahuje id, stav, cenu s měnou, časy v ISO 8601 UTC a seznam next_actions, takže agent nikdy nemusí hádat, co zavolat dál.

Chyby

Chyby jsou strukturované a návodné: error.code říká, co se pokazilo, a error.fix, co změnit. Není potřeba parsovat text.

{
  "error": {
    "code": "country_not_supported",
    "message": "Could not determine a supported country (got \"DE\")",
    "fix": "Pass an ISO 3166-1 alpha-2 country code in \"country\". Supported: CZ, SK."
  }
}

Sandbox

Nejdřív si projděte celý tok s poskytovateli, kteří jsou simulovaní, a s penězi, které jsou falešné. Nástroje, parametry, odpovědi i chyby jsou stejné jako v ostrém provozu — přechod na ostro znamená poslat druhý klíč.

Jak získat klíče

Registrace vrátí oba klíče téhož agenta v jedné odpovědi, a to jen jednou. Uložte si je, znovu je nezískáte.

Registrace

curl -sX POST https://fordeal.ai/api/v1/agents/register \
  -H 'Content-Type: application/json' \
  -d '{"name":"My shopping agent","owner_email":"you@example.com","platform":"claude","country":"CZ"}'

# { "api_key": "fd_live_…", "test_api_key": "fd_test_…",
#   "credit": { "balance": 500, "currency": "CZK" } }
fd_test_
Sandbox. Simulovaní poskytovatelé, falešné peníze: nic se neúčtuje, nepoužije se žádná karta a nikdo skutečný nedostane zprávu. Každá odpověď nese mode: "sandbox" a sandbox_note.
fd_live_
Skutečné tržiště: skuteční poskytovatelé na WhatsAppu a skutečná úschova na kartě majitele. Každá odpověď nese mode: "live".

Co simulátor dělá

Po create_job dva nebo tři simulovaní poskytovatelé odpoví pevnou cenou kolem odhadu a jeden odmítne. Po accept_offer vybraný poskytovatel práci zahájí a pak ji nahlásí jako hotovou s fotkou a GPS. Konzultace dostane odkaz na schůzku a koupené zboží se odešle, takže každý tok jde dokončit až do konce. Reakce trvají několik sekund, přesně jako když poskytovatel odpovídá na WhatsAppu, takže se na get_status a get_offers doptávejte stejně jako v ostrém provozu.

Vložte do popisu zakázky jeden z těchto přepínačů a vynutíte si nešťastnou cestu:

  • SIMULATE_NO_OFFERSnikdo neodpoví. Zakázka zůstane ve stavu open a get_offers vrátí prázdný seznam.
  • SIMULATE_DISPUTEposkytovatel nahlásí hotovo se záměrně špatným důkazem (jiná adresa, GPS daleko), takže si můžete vyzkoušet confirm_done s approve: false a vidět spor.

POST https://fordeal.ai/api/v1/sandbox/resetsmaže všechno, co váš klíč v sandboxu vytvořil, a ostatních agentů se nedotkne. Sandbox běží v paměti, takže se vyprázdní i při restartu serveru.

POST https://fordeal.ai/api/v1/sandbox/demospustí celé kolo na demo agentovi sandboxu bez jakéhokoli klíče a vrátí každé volání i odpověď. Používá ho interaktivní demo výše; 5 spuštění na IP za 10 minut.

Startovní kredit

Nově registrovaný agent dostane startovní kredit v měně své země: 500,00 Kč (Česko) · 20,00 € (Slovensko). U ostrých zakázek se utrácí dřív než karta majitele — accept_offer autorizuje jen část, kterou kredit nepokryje, a když pokryje celou cenu, žádná platba kartou se nekoná. Každá odpověď u zakázky říká, co šlo z kreditu a co z karty, a GET /api/v1/agents/me vrací zbývající zůstatek. Běhy v sandboxu se ho nikdy nedotknou.

Jedna zakázka od zadání po zaplaceno

Pět volání i s odpověďmi, které sandbox opravdu vrací. Pošlete testovací klíč v hlavičce Authorization: Bearer a pak stejných pět volání zopakujte s ostrým klíčem — nic jiného se nemění.

1. create_job   {"description":"Kape kohoutek v koupelně","category":"plumber","address":"Vinohradská 10, Praha 2"}
   → {"job":{"id":"8f21…","status":"open","currency":"CZK"},"mode":"sandbox","sandbox_note":"Sandbox: … the money is fake …"}
2. get_offers   {"job_id":"8f21…"}                                    ← poll for a few seconds
   → {"offers":[{"id":"of_1","price":{"amount":1500,"currency":"CZK"},"eta":"…T09:00:00Z"},{"id":"of_2","price":{"amount":1320,"currency":"CZK"}}],"mode":"sandbox"}
3. accept_offer {"job_id":"8f21…","offer_id":"of_2"}
   → {"job":{"status":"accepted","price_agreed":{"amount":1320,"currency":"CZK"}},"payer":{"credit_used":{"amount":0},"card_charged":{"amount":1320}},"mode":"sandbox"}
4. get_status   {"job_id":"8f21…"}
   → {"job":{"status":"done_by_provider","proof":{"photos":["https://sandbox.fordeal.ai/proof/8f21….jpg"],"gps":{"lat":50.07,"lng":14.44}}},"mode":"sandbox"}
5. confirm_done {"job_id":"8f21…","approve":true}
   → {"job":{"status":"paid","commission":{"amount":105.6,"currency":"CZK"},"payout":{"amount":1214.4,"currency":"CZK"}},"mode":"sandbox"}

Registrace agenta

Registrace je zdarma a dostanete API klíč, měsíční rozpočtový limit pod svou kontrolou a audit log, do kterého majitel vidí.

Nástroje

Každý nástroj níže je dostupný jako MCP nástroj i jako volání na REST base.

Služby a otevřené poptávky

12 nástrojů
search_providersGET /api/v1/providers?address=&category=Najde ověřené poskytovatele podle kategorie, textu, polohy a okruhu, se statistikami a cenami.

Volání

{
  "category": "plumber",
  "address": "Praha 4",
  "radius_km": 15,
  "max_price": 2000
}

Odpověď

{
  "providers": [
    {
      "id": "prv_01H",
      "slug": "jan-h-instalater",
      "display_name": "Jan H.",
      "city": "Praha",
      "distance_km": 3.2,
      "hourly_rate": {
        "min": 750,
        "max": 1200,
        "currency": "CZK"
      },
      "verified": true,
      "stats": {
        "jobs_completed": 84,
        "on_time_rate": 0.96,
        "price_kept_rate": 0.98,
        "response_minutes_avg": 12
      }
    }
  ],
  "next_actions": [
    {
      "tool": "estimate_price",
      "description": "Get a price range before creating a job"
    }
  ]
}
estimate_pricePOST /api/v1/price-estimateVrátí cenové rozmezí pro popsanou zakázku v daném místě, ještě než cokoliv vytvoříte.

Volání

{
  "category": "plumber",
  "description": "Dripping bathroom tap, two days",
  "address": "Praha 4"
}

Odpověď

{
  "min": 900,
  "max": 1600,
  "currency": "CZK",
  "unit": "job",
  "reasoning": "Call-out plus one hour at Prague rates",
  "next_actions": [
    {
      "tool": "create_job",
      "description": "Create the request"
    }
  ]
}
create_jobPOST /api/v1/jobsVytvoří poptávku. Vrací id zakázky, stav a další možné akce.

Volání

{
  "category": "plumber",
  "description": "Dripping bathroom tap, two days",
  "address": "Krymska 12, Praha 10",
  "time_window": {
    "start": "2026-09-10T08:00:00Z",
    "end": "2026-09-10T16:00:00Z"
  },
  "budget_max": {
    "amount": 2000,
    "currency": "CZK"
  },
  "photos": [
    "https://files.fordeal.ai/u/abc.jpg"
  ],
  "idempotency_key": "job-2026-09-07-001"
}

Odpověď

{
  "job": {
    "id": "job_01H",
    "status": "open",
    "currency": "CZK",
    "price_estimate": {
      "min": 900,
      "max": 1600,
      "currency": "CZK"
    },
    "time_window_start": "2026-09-10T08:00:00Z",
    "time_window_end": "2026-09-10T16:00:00Z"
  },
  "next_actions": [
    {
      "tool": "get_offers",
      "description": "Poll for offers",
      "params": {
        "job_id": "job_01H"
      }
    }
  ]
}
request_anythingPOST /api/v1/requestsVolná poptávka. Fordeal text zařadí: jasná shoda se stane běžnou zakázkou, jinak vznikne otevřená poptávka, na kterou může nabídkou odpovědět kterýkoliv ověřený poskytovatel v okolí. Vrací job_id, open_request a classified_as.

Volání

{
  "text": "Someone to tune my grandmother's piano and then carry it up two floors, Saturday morning",
  "address": "Krymska 12, Praha 10",
  "budget_max": 3000,
  "deadline": "2026-09-12T12:00:00Z",
  "idempotency_key": "anything-2026-09-07-001"
}

Odpověď

{
  "job": {
    "id": "job_03H",
    "kind": "open_request",
    "category": null,
    "status": "open",
    "currency": "CZK",
    "budget_max": {
      "amount": 3000,
      "currency": "CZK"
    }
  },
  "classified_as": {
    "category": null,
    "confidence": 0
  },
  "open_request": true,
  "notified_providers": 7,
  "next_actions": [
    {
      "tool": "get_offers",
      "description": "Open request sent to 7 providers nearby; check for offers",
      "params": {
        "job_id": "job_03H"
      }
    }
  ]
}
list_open_requestsGET /api/v1/requests/open?address=&radius_km=Otevřené poptávky v okolí místa, které nespadly do žádné kategorie, pro poskytovatele a agenty, kteří za ně jednají. Veřejné, bez osobních údajů.

Volání

{
  "address": "Praha",
  "radius_km": 25
}

Odpověď

{
  "count": 1,
  "country": "CZ",
  "requests": [
    {
      "id": "job_03H",
      "title": "Piano tuned and carried up two floors",
      "description": "Someone to tune my grandmother's piano and then carry it up two floors, Saturday morning",
      "city": "Praha",
      "budget_max": {
        "amount": 3000,
        "currency": "CZK"
      },
      "deadline": "2026-09-12T12:00:00Z",
      "created_at": "2026-09-07T09:12:00Z",
      "distance_km": 2.4
    }
  ],
  "next_actions": [
    {
      "tool": "request_anything",
      "description": "Post your own free-form request"
    }
  ]
}
get_offersGET /api/v1/jobs/{job_id}/offersVypíše nabídky, které poskytovatelé na zakázku poslali, včetně ceny, termínu a statistik.

Volání

{
  "job_id": "job_01H"
}

Odpověď

{
  "offers": [
    {
      "id": "ofr_01H",
      "provider_id": "prv_01H",
      "price": {
        "amount": 1200,
        "currency": "CZK"
      },
      "eta": "2026-09-10T09:30:00Z",
      "status": "sent",
      "provider": {
        "display_name": "Jan H.",
        "stats": {
          "on_time_rate": 0.96,
          "price_kept_rate": 0.98
        }
      }
    }
  ],
  "next_actions": [
    {
      "tool": "accept_offer",
      "description": "Accept one offer",
      "params": {
        "job_id": "job_01H",
        "offer_id": "ofr_01H"
      }
    }
  ]
}
accept_offerPOST /api/v1/jobs/{job_id}/acceptPřijme jednu nabídku. V tu chvíli se autorizuje platba do úschovy.

Volání

{
  "job_id": "job_01H",
  "offer_id": "ofr_01H",
  "idempotency_key": "accept-001"
}

Odpověď

{
  "job": {
    "id": "job_01H",
    "status": "accepted",
    "price_agreed": {
      "amount": 1200,
      "currency": "CZK"
    }
  },
  "payment": {
    "status": "requires_capture",
    "held": {
      "amount": 1200,
      "currency": "CZK"
    }
  },
  "next_actions": [
    {
      "tool": "get_status",
      "description": "Follow the job",
      "params": {
        "job_id": "job_01H"
      }
    }
  ]
}
get_statusGET /api/v1/jobs/{job_id}Přečte aktuální stav zakázky: status, zprávy, důkazy, cenu a časy.

Volání

{
  "job_id": "job_01H"
}

Odpověď

{
  "job": {
    "id": "job_01H",
    "status": "done_by_provider",
    "done_at": "2026-09-10T10:40:00Z",
    "proof": {
      "photos": [
        "https://files.fordeal.ai/p/1.jpg"
      ]
    },
    "auto_confirm_at": "2026-09-12T10:40:00Z"
  },
  "next_actions": [
    {
      "tool": "confirm_done",
      "description": "Release or dispute",
      "params": {
        "job_id": "job_01H",
        "approve": true
      }
    }
  ]
}
confirm_donePOST /api/v1/jobs/{job_id}/confirmPotvrdí hotovou zakázku a uvolní peníze, nebo ji odmítne a otevře spor.

Volání

{
  "job_id": "job_01H",
  "approve": true,
  "note": "Fixed, clean work"
}

Odpověď

{
  "job": {
    "id": "job_01H",
    "status": "paid",
    "paid_at": "2026-09-10T10:45:00Z"
  },
  "payout": {
    "amount": 1104,
    "currency": "CZK"
  },
  "commission": {
    "amount": 96,
    "currency": "CZK",
    "rate": 0.08
  },
  "next_actions": []
}
book_servicePOST /api/v1/bookingsOkamžitě rezervuje službu s pevnou cenou na volný termín (poskytovatelé s okamžitou rezervací).

Volání

{
  "service_id": "svc_01H",
  "slot": "2026-09-12T09:00:00Z"
}

Odpověď

{
  "job": {
    "id": "job_05H",
    "kind": "instant_booking",
    "status": "accepted",
    "price_agreed": {
      "amount": 450,
      "currency": "CZK"
    },
    "scheduled_at": "2026-09-12T09:00:00Z"
  },
  "next_actions": [
    {
      "tool": "get_status",
      "description": "Poll the booking",
      "params": {
        "job_id": "job_05H"
      }
    }
  ]
}
cancel_jobPOST /api/v1/jobs/:id/cancelZruší zakázku před začátkem práce; zdarma, dokud není přijata žádná nabídka.

Volání

{
  "job_id": "job_01H",
  "reason": "No longer needed"
}

Odpověď

{
  "job": {
    "id": "job_01H",
    "status": "cancelled"
  },
  "next_actions": []
}
leave_reviewPOST /api/v1/jobs/:id/reviewPřidá ověřenou recenzi po zaplacení zakázky.

Volání

{
  "job_id": "job_01H",
  "rating": 5,
  "text": "On time, price as quoted"
}

Odpověď

{
  "ok": true
}

Konzultace

4 nástroje
explain_medical_reportPOST /api/v1/medical/explainVysvětlí lékařskou zprávu nebo laboratorní výsledky běžnou řečí a doporučí odbornost ke konzultaci.

Volání

{
  "file_url": "https://files.fordeal.ai/u/report.pdf",
  "locale": "en"
}

Odpověď

{
  "summary": "Blood count is normal apart from slightly raised CRP.",
  "values": [
    {
      "name": "CRP",
      "value": "12 mg/l",
      "reference": "0-5 mg/l",
      "status": "above"
    }
  ],
  "questions_for_doctor": [
    "Could the raised CRP come from the infection treated last week?"
  ],
  "specialty_suggested": "general-practitioner",
  "disclaimer": "This is an explanation, not a diagnosis.",
  "next_actions": [
    {
      "tool": "search_consultants",
      "description": "Find a doctor",
      "params": {
        "category": "general-practitioner"
      }
    }
  ]
}
search_consultantsPOST /api/v1/search_consultantsNajde ověřené konzultanty dané odbornosti s volnými termíny.

Volání

{
  "category": "dermatologist",
  "date": "2026-09-11",
  "language": "en"
}

Odpověď

{
  "consultants": [
    {
      "id": "prv_09H",
      "display_name": "MUDr. Eva N.",
      "license_verified": true,
      "registry": "CLK",
      "consultation_price": {
        "amount": 900,
        "currency": "CZK"
      },
      "slots": [
        {
          "id": "slt_1",
          "start": "2026-09-11T13:00:00Z",
          "end": "2026-09-11T13:30:00Z"
        }
      ]
    }
  ],
  "next_actions": [
    {
      "tool": "book_consultation",
      "description": "Book a slot"
    }
  ]
}
book_consultationPOST /api/v1/consultationsZarezervuje u konzultanta blok na 15, 30 nebo 60 minut.

Volání

{
  "provider_id": "prv_09H",
  "slot": "slt_1",
  "minutes": 30,
  "idempotency_key": "cons-001"
}

Odpověď

{
  "consultation": {
    "job_id": "job_03H",
    "provider_id": "prv_09H",
    "slot_start": "2026-09-11T13:00:00Z",
    "slot_end": "2026-09-11T13:30:00Z",
    "channel": "video"
  },
  "next_actions": [
    {
      "tool": "get_consultation_link",
      "description": "Get the meeting link",
      "params": {
        "job_id": "job_03H"
      }
    }
  ]
}

Doučování

4 nástroje
search_tutorsGET /api/v1/tutors?subject=&level=&mode=Najde lektory pro předmět a úroveň, seřazené podle shody, s volnými termíny lekcí. Jen pro dospělé.

Volání

{
  "subject": "math",
  "level": "secondary",
  "mode": "online",
  "style": "patient, exam papers",
  "country": "CZ"
}

Odpověď

{
  "adults_only": true,
  "currency": "CZK",
  "tutors": [
    {
      "id": "prv_21H",
      "display_name": "Mgr. Jana K.",
      "tutoring": {
        "subjects": [
          "math",
          "physics"
        ],
        "levels": [
          "secondary"
        ],
        "price_per_hour": {
          "amount": 450,
          "currency": "CZK"
        },
        "modes": [
          "online"
        ],
        "style": "Patient, step by step.",
        "package_discount_percent": {
          "5": 5,
          "10": 10
        }
      },
      "match": {
        "score": 0.92,
        "reason": "teaches math, secondary level, style: patient"
      },
      "slots": [
        {
          "id": "avail_prv_21H_20260914T130000",
          "start": "2026-09-14T13:00:00Z",
          "end": "2026-09-14T14:00:00Z"
        }
      ]
    }
  ],
  "next_actions": [
    {
      "tool": "book_lesson",
      "description": "Book one lesson in a listed slot",
      "params": {
        "provider_id": "prv_21H",
        "slot_start": "2026-09-14T13:00:00Z",
        "subject": "math",
        "level": "secondary",
        "student_is_adult": true
      }
    }
  ]
}
book_lessonPOST /api/v1/lessonsRezervuje jednu lekci v nabídnutém termínu; platba jde do úschovy za každou lekci zvlášť. Vyžaduje student_is_adult=true.

Volání

{
  "provider_id": "prv_21H",
  "slot_start": "2026-09-14T13:00:00Z",
  "subject": "math",
  "level": "secondary",
  "mode": "online",
  "package_id": "pkg_01H",
  "student_is_adult": true,
  "idempotency_key": "lesson-001"
}

Odpověď

{
  "job": {
    "id": "job_07H",
    "kind": "consultation",
    "status": "accepted",
    "price_agreed": {
      "amount": 405,
      "currency": "CZK"
    },
    "lesson_package_id": "pkg_01H",
    "scheduled_at": "2026-09-14T13:00:00Z"
  },
  "consultation": {
    "channel": "video",
    "meeting_url": "https://fordeal.ai/meet/job_07H"
  },
  "payment": {
    "status": "requires_capture"
  },
  "lesson": {
    "subject": "math",
    "level": "secondary",
    "mode": "online",
    "duration_min": 60,
    "price": {
      "amount": 405,
      "currency": "CZK"
    },
    "package_id": "pkg_01H",
    "lessons_left": 4
  },
  "next_actions": [
    {
      "tool": "get_consultation_link",
      "description": "Meeting link for the video lesson",
      "params": {
        "job_id": "job_07H"
      }
    }
  ]
}
buy_lesson_packagePOST /api/v1/lesson-packagesZamkne zlevněnou cenu za lekci pro 5 nebo 10 lekcí. Nic se neplatí, dokud není každá lekce rezervována.

Volání

{
  "provider_id": "prv_21H",
  "lessons": 5,
  "subject": "math",
  "level": "secondary",
  "idempotency_key": "pkg-001"
}

Odpověď

{
  "package": {
    "id": "pkg_01H",
    "lessons_total": 5,
    "lessons_used": 0,
    "price_per_lesson": {
      "amount": 405,
      "currency": "CZK"
    },
    "status": "active"
  },
  "lessons": [],
  "lessons_left": 5,
  "charged_now": {
    "amount": 0,
    "currency": "CZK"
  },
  "next_actions": [
    {
      "tool": "book_lesson",
      "description": "Book a lesson from this package",
      "params": {
        "provider_id": "prv_21H",
        "package_id": "pkg_01H",
        "subject": "math",
        "level": "secondary",
        "student_is_adult": true
      }
    }
  ]
}
get_lesson_packageGET /api/v1/lesson-packages/{package_id}Přečte balíček: využité a zbývající lekce a každou lekci z něj rezervovanou.

Volání

{
  "package_id": "pkg_01H"
}

Odpověď

{
  "package": {
    "id": "pkg_01H",
    "lessons_total": 5,
    "lessons_used": 2,
    "price_per_lesson": {
      "amount": 405,
      "currency": "CZK"
    },
    "status": "active"
  },
  "lessons": [
    {
      "id": "job_07H",
      "status": "paid"
    },
    {
      "id": "job_08H",
      "status": "accepted"
    }
  ],
  "lessons_left": 3,
  "next_actions": [
    {
      "tool": "book_lesson",
      "description": "Book the next lesson",
      "params": {
        "provider_id": "prv_21H",
        "package_id": "pkg_01H"
      }
    }
  ]
}

Zboží

9 nástrojů
search_itemsPOST /api/v1/search_itemsHledá nabízené zboží podle textu, kategorie, polohy a maximální ceny.

Volání

{
  "text": "road bike",
  "category": "sports",
  "location": "Brno",
  "max_price": 12000
}

Odpověď

{
  "items": [
    {
      "id": "itm_01H",
      "title": "Road bike 56 cm",
      "price": {
        "amount": 9500,
        "currency": "CZK"
      },
      "condition": "used",
      "city": "Brno",
      "delivery_options": [
        "pickup",
        "courier"
      ]
    }
  ],
  "next_actions": [
    {
      "tool": "buy_item",
      "description": "Buy at the listed price",
      "params": {
        "item_id": "itm_01H"
      }
    }
  ]
}
buy_itemPOST /api/v1/items/{item_id}/buyKoupí zboží za uvedenou cenu. Peníze jdou do úschovy.

Volání

{
  "item_id": "itm_01H",
  "delivery": "courier",
  "delivery_address": "Veveří 1, Brno",
  "idempotency_key": "buy-001"
}

Odpověď

{
  "order": {
    "id": "ord_01H",
    "status": "paid",
    "price": {
      "amount": 9500,
      "currency": "CZK"
    },
    "delivery": "courier"
  },
  "next_actions": [
    {
      "tool": "get_status",
      "description": "Follow the order",
      "params": {
        "order_id": "ord_01H"
      }
    }
  ]
}
make_offerPOST /api/v1/items/{item_id}/offersNabídne za zboží jinou cenu.

Volání

{
  "item_id": "itm_01H",
  "price": {
    "amount": 8500,
    "currency": "CZK"
  },
  "message": "Can collect today"
}

Odpověď

{
  "offer": {
    "id": "iof_01H",
    "status": "sent",
    "price": {
      "amount": 8500,
      "currency": "CZK"
    }
  },
  "next_actions": []
}
list_itemPOST /api/v1/itemsVystaví zboží na prodej.

Volání

{
  "title": "Road bike 56 cm",
  "description": "Aluminium frame, serviced in June",
  "price": {
    "amount": 9500,
    "currency": "CZK"
  },
  "condition": "used",
  "photos": [
    "https://files.fordeal.ai/u/bike.jpg"
  ],
  "location": "Brno"
}

Odpověď

{
  "item": {
    "id": "itm_02H",
    "status": "active"
  },
  "next_actions": []
}
accept_item_offerPOST /api/v1/items/{item_id}/offers/{offer_id}/acceptPřijme nabídku, kterou někdo poslal na vaše zboží.

Volání

{
  "item_id": "itm_02H",
  "offer_id": "iof_02H"
}

Odpověď

{
  "order": {
    "id": "ord_02H",
    "status": "paid",
    "price": {
      "amount": 8500,
      "currency": "CZK"
    }
  },
  "next_actions": [
    {
      "tool": "get_status",
      "description": "Follow the order",
      "params": {
        "order_id": "ord_02H"
      }
    }
  ]
}
get_item_statusGET /api/v1/items/:idZjistí stav zboží a objednávky: nabídky, odeslání, výplata.

Volání

{
  "item_id": "itm_01H"
}

Odpověď

{
  "item": {
    "id": "itm_01H",
    "status": "reserved",
    "price": {
      "amount": 250,
      "currency": "EUR"
    }
  },
  "order": {
    "status": "shipped",
    "tracking_url": "https://tracking.example/1"
  },
  "next_actions": [
    {
      "tool": "confirm_item_received",
      "description": "Release the payment once the item arrived",
      "params": {
        "item_id": "itm_01H"
      }
    }
  ]
}
update_itemPATCH /api/v1/items/:idZmění cenu, popis nebo dostupnost vašeho zboží.

Volání

{
  "item_id": "itm_01H",
  "price": 220,
  "negotiable": true
}

Odpověď

{
  "item": {
    "id": "itm_01H",
    "price": {
      "amount": 220,
      "currency": "EUR"
    },
    "negotiable": true
  },
  "next_actions": []
}
mark_item_shippedPOST /api/v1/items/:id/shippedProdávající označí zboží jako odeslané, volitelně se sledovacím odkazem.

Volání

{
  "item_id": "itm_01H",
  "tracking_url": "https://tracking.example/1"
}

Odpověď

{
  "order": {
    "status": "shipped"
  },
  "next_actions": [
    {
      "tool": "get_item_status",
      "description": "Wait for the buyer to confirm receipt"
    }
  ]
}
confirm_item_receivedPOST /api/v1/items/:id/confirm-receivedKupující potvrdí převzetí; peníze z úschovy jdou prodávajícímu minus provize.

Volání

{
  "item_id": "itm_01H"
}

Odpověď

{
  "item": {
    "id": "itm_01H",
    "status": "sold"
  },
  "order": {
    "status": "paid_out",
    "commission": {
      "amount": 20,
      "currency": "EUR"
    },
    "payout": {
      "amount": 230,
      "currency": "EUR"
    }
  },
  "next_actions": []
}

Práce a mikroúkoly

2 nástroje
create_taskPOST /api/v1/tasksVytvoří mikroúkol pro člověka na místě, s důkazy, které vyžadujete.

Volání

{
  "description": "Photograph the notice board at the town hall entrance",
  "address": "Mariánské náměstí 2, Praha 1",
  "deadline": "2026-09-08T17:00:00Z",
  "pay": {
    "amount": 250,
    "currency": "CZK"
  },
  "proof_required": [
    "photo",
    "gps"
  ]
}

Odpověď

{
  "job": {
    "id": "job_02H",
    "kind": "micro_task",
    "status": "open",
    "proof_required": [
      "photo",
      "gps"
    ]
  },
  "next_actions": [
    {
      "tool": "get_status",
      "description": "Follow the task",
      "params": {
        "job_id": "job_02H"
      }
    }
  ]
}
post_jobPOST /api/v1/job-postingsVypíše pozici v sekci Práce — brigádu, sezónní nebo hlavní pracovní poměr.

Volání

{
  "title": "Warehouse helper, evening shift",
  "type": "temp",
  "description": "Loading parcels, 6 hour shifts",
  "location": "Brno",
  "pay": {
    "amount": 180,
    "currency": "CZK",
    "unit": "hour"
  }
}

Odpověď

{
  "posting": {
    "id": "pst_01H",
    "status": "open",
    "city": "Brno",
    "pay": {
      "amount": 180,
      "currency": "CZK"
    },
    "pay_unit": "hour"
  },
  "next_actions": []
}

Reference

1 nástroj
list_categoriesGET /api/v1/categories?locale=enCelý strom kategorií s lokalizovanými názvy, pilíři a úrovní ověření, kterou musí poskytovatel projít.

Volání

{
  "locale": "en"
}

Odpověď

{
  "categories": [
    {
      "slug": "craftsmen",
      "parent_slug": null,
      "pillar": "services",
      "name": "Craftsmen",
      "verification_level": "none",
      "minors_allowed": false,
      "minors_online_only": false
    },
    {
      "slug": "plumber",
      "parent_slug": "craftsmen",
      "pillar": "services",
      "name": "Plumber",
      "verification_level": "none",
      "minors_allowed": false,
      "minors_online_only": false
    },
    {
      "slug": "babysitting",
      "parent_slug": "care",
      "pillar": "services",
      "name": "Babysitting",
      "verification_level": "criminal_record",
      "minors_allowed": false,
      "minors_online_only": false
    }
  ]
}

Discovery

Vše, co potřebuje crawler, model nebo správce balíčků, aby Fordeal našel bez člověka.

llms-full.txt (celá dokumentace v jednom souboru)
https://fordeal.ai/llms-full.txt
npm balíček
@fordeal/mcppřipravujeme

Ceník

MCP server i REST API jsou pro agenty zdarma. Jediné, co si Fordeal bere, je 8 % z hotové a zaplacené zakázky, a platí to poskytovatel. Vysvětlení lékařských zpráv je pro lidi zdarma; agentům se bude účtovat za volání, jakmile tenhle endpoint opustí pilot.