Skip to content

Update a vendor (PATCH)

Open .md

PATCH/v1/api/store/{team_slug}/vendor/{hash_id}

v1Operation ID v1_public_vendor_update_patch

Changes the fields you send and returns the vendor. Contacts have their own operations.

We recommend PUT: it validates that all provided fields are strings and returns 422 if any type is invalid. PATCH accepts the exact same body but skips field validation entirely.

Permission

Needs the Manage Vendors permission at the level that can update vendors.

Business rules

  • To clear a text field, send an empty string; null is ignored (it is dropped before the request is read).

Path parameters

  • team_slugstringrequired

    Your team slug, shown as Team ID next to your API key in Profile.

    • Example your-team
  • hash_idstringrequired

    The vendor's id (id from List vendors). A hash id from an earlier answer; unique keys and document numbers (such as PO0042) don't work here.

    • Example EDhVUaC6jbLbed

Request body

application/json, required.

Response

200Successful response.

Errors

  • 401The API key is missing or wrong (unauthenticated).

  • 403You are not allowed to do this. api_access_not_in_plan: your team's plan doesn't include API access (Pro and above, with an active subscription or trial), so every request answers this until the team upgrades. When your role lacks the permission the operation needs, the body is only {"message": "Insufficient Permission"}. Other refusals use the error envelope, with unauthorized or user_is_not_authorized.

    When
    Your role cannot update vendors. This 403 has a short body, {"message": "Insufficient Permission"}, with no success or error.
    Fix
    Ask a team owner to raise Manage Vendors for your role.
  • 404Not found. page_not_found: the team slug is unknown, you are not a member of the team, or an id in the path is not one of this team's. code: null, with a message that starts "No query results for": there is no record with that id.

    When
    No live vendor with this id. error.code is null and error.message names the record type.
    Fix
    Restore a deleted vendor first.