Integrations
Developers
Many interfaces, one network of data. The highest-impact path is not building another aid application: it is making the one you build talk to the one that already exists.

The problem an open API solves
During an emergency several teams start building at once, each with its own database of needs. The result is more fragmentation, not less: five incompatible lists of the same thing, none of them complete.
That is why the network is published. A new application does not have to start from zero or ask people to register all over again — it becomes one more client of the same network of data.
The API in three facts
No authentication
No keys, no registration. Publishing a request or an offer is a direct POST, because in an emergency the paperwork is the enemy.
Idempotent by design
The source + externalId pair identifies each record. Retrying the same publication creates no duplicate, so an integration on an unreliable connection is safe.
Contact requires consent
The phone number is published, which is why publishContact must be explicit. There is no way to upload a contact without declaring that the person agreed to it being shown.
The three endpoints
GET https://ayuda.corag.app/api/public/v1/help— discovers the API and returns the active emergencies with theirslug. Start here.POST https://ayuda.corag.app/api/public/v1/help— publishes a request (type: "request") or an offer (type: "offer").POST https://ayuda.corag.app/mcp— remote MCP server, exposinglistar_emergencias,publicar_solicitudandpublicar_ofrecimiento.
The full OpenAPI 3.1 specification lives at https://ayuda.corag.app/api/public/openapi.json.
What a publication carries
- Required in both cases:
source,externalId,title,category,contactName,contactWhatsappandpublishContact. categoryis one of:alimentos,salud,refugio,transporte,acopio,rescate,otro.- A request additionally requires
address,latitudeandlongitude, plusurgency(urgent·needed·stable) andneededPeople. - An offer only requires
type; location is optional and it may declarecollectionCenterStatus(full·needs_volunteers·needs_resources). emergencySlugbecomes required when more than one emergency is active. Which is why theGETcomes first.
What is worth building on top
- A WhatsApp or Telegram bot that publishes and queries requests.
- An offline-capable PWA, for areas with poor signal.
- A spreadsheet importer, for organizations that already work that way.
- A dashboard for a municipality or an NGO over its own fronts.
- Accessibility interfaces: large text, screen reading, low bandwidth.
- Duplicate detection and data-quality checks.
This site is open too
Every page on corag.app has a Markdown twin at the same path with a .md extension, meant for agents and automated reading. The full catalogue is at /llms.txt.
Building something?
The API needs no permission to start. Write to us if you want to tell us what you are making, or need context on the model.