Skip to content
Developers

Community contributions

Let people add a missing address from your own app or site. Staff review it, and the contributor earns points when it is approved.

Base URLhttps://makani-vol.lamah.com

Countries that accept contributions

The contribution endpoints need no key. Start with the countries that are open, with the points an approval earns and the location accuracy each one asks for. The list is empty until staff open a country.

GET/v1/public/contributions/countriesNo key needed
curl "https://makani-vol.lamah.com/v1/public/contributions/countries"

Contribute an address

Send the country, the point of the building's entrance, the country's address fields and a name or a phone number with its country prefix. The answer has a referenceCode to follow the contribution and, the first time, a contributorKey: keep it and send it with the next contributions so they add to the same points.

When the device reports its accuracy, send it as accuracyMeters. A photo of the building number is optional: ask for an upload address with POST /v1/public/contributions/photo-uploads, send the file to it, then pass photoUploadId.

POST/v1/public/contributionsNo key needed
curl -X POST "https://makani-vol.lamah.com/v1/public/contributions" \  -H "content-type: application/json" \  -d '{    "countryCode": "QA",    "referencePoint": {      "latitude": 25.3212,      "longitude": 51.5301    },    "components": {      "zone": "60",      "street": "900",      "building": "12"    },    "contributorName": "Sara"  }'
  • 403CONTRIBUTIONS_CLOSEDThe country does not accept contributions now.
  • 400CONTRIBUTOR_IDENTITY_REQUIREDNeither a name, a phone number nor a contributor key was sent.
  • 409CONTRIBUTION_DUPLICATEThe address exists already or is waiting for review.
  • 422CONTRIBUTION_ACCURACY_TOO_LOWThe device's accuracy is worse than the country accepts.
  • 429CONTRIBUTION_RATE_LIMIT_EXCEEDEDToo many contributions from one network address today.
  • 429CONTRIBUTOR_COOLDOWNToo many of the contributor's addresses were rejected. Retry-After says when they may contribute again.

Follow a contribution

Read one contribution by its reference code: status is submitted, approved or rejected, with the reason for a rejection and the address's public code once it is published. With the contributor key, read the contributor's points and latest contributions.

GET/v1/public/contributions/{referenceCode}No key needed
curl "https://makani-vol.lamah.com/v1/public/contributions/7K2QD-M9X4T"
POST/v1/public/contributions/historyNo key needed
curl -X POST "https://makani-vol.lamah.com/v1/public/contributions/history" \  -H "content-type: application/json" \  -d '{    "contributorKey": "<contributor-key>"  }'

From your own system, with a key

A partner that collects addresses in its own product submits them with a key that has the addresses:write scope. Send only the country's address fields, a point and your own opaque reference for the person: names, phone numbers and identity numbers are refused. Read the review outcome by the submission's id.

POST/v1/addresses/{countryCode}/submissionsScopeaddresses:write
curl -X POST "https://makani-vol.lamah.com/v1/addresses/QA/submissions" \  -H "x-api-key: $MAKANI_API_KEY" \  -H "content-type: application/json" \  -d '{    "components": {      "zone": "60",      "street": "900",      "building": "12"    },    "referencePoint": {      "latitude": 25.3212,      "longitude": 51.5301    },    "externalSubmitterRef": "partner-user-8f3d"  }'
GET/v1/addresses/{countryCode}/submissions/{id}Scopeaddresses:write
curl "https://makani-vol.lamah.com/v1/addresses/QA/submissions/<submission-id>" \  -H "x-api-key: $MAKANI_API_KEY"