Comuvi API

REST API for integrating with your community management platform. Available on Gestor and Enterprise plans.

Authentication
Include your API key in every request:
X-API-Key: cv_your_key_here

Get your key from the app: Administration → Plan → API Keys.
Base URL
https://my.comuvi.app/api

All endpoints return JSON. Request bodies should be Content-Type: application/json.

Quick start

curl -H "X-API-Key: cv_your_key" https://my.comuvi.app/api/announcements
curl -X POST -H "X-API-Key: cv_your_key" \
  -H "Content-Type: application/json" \
  -d '{"title":"Board meeting","body":"Tomorrow at 7pm"}' \
  https://my.comuvi.app/api/announcements

Announcements

GET/announcements

List all announcements, newest first.

POST/announcements

Create announcement.
{"title":"...","body":"..."}

Incidents

GET/incidents

List all incidents with photos and status.

PATCH/incidents/:id

Update status.
{"status":"progress|done"}

Receipts / Fees

GET/receipts

List receipts. Admin sees all; owners see their unit's.

POST/receipts

Create receipt(s).
{"month":"Abril 2026","amount":55,"concept":"Monthly fee","per_unit":true}

PATCH/receipts/:id

Mark paid/unpaid.
{"status":"paid"}

DELETE/receipts/:id

Delete a receipt.

Members

GET/members

List all members with role, email, and unit.

PATCH/members/:userId

Change role.
{"role":"junta"}

Units

GET/units

List all units (apartments).

POST/units

Create a unit.
{"label":"2A"}

Documents

GET/documents

List all documents with URL and metadata.

Votes

GET/votes

List all votes with results and status.

POST/votes

Create a vote.
{"title":"...","description":"...","deadline":"2026-06-01"}

Events

GET/events

List upcoming events.

POST/events

Create event.
{"title":"...","starts_at":"2026-05-01T10:00","location":"..."}

Packages

GET/packages

List all packages (parcels).

POST/packages

Register a package.
{"unit_id":1,"carrier":"Amazon","recipient":"John"}

Surveys

GET/surveys

List all surveys with response counts.

GET/surveys/:id

Survey detail with questions, answers and results.

Accounting

GET/accounting?year=2026&month=4

Financial summary: totals, by-unit breakdown, debtors.

GET/accounting/export?year=2026

Download CSV of all receipts for the period.

Conversations

GET/conversations

List 1-to-1 conversations with unread count.

GET/conversations/:otherId/messages

Get messages in a conversation.

POST/conversations/:otherId/messages

Send a message.
{"body":"Hello!"}

Lost & Found

GET/lost-found

List all lost/found items.

POST/lost-found

Post item (multipart with optional photo).
title, type (lost|found), description, location

Errors

{
  "error": "not_found"                    // 404
  "error": "forbidden"                    // 403
  "error": "plan_limit",                  // 403 — feature not in plan
    "feature": "api_access",
    "upgrade_required": true
  "error": "invalid_payload"              // 400
}

Rate Limits

100 requests per minute per API key. Excess requests return 429 Too Many Requests.

Need help?
Contact us at info@comuvi.app for integration support.