Skip to content
Connect an agent

Accounts

Refresh an account now

Renews the access token now instead of waiting for the hourly renewal, and reports whether the platform still accepts the account.

POST/v1/accounts/{id}/refresh

TL;DR

QuestionAnswer
What does it do?Refresh an account now.
What does it need?An API key or an OAuth access token.
What does it take?id in the path.
What does it return?Status 200 with a body of type RefreshResult.
In the SDK?flung.accounts.refresh()
As an MCP tool?refresh_account
What can go wrong?401 Missing, unknown, revoked or expired API key; 404 No such account in this workspace; 422 The request failed validation; 429 Too many requests for this credential; wait for retry-after seconds. Every failure has the same error shape.

What it does

Renews the access token now instead of waiting for the hourly renewal, and reports whether the platform still accepts the account. Most callers never need this.

Example

bash
curl -X POST 'https://api.flung.dev/v1/accounts/acct_aaaaaaaaaaaaaaaaaaaaaaaa/refresh' \  --header "Authorization: Bearer $FLUNG_API_KEY"

A successful answer looks like this:

json
{  "result": "refreshed",  "account": {    "id": "acct_aaaaaaaaaaaaaaaaaaaaaaaa",    "platform": "x",    "platformUserId": "string",    "username": "string",    "profileId": "string",    "status": "active",    "renewal": "automatic",    "tokenExpiresAt": "2026-11-01T09:00:00.000Z",    "reconnectBy": "2026-11-01T09:00:00.000Z",    "defaultBoard": {      "id": "string",      "name": "string"    },    "inbox": {      "enabled": true,      "readAt": "2026-11-01T09:00:00.000Z",      "error": "string"    },    "createdAt": "2026-11-01T09:00:00.000Z",    "updatedAt": "2026-11-01T09:00:00.000Z"  }}

Path parameters

FieldTypeRequiredDescription
idstringyes

Responses

StatusMeaningBody
200What the refresh did, and the account after it.RefreshResult
401Missing, unknown, revoked or expired API key.Error
404No such account in this workspace.Error
422The request failed validation.Error
429Too many requests for this credential; wait for retry-after seconds.Error

Response body

A 200 answer has the type RefreshResult.

FieldTypeRequiredDescription
result"refreshed" | "not_needed" | "reconnect_required" | "failed"yesrefreshed: a new token is stored. not_needed: this account has nothing to refresh. reconnect_required: the platform refused; the account is now needs_reconnect. failed: a temporary platform failure; try again later.
accountAccountyes
account.idstringyes
account.platformPlatformyes
account.platformUserIdstringyes
account.usernamestring | nullyes
account.profileIdstring | nullyes
account.status"active" | "needs_reconnect" | "disconnected"yesneeds_reconnect: the platform refused the token; start a reconnect.
account.renewal"automatic" | "manual" | "not_needed"yesautomatic: Flung refreshes the token before it expires, until reconnectBy if set. manual: only a reconnect renews it, by reconnectBy. not_needed: the token does not expire.
account.tokenExpiresAtstring | nullyesWhen the current access token expires. Flung renews automatic ones about a day before.
account.reconnectBystring | nullyesThe last moment the account works without a reconnect; null when it renews indefinitely. Flung sends account.reconnect_required_soon a week before.
account.defaultBoardobject | nullyesPinterest only: where pins go unless a post picks another board.
account.defaultBoard.idstringyes
account.defaultBoard.namestring | nullyes
account.inboxobjectyesReading comments and mentions into GET /v1/inbox.
account.inbox.enabledboolean | nullyesWhether comments and mentions are read. null is the platform's default: on, except X, where reading costs money.
account.inbox.readAtstring | nullyes
account.inbox.errorstring | nullyesWhy the last read failed, such as a missing permission.
account.createdAtstringyes
account.updatedAtstringyes

See also

DocWhy
API referenceEvery endpoint
SchemasEvery request and response type
ErrorsEvery error code and what to do about it
refresh_accountThe same operation as an MCP tool