# deleteDealCustomField

Permanently delete a deal custom-field DEFINITION (id from listDealCustomFields). IRREVERSIBLE: every value recorded on every deal for it is deleted. Prefer updateDealCustomField when the field is wrong rather than unwanted. Call getDeletionImpact first (targetKind DEAL_CUSTOM_FIELD) and hand back its impactVersion as dependencyResolution.impactVersion, with a replacement field for each reported requirement (filters, workflows); an empty `replacements` when none. A replacement redirects those references, never the values. System-defined fields cannot be deleted. Returns the remaining fields of `pipelineId` (the field's pipeline). Confirm with the user before calling.

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

## Variables

- `customFieldId`: `ID!` (required)
- `pipelineId`: `ID!` (required)
- `dependencyResolution`: `DependencyResolutionInput!` (required)
  - `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
{
  "dealCustomFieldMutation": {
    "deleteCustomField": {
      "getPipelineCustomFields": [
        {
          "id": "<ID>",
          "name": "…"
        }
      ]
    }
  }
}
```

## 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": "deleteDealCustomField",
    "variables": {
      "customFieldId": "<customFieldId>",
      "pipelineId": "<pipelineId>",
      "dependencyResolution": {
        "impactVersion": "<String>",
        "replacements": [
          {
            "targetKind": "PIPELINE_ITEM",
            "targetId": "<targetId>",
            "replacementId": "<replacementId>"
          }
        ]
      }
    }
  }'
```
