---
title: "Update the org's RFQ agent-integration mode"
method: PATCH
path: "/api/org/agent-integration/"
---

# Update the org's RFQ agent-integration mode

`PATCH /api/org/agent-integration/`

## Request

- Base URL: `https://productindex.ai`
- URL: `https://productindex.ai/api/org/agent-integration/`
- Auth: one of:
  - API key in cookie `authjs.session-token`
  - HTTP bearer

Toggles `is_managed` (ProductIndex-managed pricing/RFQ responses vs. self-hosted agent card) and updates `managed_rules`. To set or clear `agent_card_url` to a real URL, use `POST /api/org/register-agent-card/` instead — this endpoint only accepts `null` here (to clear it). Body validation runs before the owner/admin role check, so a malformed body from a non-owner/admin still returns 400 rather than 403.

## Request body

- object
  - `is_managed` boolean, required
  - `managed_rules` object, nullable: `volume_discounts` is the only org-level pricing rule this endpoint validates (checked for array type). Per-product rules (max_discount_pct, lead_time_days, return_policy_days) belong on the product in the catalog, not here — but note the server does not currently reject them if included in this body; any field other than `reserve_price_usd`/`min_margin_pct` (both always stripped before storage) is passed through and persisted as-is.
    - `volume_discounts` unknown[]
      - unknown
  - `agent_card_url` unknown

## Response `200`

Updated.

- object
  - `ok` boolean

## Other responses

- `400`: `is_managed` missing/not a boolean, or `managed_rules.volume_discounts` present but not an array.
- `401`: No valid session or bearer token.
- `403`: Session caller isn't an org owner/admin.

---

[API](https://skmtc.dev/productindex/apis/productindex-api.md) · [All operations](https://skmtc.dev/productindex/apis/productindex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/productindex/apis/productindex-api/revisions/73078f4d5aeb?raw)
