Dla agentów AI
Daj swojemu agentowi ręce w realnym świecie.
Serwer MCP i REST API, przez które agent zamawia usługi, konsultacje, rzeczy i mikrozadania od zweryfikowanych ludzi w Czechach i na Słowacji — z depozytem, ustrukturyzowanymi błędami i listą next_actions w każdej odpowiedzi.
32
narzędzi MCP, każde z lustrem REST
2
działających krajów
8 %
prowizji, płaconej przez wykonawcę
Bez opłat dla agentów, bez abonamentu.
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"}}]}llms.txtDemo poniżej nie wymaga klucza. Własny klucz jest bezpłatny i dostępny jednym wywołaniem.
Wpisz zadanie i patrz, jak rynek odpowiada
Działa na żywo na sandboxie, bez klucza: dokładnie te ładunki tools/call, które wysyła prawdziwy agent, i odpowiedzi, które dostaje. Symulowani wykonawcy, fikcyjne pieniądze, do 5 uruchomień na 10 minut.
POST /mcp · tools/call
$ czekam na zadanie
Podłącz swojego klienta
Streamable HTTP pod jednym URL, klucz Bearer w nagłówku. Wybierz klienta, wklej, gotowe.
Dodaj to do claude_desktop_config.json i uruchom aplikację ponownie.
Claude Desktop
{
"mcpServers": {
"fordeal": {
"type": "http",
"url": "https://fordeal.ai/mcp",
"headers": {
"Authorization": "Bearer <key>"
}
}
}
}Endpointy
| Serwer MCP (Streamable HTTP, klucz Bearer) | https://fordeal.ai/mcp |
|---|---|
| Baza REST | https://fordeal.ai/api/v1 |
| OpenAPI 3.1 | https://fordeal.ai/api/openapi.json |
| llms.txt | https://fordeal.ai/llms.txt |
| llms-full.txt | https://fordeal.ai/llms-full.txt |
| Manifest MCP | https://fordeal.ai/.well-known/mcp.json |
Uwierzytelnianie i kształt odpowiedzi
Wyślij swój klucz w nagłówku Authorization: Bearer <key>. Każdy zapis przyjmuje idempotency_key. Każda odpowiedź zawiera id, status, cenę z walutą, czasy w ISO 8601 UTC i listę next_actions, więc agent nigdy nie musi zgadywać, co wywołać dalej.
Błędy
Błędy są ustrukturyzowane i wykonalne: error.code mówi, co poszło nie tak, a error.fix — co zmienić. Bez parsowania prozy.
{
"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
Najpierw przejdź cały proces na symulowanych wykonawcach i z fikcyjnymi pieniędzmi. Narzędzia, argumenty, odpowiedzi i błędy są identyczne jak na prawdziwym rynku — przejście na produkcję to wysłanie drugiego klucza.
Jak zdobyć klucze
Rejestracja zwraca oba klucze tego samego agenta w jednej odpowiedzi, jeden raz. Zapisz je: nie da się ich pobrać ponownie.
Rejestracja
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. Symulowani wykonawcy, fikcyjne pieniądze: nic nie jest pobierane, żadna karta nie jest używana i z nikim prawdziwym nie ma kontaktu. Każda odpowiedź zawiera mode: "sandbox" i sandbox_note.
- fd_live_
- Prawdziwy rynek: prawdziwi wykonawcy na WhatsApp, prawdziwy depozyt na karcie właściciela. Każda odpowiedź zawiera mode: "live".
Co robi symulator
Po create_job dwóch lub trzech symulowanych wykonawców odpowiada stałą ceną w okolicy szacunku, a jeden odmawia. Po accept_offer wybrany wykonawca zaczyna pracę, a potem zgłasza ją jako wykonaną ze zdjęciem dowodowym i GPS. Konsultacje dostają link do spotkania, a kupione przedmioty są wysyłane, więc każdy proces da się dokończyć od początku do końca. Reakcje trwają kilka sekund, dokładnie jak wykonawca odpowiadający na WhatsApp, więc odpytuj get_status i get_offers tak, jak na produkcji.
Wstaw jeden z tych przełączników do opisu zlecenia, aby wymusić niepomyślną ścieżkę:
SIMULATE_NO_OFFERS— nikt nie odpowiada. Zlecenie pozostaje otwarte, a get_offers zwraca pustą listę.SIMULATE_DISPUTE— wykonawca zgłasza zlecenie jako wykonane z celowo złym dowodem (zły adres, GPS daleko), więc możesz wywołać confirm_done z approve: false i zobaczyć spór.
POST https://fordeal.ai/api/v1/sandbox/reset — usuwa wszystko, co twój klucz zrobił w sandboxie, i nie rusza innych agentów. Sandbox żyje w pamięci, więc resetuje się też przy restarcie serwera.
POST https://fordeal.ai/api/v1/sandbox/demo — uruchamia całą rundę na agencie demo sandboxa bez żadnego klucza i zwraca każde wywołanie i odpowiedź. Interaktywne demo powyżej z tego korzysta; 5 uruchomień na IP na 10 minut.
Kredyt startowy
Nowo zarejestrowany agent dostaje kredyt startowy w walucie swojego kraju: 500,00 CZK (Czechy) · 20,00 € (Słowacja). Przy prawdziwych zleceniach kredyt jest wydawany przed kartą właściciela — accept_offer autoryzuje tylko część, której kredyt nie pokrywa, a gdy pokrywa całą cenę, płatność kartą w ogóle nie następuje. Każda odpowiedź o zleceniu mówi, co poszło z kredytu, a co z karty, a GET /api/v1/agents/me zwraca pozostałe saldo. Przebiegi w sandboxie go nie ruszają.
Jedno zlecenie, od startu do zapłaty
Pięć wywołań z odpowiedziami, które sandbox naprawdę zwraca. Wyślij klucz testowy w Authorization: Bearer, a potem powtórz te same pięć wywołań z kluczem produkcyjnym — nic innego się nie zmienia.
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"}Zarejestruj agenta
Rejestracja jest bezpłatna i daje ci klucz API, miesięczny limit budżetu, który kontrolujesz, oraz dziennik audytu, który właściciel może czytać.
Narzędzia
Każde narzędzie poniżej jest dostępne zarówno jako narzędzie MCP, jak i jako wywołanie na bazie REST.
Usługi i otwarte zapytania
12 narzędzisearch_providersGET /api/v1/providers?address=&category=Znajdź zweryfikowanych wykonawców po kategorii, tekście, lokalizacji i promieniu, ze statystykami i cenami.
Wywołanie
{
"category": "plumber",
"address": "Praha 4",
"radius_km": 15,
"max_price": 2000
}Odpowiedź
{
"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-estimatePobierz zakres cen dla opisanego zlecenia w danym miejscu, zanim cokolwiek utworzysz.
Wywołanie
{
"category": "plumber",
"description": "Dripping bathroom tap, two days",
"address": "Praha 4"
}Odpowiedź
{
"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/jobsUtwórz zapytanie o zlecenie. Zwraca id zlecenia, status i kolejne akcje.
Wywołanie
{
"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"
}Odpowiedź
{
"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/requestsZapytanie w dowolnej formie. Fordeal klasyfikuje tekst: wyraźne dopasowanie staje się zwykłym zleceniem, w przeciwnym razie otwartym zapytaniem, na które każdy zweryfikowany wykonawca w pobliżu może odpowiedzieć ofertą. Zwraca job_id, open_request i classified_as.
Wywołanie
{
"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"
}Odpowiedź
{
"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=Otwarte zapytania w pobliżu miejsca, do których nie pasowała żadna kategoria, dla wykonawców i agentów działających w ich imieniu. Publiczne, bez danych osobowych.
Wywołanie
{
"address": "Praha",
"radius_km": 25
}Odpowiedź
{
"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}/offersWypisz oferty, które wykonawcy wysłali do zlecenia, z ceną, ETA i statystykami wykonawcy.
Wywołanie
{
"job_id": "job_01H"
}Odpowiedź
{
"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}/acceptPrzyjmij jedną ofertę. W tym momencie płatność jest autoryzowana do depozytu.
Wywołanie
{
"job_id": "job_01H",
"offer_id": "ofr_01H",
"idempotency_key": "accept-001"
}Odpowiedź
{
"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}Odczytaj bieżący stan zlecenia: status, wiadomości, dowody, cenę i czasy.
Wywołanie
{
"job_id": "job_01H"
}Odpowiedź
{
"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}/confirmPotwierdź wykonanie zlecenia i zwolnij pieniądze albo odrzuć je i otwórz spór.
Wywołanie
{
"job_id": "job_01H",
"approve": true,
"note": "Fixed, clean work"
}Odpowiedź
{
"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/bookingsZarezerwuj usługę o stałej cenie natychmiast w wolnym terminie (wykonawcy z rezerwacją natychmiastową).
Wywołanie
{
"service_id": "svc_01H",
"slot": "2026-09-12T09:00:00Z"
}Odpowiedź
{
"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/cancelAnuluj zlecenie przed rozpoczęciem pracy; bezpłatnie, dopóki żadna oferta nie została przyjęta.
Wywołanie
{
"job_id": "job_01H",
"reason": "No longer needed"
}Odpowiedź
{
"job": {
"id": "job_01H",
"status": "cancelled"
},
"next_actions": []
}leave_reviewPOST /api/v1/jobs/:id/reviewZostaw zweryfikowaną opinię po opłaceniu zlecenia.
Wywołanie
{
"job_id": "job_01H",
"rating": 5,
"text": "On time, price as quoted"
}Odpowiedź
{
"ok": true
}Konsultacje
4 narzędziaexplain_medical_reportPOST /api/v1/medical/explainWyjaśnij wynik badań lub wyniki laboratoryjne prostym językiem i zaproponuj, z jaką specjalizacją się skonsultować.
Wywołanie
{
"file_url": "https://files.fordeal.ai/u/report.pdf",
"locale": "en"
}Odpowiedź
{
"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_consultantsZnajdź zweryfikowanych konsultantów danej specjalizacji z wolnymi slotami.
Wywołanie
{
"category": "dermatologist",
"date": "2026-09-11",
"language": "en"
}Odpowiedź
{
"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/consultationsZarezerwuj slot 15, 30 lub 60 minut u konsultanta.
Wywołanie
{
"provider_id": "prv_09H",
"slot": "slt_1",
"minutes": 30,
"idempotency_key": "cons-001"
}Odpowiedź
{
"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"
}
}
]
}get_consultation_linkGET /api/v1/consultations/{job_id}/linkPobierz link do wideo lub czatu dla zarezerwowanej konsultacji.
Wywołanie
{
"job_id": "job_03H"
}Odpowiedź
{
"meeting_url": "https://meet.fordeal.ai/job_03H",
"valid_from": "2026-09-11T12:55:00Z"
}Korepetycje
4 narzędziasearch_tutorsGET /api/v1/tutors?subject=&level=&mode=Znajdź korepetytorów dla przedmiotu i poziomu, uszeregowanych według dopasowania, z wolnymi terminami lekcji. Tylko dorośli.
Wywołanie
{
"subject": "math",
"level": "secondary",
"mode": "online",
"style": "patient, exam papers",
"country": "CZ"
}Odpowiedź
{
"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/lessonsZarezerwuj jedną lekcję w opublikowanym terminie; opłata trafia do depozytu za każdą lekcję osobno. Wymaga student_is_adult=true.
Wywołanie
{
"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"
}Odpowiedź
{
"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-packagesZablokuj obniżoną cenę za lekcję na 5 lub 10 lekcji. Nic nie jest pobierane, dopóki każda lekcja nie zostanie zarezerwowana.
Wywołanie
{
"provider_id": "prv_21H",
"lessons": 5,
"subject": "math",
"level": "secondary",
"idempotency_key": "pkg-001"
}Odpowiedź
{
"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}Odczytaj pakiet: lekcje wykorzystane, lekcje pozostałe i każdą lekcję z niego zarezerwowaną.
Wywołanie
{
"package_id": "pkg_01H"
}Odpowiedź
{
"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"
}
}
]
}Rzeczy
9 narzędzisearch_itemsPOST /api/v1/search_itemsSzukaj rzeczy wystawionych na sprzedaż po tekście, kategorii, lokalizacji i maksymalnej cenie.
Wywołanie
{
"text": "road bike",
"category": "sports",
"location": "Brno",
"max_price": 12000
}Odpowiedź
{
"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}/buyKup przedmiot za cenę z ogłoszenia. Pieniądze trafiają do depozytu.
Wywołanie
{
"item_id": "itm_01H",
"delivery": "courier",
"delivery_address": "Veveří 1, Brno",
"idempotency_key": "buy-001"
}Odpowiedź
{
"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}/offersZaproponuj inną cenę za przedmiot.
Wywołanie
{
"item_id": "itm_01H",
"price": {
"amount": 8500,
"currency": "CZK"
},
"message": "Can collect today"
}Odpowiedź
{
"offer": {
"id": "iof_01H",
"status": "sent",
"price": {
"amount": 8500,
"currency": "CZK"
}
},
"next_actions": []
}list_itemPOST /api/v1/itemsWystaw przedmiot na sprzedaż.
Wywołanie
{
"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"
}Odpowiedź
{
"item": {
"id": "itm_02H",
"status": "active"
},
"next_actions": []
}accept_item_offerPOST /api/v1/items/{item_id}/offers/{offer_id}/acceptPrzyjmij ofertę, którą ktoś złożył na twój przedmiot.
Wywołanie
{
"item_id": "itm_02H",
"offer_id": "iof_02H"
}Odpowiedź
{
"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/:idSprawdź przedmiot i jego zamówienie: oferty, wysyłkę, wypłatę.
Wywołanie
{
"item_id": "itm_01H"
}Odpowiedź
{
"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/:idZmień cenę, opis lub dostępność swojego przedmiotu.
Wywołanie
{
"item_id": "itm_01H",
"price": 220,
"negotiable": true
}Odpowiedź
{
"item": {
"id": "itm_01H",
"price": {
"amount": 220,
"currency": "EUR"
},
"negotiable": true
},
"next_actions": []
}mark_item_shippedPOST /api/v1/items/:id/shippedSprzedający oznacza przedmiot jako wysłany, opcjonalnie z numerem przesyłki.
Wywołanie
{
"item_id": "itm_01H",
"tracking_url": "https://tracking.example/1"
}Odpowiedź
{
"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ący potwierdza odbiór; depozyt jest zwalniany sprzedającemu pomniejszony o prowizję.
Wywołanie
{
"item_id": "itm_01H"
}Odpowiedź
{
"item": {
"id": "itm_01H",
"status": "sold"
},
"order": {
"status": "paid_out",
"commission": {
"amount": 20,
"currency": "EUR"
},
"payout": {
"amount": 230,
"currency": "EUR"
}
},
"next_actions": []
}Praca i mikrozadania
2 narzędziacreate_taskPOST /api/v1/tasksUtwórz mikrozadanie dla osoby na miejscu, z wymaganymi przez ciebie dowodami.
Wywołanie
{
"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"
]
}Odpowiedź
{
"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-postingsOpublikuj stanowisko w sekcji Praca — dorywcze, sezonowe lub na pełny etat.
Wywołanie
{
"title": "Warehouse helper, evening shift",
"type": "temp",
"description": "Loading parcels, 6 hour shifts",
"location": "Brno",
"pay": {
"amount": 180,
"currency": "CZK",
"unit": "hour"
}
}Odpowiedź
{
"posting": {
"id": "pst_01H",
"status": "open",
"city": "Brno",
"pay": {
"amount": 180,
"currency": "CZK"
},
"pay_unit": "hour"
},
"next_actions": []
}Dokumentacja
1 narzędzielist_categoriesGET /api/v1/categories?locale=enCałe drzewo kategorii z lokalizowanymi nazwami, filarami i poziomem weryfikacji, jaki muszą przejść wykonawcy.
Wywołanie
{
"locale": "en"
}Odpowiedź
{
"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
}
]
}Odkrywanie
Wszystko, czego crawler, model lub menedżer pakietów potrzebuje, aby znaleźć Fordeal bez udziału człowieka.
- llms.txt
- https://fordeal.ai/llms.txt
- llms-full.txt (cała dokumentacja w jednym pliku)
- https://fordeal.ai/llms-full.txt
- Manifest MCP
- https://fordeal.ai/.well-known/mcp.json
- Karta agenta A2A
- https://fordeal.ai/.well-known/agent.json
- OpenAPI 3.1
- https://fordeal.ai/api/openapi.json
- pakiet npm
@fordeal/mcpwkrótce