> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axon402.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Provider

> PUT /v1/providers/:provider_id — update editable provider-registry metadata

Updates selected metadata on a provider-registry row.

This route requires the static operator key. Tenant API keys and platform sessions are rejected.

## Editable fields

| Field | Type | Description |
| :- | :- | :- |
| `payee_address` | string | Must be a valid EVM address when provided |
| `network` | string | Network identifier |
| `asset_symbol` | string | Asset symbol such as `USDC` |
| `provider_name` | string | Display name |
| `provider_category` | string | Provider category |
| `risk_level` | number | Must be between 0 and 100 |
| `status` | string | Registry status |
| `is_featured` | boolean | Must be a real boolean, not a string |
| `is_curated` | boolean | Must be a real boolean, not a string |

Host/path identity fields such as `host_pattern` and `path_prefix` are not updated by this route.

## Example

```bash theme={null}
curl -X PUT http://127.0.0.1:3030/v1/providers/$PROVIDER_ID \
  -H "Authorization: Bearer $AXON_DECISION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "payee_address": "0x1111111111111111111111111111111111111111",
    "asset_symbol": "USDC",
    "network": "eip155:8453",
    "provider_name": "Example API",
    "risk_level": 30,
    "is_featured": true
  }'
```

## Response

```json theme={null}
{
  "id": "uuid",
  "host_pattern": "api.example.com",
  "path_prefix": "/v1",
  "payee_address": "0x1111111111111111111111111111111111111111",
  "network": "eip155:8453",
  "asset_symbol": "USDC",
  "provider_name": "Example API",
  "provider_category": "data",
  "risk_level": 30,
  "status": "active",
  "source": "manual"
}
```

The route marks updated rows as `source="manual"` and refreshes `last_verified_at`, but those fields are not fully echoed in the response payload.

## Error codes

| Code | Meaning |
| :- | :- |
| `VALIDATION_ERROR` | Invalid address, invalid risk value, non-boolean flags, or empty body |
| `NOT_FOUND` | Provider does not exist |
| `REJECTED_POLICY` | Caller is not using the static operator key |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.