--- title: imports.paymentHistory | Doing Work API description: Owner or office: payments imported from another system (read-only history; never charged, never counted toward Doing Work fees). Filter by customer_id. url: https://doingwork.work/docs/reference/imports-paymenthistory/ --- # imports.paymentHistory Owner or office: payments imported from another system (read-only history; never charged, never counted toward Doing Work fees). Filter by customer_id. | | | |---|---| | Who | Agents can call this | | REST | `GET /v1/imports/payments` | | MCP tool | `imports_paymentHistory` | | Writes | no | | Area | [Imports, custom fields, tags and search](https://doingwork.work/docs/reference/#imports-custom-fields-tags-and-search) | ## When to use it Move a shop's customer list in from a CSV, including files exported from Jobber, Housecall Pro and CompanyCam. Ask imports.fields what can be filled, run imports.preview to see how each column maps and what would go wrong, show that to the owner, and only then call imports.run with the mapping they confirmed. ## What to tell the owner Tell them what you found in plain words. Don't read back raw fields. ## Input | Field | Type | Required | |---|---|---| | `shop_id` | string (uuid) | yes | | `customer_id` | string (uuid) | no | | `limit` | integer | no | ## Example ```http GET https://doingwork.work/v1/imports/payments?shop_id=00000000-0000-4000-8000-000000000000 ``` ## Output | Field | Type | Always there | |---|---|---| | `payments` | array | yes | | `total_minor` | integer | yes | ```json { "payments": [ {} ], "total_minor": 50000 } ``` ## Errors | Code | Status | What to do | |---|---|---| | `invalid_input`, `invalid_token`, `rate_limited` | | Can happen on any call. See [errors](https://doingwork.work/docs/errors/). |