---
title: "Save property"
method: POST
path: "/api/properties/save"
tags: ["Property Resolution"]
---

# Save property

`POST /api/properties/save`

Save or update a hosted property in the registry. Requires authentication. For existing properties, creates a revision-tracked edit. For new properties, creates the property directly. Cannot edit authoritative properties managed via adagents.json.

This is an identity-only write surface: the stored document always carries `authorized_agents: []`. Sales authorization lives solely in the publisher's own origin `adagents.json`; the community registry cannot mint or carry it. Any `authorized_agents` sent in the request body is ignored.

## Request body

- object
  - `publisher_domain` string, required
  - `authorized_agents` object[] — Ignored. Community-registry rows never assert sales authorization — the owner's origin adagents.json is the sole authorization source — so any value here is dropped and the stored document carries authorized_agents:[].
    - `url` string, required
    - `authorized_for` string
  - `properties` object[]
    - `type` string, required
    - `name` string, required
  - `contact` object
    - `name` string
    - `email` string

## Response `200`

Property saved or updated

- object
  - `success` true, required
  - `message` string, required
  - `id` string, required
  - `revision_number` integer

## Other responses

- `400` — Missing required fields or invalid domain
- `401` — Authentication required
- `409` — Cannot edit authoritative property
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/adcontextprotocol/apis/agenticadvertising-org-registry-api.md) · [All operations](https://skmtc.net/adcontextprotocol/apis/agenticadvertising-org-registry-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/adcontextprotocol/agenticadvertising-org-registry-api/revisions/9ea7fedf54c0/schema)
