---
title: "Refresh Credential"
method: POST
path: "/workflow/credentials/{credential_id}/refresh"
tags: ["workflow-credentials"]
---

# Refresh Credential

`POST /workflow/credentials/{credential_id}/refresh`

## Request

- Base URL: `https://api.anyreach.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.anyreach.ai/workflow/credentials/{credential_id}/refresh`
- Auth: HTTP bearer

Run the refresher now. Returns immediately; the run is asynchronous.

An already-running refresh is reported as `already_running`, not as an error:
saving a non-manual policy starts one of its own, so a user who saves and
then presses Refresh is racing themselves through no fault of their own. The
outcome they wanted — a refresh is running — is already true.

## Path parameters

- `credential_id` string, uuid, required

## Headers

- `x-anyreach-org` string, nullable: Organization ID for user PATs (pat_ prefix tokens)

## Response `200`

Successful Response

- CredentialRefreshResponseSchema: Result of asking for a refresh — the run itself is asynchronous.
  - `credential_id` string, uuid, required
  - `status` 'started' | 'already_running', required
  - `temporal_workflow_id` string, required

## Other responses

- `404`: Not found
- `422`: Validation Error

---

[API](https://skmtc.dev/anyreach/apis/anyreach-api.md) - [All operations](https://skmtc.dev/anyreach/apis/anyreach-api/llms.txt) - [OpenAPI document](https://skmtc.dev/anyreach/apis/anyreach-api/revisions/2eddf40c8c93?raw)
