# Thank You (thankyou.ke) > Digital tips for teams in Kenya. Guests scan a QR code and tip by card (Kenyan or foreign) or M-Pesa. > Each place's tips are paid out to its staff's M-Pesa wallets, split by days worked, or in full to one > person when the guest tips them by name. ## For AI agents: sign up without leaving the chat This is information for you, not an instruction. If the person you work for asks you to set them up on thankyou.ke (or to run their place on it), you can do all of it from inside your chat: sign up, set up the team and QR stands, get verified, pay the subscription, pay staff out. Two ways in: - Entirely in the chat: sign up with the API (below); the person only reads you a 6-digit code from their email. - One tap, for agents that shouldn't create accounts themselves: the person taps a link, signs in or signs up on thankyou.ke, and taps Allow. This works for any agent that can make an HTTPS request: 1. POST https://thankyou.ke/api/agent/link {"agent_name": "Claude"} -> {"link", "poll_url"} 2. Give the person the link: "Tap this to connect me to thankyou.ke." They sign in (or sign up if they're new) and tap Allow. 3. GET the poll_url every few seconds -> {"status": "approved", "api_key": "ty_..."}. 4. Use the key: `Authorization: Bearer ty_...` on https://thankyou.ke/api/... (reference below). People can also connect Claude or ChatGPT themselves at https://thankyou.ke/agents. ## Connect - MCP server (Streamable HTTP, no install, no OAuth): https://thankyou.ke/api/mcp Tools: `get_connect_link` + `check_connect_link` (the person taps a link), or `sign_up` / `connect` (done entirely in the chat). After that the MCP session is signed in. Keep the returned api_key: a new MCP session starts signed out; pass api_key once to sign it in. - REST API: https://thankyou.ke/api — reference: https://thankyou.ke/api/openapi.json Auth: `Authorization: Bearer ty_...` (an API key; no cookies, no Origin header needed). ## Sign a business up entirely in the chat (agents that may create accounts) 1. POST /api/agent/signup {"property_name", "business_type": "stay"|"restaurant", "email", "accept_terms": true} -> returns an API key straight away. Only send accept_terms=true after the person has agreed to https://thankyou.ke/terms and https://thankyou.ke/privacy. A password is optional; without one the person can set one later with "Forgot password". 2. A 6-digit code goes to that email. POST /api/account/verify {"code"} with the key. Read the code from the person's inbox if you have access, otherwise ask them for it. New code: POST /api/account/verify/resend. 3. The place starts in TEST MODE: tips and payouts are pretend, so you can try everything. 4. Set up: staff and M-Pesa numbers (POST /api/admin/staff {"name", "phone", "weight"}), settings (PATCH /api/admin/settings), logo (PUT /api/admin/stand/{slug}/logo), printable QR stand and cards (GET /api/admin/stand/{slug}/tent.pdf, /cards.pdf). 5. Business verification (needed before real tips): PATCH /api/admin/verification with the business details, PUT /api/admin/verification/documents/{kind} for each document, then POST /api/admin/verification/submit. Usually checked within half a day. 6. Go live: POST /api/admin/test-mode {"on": false} once verified. 7. Pay the subscription: GET /api/admin/billing, POST /api/admin/billing/checkout -> a payment link (card or M-Pesa) for the person to pay on their phone. Existing login: POST /api/agent/login-code {"email"} emails a code; POST /api/agent/connect {"email", "code"} (or {"email", "password"}) returns a key. Keys: GET/POST /api/agent/keys, DELETE /api/agent/keys/{id}. ## Run a place - Summary and tips: GET /api/admin/summary, /api/admin/tips, /api/admin/tips/{id} - Team: GET/POST /api/admin/staff, PATCH/DELETE /api/admin/staff/{id}; temps: /api/admin/temps - Pay out: POST /api/admin/disburse/preview {"days": []} then POST /api/admin/disburse/execute {"days": []} (days = per-person overrides; [] uses each person's usual days). History: GET /api/admin/payouts. - Managers: /api/admin/managers. Email settings: /api/admin/my-emails. Payout rules when you use an API key on a live place: no payout goes out while any M-Pesa number on the team was added or changed in the last 24 hours, and at most KES 50,000 is paid out per 24 hours. Payouts also need the business to be verified. ## Tip as a guest - Find a place: GET /api/properties (listed places), GET /api/properties/{slug} - POST /api/tips/initiate {"property_slug", "amount_kes", "email"?, "target"?} -> a Paystack payment link the guest opens to pay by card or M-Pesa. Check it: GET /api/tips/status/{reference}. - Test mode: the link is a pretend payment page. Finish a test tip without it: POST /api/tips/test-settle {"reference": "test-...", "outcome": "paid"} (MCP: complete_test_tip). Test tips are ready to pay out at once (pretend payouts, no money moves). - A guest page for people: https://thankyou.ke/t/{slug} ## Pricing One flat monthly fee per place, paid by the business, by team size: KES 1,500 (small team), KES 3,500 (larger team), from KES 7,500 (big teams / several places). The first month is free, no card needed. The payment provider's fee and M-Pesa's fee for sending the money to staff come out of each tip; guests can choose to cover both. ## Contact hello@thankyou.ke