# deleteContactTags

Delete free-form contact tags by id (from createContactTag), removing them from every contact. IRREVERSIBLE and org-wide: prefer renameContactTag when the name is merely wrong, and removeContactTags when the tag should only come off some contacts; this is for retiring the tag itself. Free-form tag ids only (custom fields, lists and system-defined rows are rejected). A single-tag delete needs a dependencyResolution from getDeletionImpact (targetKind CONTACT_TAG): its impactVersion plus any replacements. A multi-tag delete accepts only tags with no dependencies; delete a depended-on tag on its own.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "deleteContactTags", "variables": {...} }`
- Scope: `WRITE`
- Type: mutation
- Idempotency: honors `Idempotency-Key` (24 h)
- Rate-limited: no

## Variables

- `tagIds`: `[ID!]!` (required)
- `dependencyResolution`: `DependencyResolutionInput`
  - `impactVersion`: `String!` (required)
  - `replacements`: `[DependencyReplacementSelectionInput!]!` (required)
    - `targetKind`: `DependencyTargetKind!` (required, one of `PIPELINE_ITEM`, `DEAL`, `PIPELINE_STAGE_PIPELINE_ITEMS`, `DEAL_STAGE_DEALS`, `PIPELINE_ITEM_CUSTOM_FIELD`, `DEAL_CUSTOM_FIELD`, `PIPELINE_ITEM_CUSTOM_FIELD_OPTION`, `DEAL_CUSTOM_FIELD_OPTION`, `PROPERTY_TAG`, `PROPERTY_LIST`, `CONTACT_TAG`, `CONTACT_LIST`, `CONTACT_CUSTOM_FIELD`, `CONTACT_CUSTOM_FIELD_OPTION`, `PIPELINE`, `DEAL_PIPELINE`, `PIPELINE_STAGE`, `DEAL_STAGE`, `TWILIO_PHONE_NUMBER`, `EMAIL_IDENTITY`, `LIBRARY_FOLDER`, `USER`, `USER_GROUP`, `WORKFLOW_GROUP`, `WORKFLOW_AUTOMATION`, `CONTENT_TEMPLATE`, `AGENT`, `MARKETING_CAMPAIGN`, `UPLOADED_FILE`, `WORKFLOW_WEBHOOK_CREDENTIAL`, `SCRAPER_PIPELINE`, `FILTER`, `EMBED_FORM`, `WORKFLOW_TABLE`, `WORKFLOW_TABLE_COLUMN`, `CONTACT`, `PROPERTY`, `ORGANIZATION`, `SLACK_CHANNEL`, `SLACK_USER`, `MACHINE_GROUP`, `MACHINE_HOST`)
    - `targetId`: `ID!` (required)
    - `replacementId`: `ID!` (required)

## Response (data, an example)

```json
{
  "contactMutation": {
    "deleteFreeFormTags": {
      "id": "<ID>"
    }
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "operationId": "deleteContactTags",
    "variables": {
      "tagIds": [
        "<tagIds>"
      ]
    }
  }'
```
