Skip to content

Update a customer

PATCH/customers/{id}

Costs 2 rate-limit points · Rate limits

Opt a customer out of, or back into, the merchant's emails (marketing.unsubscribed), as the unsubscribe link in those emails does. :id is Filemonk's id or a Shopify Customer gid or id.

Delivery emails for new orders still go out; this covers the product-update emails. Like the unsubscribe link, it changes every customer of the shop with the same email address.

Also searched asunsubscribe customerresubscribe customerstop emailing this customeropt customer back in

Path parameters

  • idstringRequired

Request body

  • marketingobjectRequired
    Show 1 child attributeHide child attributes
    • unsubscribedboolean
      Example: true

Returns

The customer object.

Errors

401

Missing or invalid API key.

404

The resource does not exist for this shop, or the action path is not registered.

422

The request failed validation, or sent a key the action does not take (code: "unknown_parameters" with unknown and accepted). Nothing was saved.

429

Rate limited. Cost-weighted per API key, shared with API v1: a read costs 1 point, a write 2, 40 points per fixed 60-second window. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix time the window ends); a 429 adds Retry-After (seconds), retry_after, retryable: true and a next_step in the body. A 429 did nothing: wait retry_after seconds, then send the same request again. The budget is per key, so every tool or script using the key shares it; prefer one list call with per_page over many single reads.

Every error has the same shape: see Errors.

PATCH/customers/{id}
curl -X PATCH "https://app.filemonk.io/api/v2/external/customers/ca5b4abc-63b1-4e29-be0a-12acb35908c5" \
  -H "X-Auth-Token: $FILEMONK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "marketing": {
      "unsubscribed": true
    }
  }'
Response
{
  "id": "ca5b4abc-63b1-4e29-be0a-12acb35908c5",
  "shopify_customer_id": "gid://shopify/Customer/10296813191463",
  "email": null,
  "phone": null,
  "first_name": "Jane",
  "last_name": "Doe",
  "orders_count": 1,
  "marketing": {
    "unsubscribed": true,
    "unsubscribed_at": "2026-10-30T23:10:00Z"
  },
  "created_at": "2026-10-26T14:19:29Z",
  "updated_at": "2026-10-26T14:19:29Z"
}