---
title: "Refresh a paid x402 service profile with current readiness evidence"
method: POST
path: "/api/x402/refresh-listing"
tags: ["x402-listing-refresh", "readiness-evidence", "provider-distribution"]
---

# Refresh a paid x402 service profile with current readiness evidence

`POST /api/x402/refresh-listing`

Run a new live readiness scan for an existing paid provider profile and update its canonical HTML, JSON twin, badge, report link, score, and observation time after included maintenance expires. Use the free validator first. Payment buys a fresh observation, not a better grade, metadata edit, ranking, or traffic.

## Request body

- object
  - `listing_id` string, required
  - `paid_refresh_tx` string — One-use retry reference returned only after a settled refresh could not be completed.

## Response `200`

Profile evidence refreshed

## Other responses

- `402` — x402 payment challenge
- `422` — Listing id is not eligible for refresh
- `503` — Scan could not complete; settled payment receives a retry credit

---

[API](https://skmtc.net/ontarioprotocol/apis/ontario-protocol-x402-api.md) · [All operations](https://skmtc.net/ontarioprotocol/apis/ontario-protocol-x402-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ontarioprotocol/ontario-protocol-x402-api/versions/54384a1c4bf3/schema)
