---
title: "Revalidate publisher adagents.json"
method: POST
path: "/api/registry/publisher/{domain}/adagents/revalidate"
tags: ["Authorization Lookups"]
---

# Revalidate publisher adagents.json

`POST /api/registry/publisher/{domain}/adagents/revalidate`

## Request

- Base URL: `https://agenticadvertising.org`
- URL: `https://agenticadvertising.org/api/registry/publisher/{domain}/adagents/revalidate`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://agenticadvertising.org/authorize`
    - Token URL: `https://agenticadvertising.org/token`

Admin-only endpoint for support/operator tooling to synchronously fetch a publisher's live `/.well-known/adagents.json`, run the registry validator, persist the refreshed verdict and fetch metadata, and return the validation result. `force=true` is accepted for operator tooling; the current validator always fetches the live origin.

**Rate limits:** 5 minutes per domain, 30 requests per user per hour.

## Path parameters

- `domain` string, required

## Query parameters

- `force` '1' | 'true': Accepted for tooling compatibility; live origin validation is always performed.

## Response `200`

Revalidation result

- object
  - `domain` string, required
  - `adagents_valid` boolean, required
  - `checked_at` string, date-time, required
  - `error` string
  - `issues` object
    - `errors` object[], required
      - `field` string, required
      - `message` string, required
      - `severity` 'error', required
    - `warnings` object[], required
      - `field` string, required
      - `message` string, required
      - `suggestion` string
  - `properties_count` integer
  - `authorized_agents_count` integer
  - `status_code` integer
  - `response_bytes` integer
  - `resolved_url` string
  - `discovery_method` 'direct' | 'authoritative_location' | 'ads_txt_managerdomain' | 'adagents_authoritative'
  - `manager_domain` string

## Other responses

- `400`: Invalid domain format, private IP, or unresolvable domain
- `401`: Authentication required
- `403`: Admin access required
- `429`: Rate limit exceeded
- `503`: Publisher crawl is temporarily busy, or administrator authorization could not be checked

## Changes

- **2026-09-17** `cb485604bda3`: 4 breaking, 1 info
  - the response's body type changed from `object` to no type for status `503`
  - removed the required property `code` from the response with the `503` status
  - removed the required property `error` from the response with the `503` status
  - removed the required property `retry_after` from the response with the `503` status
  - …1 more
- **2026-08-10** `26dede3c65c1`: 1 info
  - added the non-success response with the status `503`
- **2026-06-16** `d0847c0e7d17`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adcontextprotocol/apis/agenticadvertising-org-registry-api/changes/api/registry/publisher/:domain/adagents/revalidate/post.md)

---

[API](https://skmtc.dev/adcontextprotocol/apis/agenticadvertising-org-registry-api.md) - [All operations](https://skmtc.dev/adcontextprotocol/apis/agenticadvertising-org-registry-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adcontextprotocol/apis/agenticadvertising-org-registry-api/revisions/d8f6af89f253?raw)
