---
title: "Detach Inventory Contract Nodes"
method: POST
path: "/api/admin/inventory/contracts/{contract_id}/nodes/detach"
tags: ["admin-inventory"]
---

# Detach Inventory Contract Nodes

`POST /api/admin/inventory/contracts/{contract_id}/nodes/detach`

## Path parameters

- `contract_id` string, required

## Query parameters

- `dryRun` boolean

## Request body

- ContractNodesRequest
  - `nodeIds` string[], required

## Response `200`

Successful Response

- GenericResponseMutationResult
  - `data` MutationResult
    - `operationId` string, required
    - `targetId` string, nullable
    - `targetName` string, nullable
    - `message` string, required
    - `created` integer, nullable
    - `updated` integer, nullable
    - `assigned` integer, nullable
    - `detached` integer, nullable
    - `retired` integer, nullable
  - `status` string, nullable — Response status

## Other responses

- `401` — Authorization failed
- `403` — Insufficient permissions
- `422` — Invalid request data

## Changes

- **2026-09-04** `cf5a8be325a9` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/primeintellect/apis/pi-api/changes/api/admin/inventory/contracts/:contract_id/nodes/detach/post.md)

---

[API](https://skmtc.dev/primeintellect/apis/pi-api.md) · [All operations](https://skmtc.dev/primeintellect/apis/pi-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/primeintellect/pi-api/revisions/cf5a8be325a9/schema)
