Skip to content

Delete a vendor contact

Open .md

DELETE/v1/api/store/{team_slug}/vendor/{hash_id}/contact/{id}

v1Operation ID v1_public_vendor_contact_destroy

Deletes a vendor contact. It can be restored. The primary contact can't be deleted: make another contact primary first.

Permission

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

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
  • idstringrequired

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

    • Example uAu3dAKIaHyAYk

Request body

This operation takes no request body.

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
    Not a live contact of this vendor. error.code is null and error.message names the record type.
    Fix
    Check the ids.
  • 500A business rule refused the request (see the operation's errors), or something failed inside YoPrint. Refusals use the error envelope with a code such as action_not_allowed; an unexpected failure answers {"message": "Server Error"}. Repeating a refusal gets the same answer; after an unexpected failure, read the record back before you retry a change.

    When
    The contact is primary. This route answers HTTP 500 with error.code delete_fail and error.message null; nothing is deleted.
    Fix
    Set another contact as primary first. Don't retry the same call.