Skip to main content
PATCH
/
api
/
v1
/
pacts
/
{pact_id}
/
policies
Update pact policies
import requests

url = "https://api.example.com/api/v1/pacts/{pact_id}/policies"

payload = { "policies": [
        {
            "name": "<string>",
            "type": "transfer",
            "rules": {},
            "priority": 0,
            "is_active": True
        }
    ] }
headers = {"Content-Type": "application/json"}

response = requests.patch(url, json=payload, headers=headers)

print(response.text)
{
  "result": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "owner_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "operator_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>",
    "intent": "<string>",
    "spec": {
      "policies": [
        {
          "name": "<string>",
          "type": "transfer",
          "rules": {},
          "priority": 0,
          "is_active": true
        }
      ],
      "completion_conditions": [
        {
          "type": "time_elapsed",
          "threshold": "<string>"
        }
      ],
      "execution_plan": "<string>"
    },
    "status": "pending_approval",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "operator": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "external_id": "<string>",
      "type": "human",
      "name": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "metadata": {},
      "is_temporary": false,
      "owner_principal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "onboarding_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    },
    "original_intent": "<string>",
    "approval_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "delegation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "api_key": "<string>",
    "activated_at": "2023-11-07T05:31:56Z",
    "expires_at": "2023-11-07T05:31:56Z",
    "progress_tx_count": 0,
    "progress_usd_spent": "0",
    "is_default": false,
    "effective_policies": [
      {}
    ]
  },
  "success": true,
  "suggestion": "",
  "message": "",
  "meta": {
    "total": 123,
    "offset": 123,
    "limit": 123,
    "has_more": true,
    "after": "<string>",
    "before": "<string>"
  }
}

Headers

X-API-Key
string | null

Path Parameters

pact_id
string<uuid>
required

The UUID of the active pact whose policies to replace, as returned by the submit or list endpoints.

Body

application/json

Request body for PATCH /pacts/{pact_id}/policies.

Full replacement of the pact's delegation-scoped policies. Old policies are deleted and new ones are created atomically.

policies
InlinePolicyCreate · object[]
required

New policy list. Replaces all existing delegation policies.

Response

Successful Response

result
PactRead · object
required

Pact detail response. The api_key field is only visible to the operator principal.

success
boolean
default:true
suggestion
string
default:""
message
string
default:""
meta
PaginationMeta · object

Pagination metadata for list responses.

Supports both legacy offset-based and cursor-based pagination. Cursor fields (has_more, after, before) are populated for cursor-paginated endpoints. Legacy fields (offset, limit) are populated when the caller uses the deprecated offset parameter.