# Vumodi > Vumodi (https://vumodi.com) is a medicine search for Venezuela and a directory of independent trainers, nutrition coaches and wellness coaches. A person books a one-to-one session with a coach, the coach accepts it, and the person pays the coach directly, outside Vumodi. This file tells a program that acts for a person (an AI agent) what the site offers and how to book a session with plain HTTP requests. The website is a JavaScript application: fetching one of its pages returns a short description and a pointer to this file, not the content of the page. Do not scrape the pages. Use the API described below. ## What Vumodi offers - **Medicine search for Venezuela.** One search shows which pharmacies have a medicine and at what price, as the pharmacy chains publish it (Farmatodo, Locatel, Farmacia SAAS). Page: https://vumodi.com/product. The results of a search are at `https://vumodi.com/search/`, for example https://vumodi.com/search/atamel. Vumodi sells no medicines and gives no medical advice. - **Coaches.** Three categories: `trainer` (physical training and sport), `nutritionist` (shown as "nutrition coach": eating habits and lifestyle, not clinical nutrition) and `wellness` (stress, mindfulness, relaxation, habits and motivation, not therapy). The coaches are independent; Vumodi does not check their training or credentials. Their sessions are training and guidance. They are not medical care or therapy, and they diagnose and treat nothing. Directory: https://vumodi.com/coaches. - **Sessions.** A coach offers one or more one-to-one sessions, each with a length and a price, at the hours the coach is free, over the channels the coach uses (WhatsApp, Zoom, Google Meet, a phone call, in person and others). - **Payment.** The client pays the coach directly with a method the coach accepts (Wise, a bank transfer, Zelle, PayPal, Binance, Pago Móvil, cash or another). Vumodi receives no money and moves none: it shows how the coach is paid and keeps the record of the payment. - **Workout log and weight log.** https://vumodi.com/workout and https://vumodi.com/weight. They need no account, and what is logged stays in the person's browser. - **Languages.** Spanish (the main one), English and German. - **Contact.** info@vumodi.com. Help: https://vumodi.com/support. ## Rules for a program that books for a person 1. Act only for a person who asked you to. Before you book, tell them the coach, the session, its price and its date and time in their own time zone, and book only when they say yes. A booking is a request to a real person, who is told of it at once. 2. An account is the person's, not yours. Creating one means that the person is 18 or older and accepts the terms (https://vumodi.com/terms) and the privacy policy (https://vumodi.com/privacy): ask them, and do not answer for them. Use their real name and their own e-mail address; Vumodi writes to it. Give them the password, so that they can log in at https://vumodi.com/login and in the apps. 3. There is no sandbox. Do not make bookings to try the API, and do not book an hour to hold it. An account can have five requests waiting for an answer, and no more. 4. A booking cannot be changed or cancelled through this API. To change or cancel it, the person writes to the coach (a booking shows its client how to reach the coach) or to info@vumodi.com. 5. Never ask the person to pay Vumodi. Show them how the coach is paid, as the booking says. They pay the coach themselves, and then tell the coach on the page of the booking. 6. If what the person needs is medical or psychological care, say that Vumodi's coaches do not offer it. 7. Keep your requests few. Creating accounts is limited to 20 an hour per address, and ten wrong passwords in a quarter of an hour close the login of that account for a while (`429`, with `Retry-After`). 8. A session token is the person's key to their account for a year. Keep it as you would keep their password, and never show it to anybody else. ## The API for agents Everything is under `https://vumodi.com/api/agent`. Requests and answers are JSON: send what you `POST` with the header `Content-Type: application/json`. Times are UTC, written as ISO 8601 (`2026-10-12T13:00:00.000Z`); most coaches are in Venezuela (UTC−4), so say the time to the person in their own time zone. An error is answered with its HTTP status and `{"status": , "error": ""}`: the sentence says which field is wrong and what it has to be. `GET https://vumodi.com/api/agent` answers a short description of the API and the list of its routes, whose paths are written from `https://vumodi.com/api` on. ### 1. Find a coach ``` curl "https://vumodi.com/api/agent/coaches?category=trainer" curl "https://vumodi.com/api/agent/coaches?query=fuerza" curl "https://vumodi.com/api/agent/coaches/ana%40example.com" ``` `category` is `trainer`, `nutritionist` or `wellness`; `query` finds coaches by their name or by what they do (3 to 39 characters, ten coaches at most); with both, those the search finds that are of the category; without either, every listed coach is answered. The first two answer `{"coaches": [Coach]}`, the third one `Coach`: ``` { "id": 2, "email": "ana@example.com", "name": "Ana Álvarez", "category": "trainer", "focus": "Preparación física", "about": "Entreno a adultos que empiezan de cero…", "picture": "", "page": "https://www.vumodi.com/s/ana%40example.com", "services": [ { "id": 1, "name": "Sesión inicial", "minutes": 30, "price": 20, "currency": "USD", "about": "…" } ], "channels": [ { "id": 2, "type": "zoom" } ], "paidWith": [ "wise", "zelle" ] } ``` `services` are the sessions the coach offers, `channels` where a session can be held (`whatsapp_video`, `google_meet`, `zoom`, `phone`, `in_person`, `skype`, `telegram_video`, `face_time`, `we_chat`), and `paidWith` the kinds of payment the coach accepts. `page` is the coach's page for the person to look at. How to reach a coach and the details of how they are paid are not in the directory: a booking shows them to its client once the coach has accepted it. The texts of a coach are in the coach's own language, usually Spanish. ### 2. See the free hours of a session ``` curl "https://vumodi.com/api/agent/services/1/hours?from=2026-10-12&days=7" ``` Answers `{"serviceId": 1, "coachEmail": "…", "minutes": 30, "hours": ["2026-10-12T13:00:00.000Z", …]}`: the moments at which that session can start, soonest first. `from` is a day of UTC, today when it is left out; `days` is 7 when it is left out, and 31 at most. Hours are listed up to 60 days ahead. An hour stays in the list until the coach accepts a session at it, so two people can ask for the same hour, and the coach takes one. ### 3. The person's account A new account (see rule 2: the three confirmations are the person's, and must be `true`): ``` curl -X POST "https://vumodi.com/api/agent/account" -H "content-type: application/json" -d '{ "email": "marta@example.com", "password": "", "firstName": "Marta", "lastName": "Díaz", "birthday": "1990-05-17", "adult": true, "acceptsTerms": true, "acceptsPrivacy": true }' ``` An account that exists: ``` curl -X POST "https://vumodi.com/api/agent/session" -H "content-type: application/json" \ -d '{"email": "marta@example.com", "password": ""}' ``` Both answer `{"token": "", "account": {"id": 9, "email": "marta@example.com", "name": "Marta Díaz"}}`. Send the token with what follows as `Authorization: Bearer `. `409` on the first means that the e-mail has an account already: ask the person for their password, or send them to https://vumodi.com/forgot-password. `401` on the second means that the e-mail or the password is wrong. ### 4. Book the session ``` curl -X POST "https://vumodi.com/api/agent/bookings" -H "content-type: application/json" \ -H "Authorization: Bearer " \ -d '{"serviceId": 1, "channelId": 2, "start": "2026-10-12T13:00:00.000Z"}' ``` `start` is one of the hours of step 2, written as it was listed, and `channelId` one of the coach's channels. Answers `201` and the booking: ``` { "code": "b05d2f80-d3a5-4cdb-8323-e838b28e25f6", "state": "requested", "start": "2026-10-12T13:00:00.000Z", "end": "2026-10-12T13:30:00.000Z", "minutes": 30, "service": { "id": 1, "name": "Sesión inicial" }, "price": 20, "currency": "USD", "coach": { "name": "Ana Álvarez", "email": "ana@example.com", "category": "trainer" }, "channel": { "type": "zoom", "contact": "" }, "payment": { "methods": [], "claimed": null, "paid": null }, "page": "https://www.vumodi.com/pay?refCode=b05d2f80-d3a5-4cdb-8323-e838b28e25f6", "next": "The coach has been told and must accept the session. How to reach the coach and how to pay them are shown once they accept; nothing is paid through Vumodi." } ``` `409` means that the hour is no longer free (ask for the hours again), that the person already has that booking, or that they have five requests waiting for an answer: the sentence says which. `404` means that the session does not exist or that its coach is not listed. `400` names what is wrong with the request. Once the coach accepts, `channel.contact` is the number, the link or the address of the session, and `payment.methods` is how the coach is paid, each one as `{"type": "zelle", "account": "…", "holder": "…", "note": "…"}`. ### 5. Follow the booking ``` curl "https://vumodi.com/api/agent/bookings" -H "Authorization: Bearer " curl "https://vumodi.com/api/agent/bookings/" -H "Authorization: Bearer " ``` The first answers `{"bookings": [Booking]}`, the newest first; the second one booking. `state` says where it stands: - `requested`: booked; the coach has not answered yet. - `accepted`: the coach took the session; it is to be paid to the coach, as `payment.methods` now says, and held where `channel.contact` now says. - `claimed`: the person said that they paid; the coach has not confirmed it yet. - `paid`: the coach confirmed the payment. - `cancelled`: the coach dismissed the booking. `next` says in one sentence what happens next. Give the person `page`: logged in, they see there the booking, how to reach the coach and how to pay, and there they tell the coach that they paid. The coach answers when they can, often within a day: ask again later instead of waiting on the line. ## Pages for the person - The directory of coaches: https://vumodi.com/coaches - A coach: `https://vumodi.com/s/` - A booking and how to pay it: `https://vumodi.com/pay?refCode=` - What they booked: https://vumodi.com/account/payments, and their calendar: https://vumodi.com/account/calendar - Logging in: https://vumodi.com/login. A forgotten password: https://vumodi.com/forgot-password - Deleting the account: https://vumodi.com/delete-account - Terms: https://vumodi.com/terms. Privacy: https://vumodi.com/privacy - For trainers and coaches who want to offer their sessions: https://vumodi.com/specialist