---
title: "Retry partner account allowances"
method: POST
path: "/profiles/partner-accounts/{profileId}/allowances/retry"
tags: ["Partner Accounts"]
---

# Retry partner account allowances

`POST /profiles/partner-accounts/{profileId}/allowances/retry`

## Request

- Base URL: `https://api.limitless.exchange`
- URL: `https://api.limitless.exchange/profiles/partner-accounts/{profileId}/allowances/retry`
- Auth: API key in header `lmts-api-key`
- TypeScript: <https://skmtc.dev/limitless/apis/limitless-exchange-api/docs/profiles/partner-accounts/:profileId/allowances/retry/post.ts> (a function with typed inputs; its response is checked against the schema)

Retries delegated-trading allowance recovery for a partner-created server-wallet sub-account. The retry takes a short wallet lock, re-checks live chain state, and submits only targets still missing. A `submitted` target means this retry request submitted a sponsored transaction or user operation.

## Path parameters

- `profileId` integer, required

## Request body

- object

## Response `200`

Allowance state after retry submission attempts

- PartnerAccountAllowanceResponse
  - `profileId` integer, required: Child/server-wallet profile ID being checked
  - `partnerProfileId` integer, required: Authenticated parent partner profile ID
  - `chainId` integer, required: Chain where allowance targets were checked
  - `walletAddress` string, required: Managed server-wallet address for the child profile
  - `ready` boolean, required: True when every target is confirmed on chain
  - `summary` PartnerAccountAllowanceSummary, required
    - `total` integer, required: Total allowance target count
    - `confirmed` integer, required: Targets confirmed on chain
    - `missing` integer, required: Targets still missing
    - `submitted` integer, required: Targets submitted by the current retry response
    - `failed` integer, required: Targets whose latest live read or retry state failed
  - `targets` PartnerAccountAllowanceTarget[], required
    - `type` 'USDC_ALLOWANCE' | 'CTF_APPROVAL', required: Allowance target category
    - `tokenAddress` string, required: ERC20 or conditional-token contract address
    - `spenderOrOperator` string, required: Allowance spender or operator address
    - `label` string, required: Human-readable target label
    - `requiredFor` 'BUY' | 'SELL', required: Trading side that requires this target
    - `confirmed` boolean, required: Whether this target is confirmed on chain
    - `status` 'confirmed' | 'missing' | 'submitted' | 'failed', required: Current target status
    - `transactionId` string, nullable: Sponsored transaction ID when submitted
    - `txHash` string, nullable: Transaction hash when available
    - `userOperationHash` string, nullable: User operation hash when available
    - `retryable` boolean, required: Whether a retry request may attempt this target
    - `errorCode` string, nullable: Machine-readable failure code
    - `errorMessage` string, nullable: Human-readable failure message

## Other responses

- `400`: Invalid profile ID or non-server-wallet child profile
- `401`: Missing or invalid HMAC authentication
- `403`: Requires account_creation and delegated_signing scopes, and profileId must belong to the authenticated partner
- `404`: Partner sub-account profile not found
- `409`: Another retry is already running for this wallet
- `429`: Retry is rate limited; response includes retryAfterSeconds

---

[API](https://skmtc.dev/limitless/apis/limitless-exchange-api.md) - [All operations](https://skmtc.dev/limitless/apis/limitless-exchange-api/llms.txt) - [OpenAPI document](https://skmtc.dev/limitless/apis/limitless-exchange-api/revisions/43f7d65e8e15?raw)
