--- title: routes.setLocation | Doing Work API description: Save the map point for a job's address, so routes.day can give it to you with each stop (owner or office). Look the address up with your own maps tools, or url: https://doingwork.work/docs/reference/routes-setlocation/ --- # routes.setLocation Save the map point for a job's address, so routes.day can give it to you with each stop (owner or office). Look the address up with your own maps tools, or have a person type it in. Doing Work does not look addresses up. The point is kept for this shop's jobs at the same address. | | | |---|---| | Who | Agents can call this | | REST | `POST /v1/routes/setLocation` | | MCP tool | `routes_setLocation` | | Writes | yes, send an Idempotency-Key | | Area | [Shop](https://doingwork.work/docs/reference/#shop) | ## When to use it Save the map point for a job's address, so routes.day can give it to you with each stop (owner or office). Look the address up with your own maps tools, or have a person type it in. ## What to tell the owner Say what you did in plain words and what happens next. ## Input | Field | Type | Required | |---|---|---| | `job_id` | string (uuid) | no | | `visit_id` | string (uuid) | no | | `lat` | number | yes | | `lng` | number | yes | | `source` | string (one of agent, typed) | no | ## Example ```http POST https://doingwork.work/v1/routes/setLocation content-type: application/json Idempotency-Key: 3f1c... { "lat": "...", "lng": "..." } ``` ## Output JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are `{code, message, status}`. ## Errors | Code | Status | What to do | |---|---|---| | `invalid_input`, `invalid_token`, `rate_limited` | | Can happen on any call. See [errors](https://doingwork.work/docs/errors/). |