Resolver API
One request. One answer. One explanation.
The API is the product; the app is a way to configure it. Everything the interface can do is an endpoint, including the parts you would rather automate.
The call
Send an address or a coordinate. Add context if your rules use it. There is nothing else to learn before the first useful answer.
Resolving one address bash
curl https://api.maplogics.com/v1/resolve \
-H "authorization: Bearer $MAPLOGICS_KEY" \
-H "content-type: application/json" \
-d '{
"address": { "line1": "1000 E Main St", "city": "Richmond",
"region": "VA", "postal_code": "23219" },
"context": { "service": "plumbing" }
}' The rest of the surface
-
POST /v1/resolve
One address, one decision. The endpoint everything else exists to support.
-
POST /v1/batches
A file of addresses. Decisions come back with your original row identifiers intact.
-
GET /v1/configurations
Which configuration is live, what is in draft, and what was live last week.
-
PUT /v1/territories/:id
Create or replace a territory in a draft, with optimistic locking so two editors cannot silently overwrite each other.
-
POST /v1/configurations/:id/publish
Make a draft live, atomically, after it passes validation.
How it behaves under load
Rate limits are per organization and per plan, from five requests a second on a trial to sixty on enterprise, each with a burst allowance above it. A refused request says so in a header with the time it resets, rather than timing out and leaving you guessing.
Sixty a second is a ceiling rather than a price. One organization's configuration is held in one place so decisions are consistent, and that place answers about ninety requests a second before latency starts to climb. Selling more than the architecture can do would turn a refusal you can retry into a delay you cannot.
Errors are typed. Every failure carries a stable code and a request id, and the same code means the same thing on every endpoint.
What is not built yet
There is no client library. No npm package, no Python package. The API is plain HTTPS and JSON, and an OpenAPI document is published, so generating a client is available to you today; a maintained one from us is not.
There are no per-endpoint webhooks for reads, and no streaming. Batch is the answer for volume.