post_payout_accounts_by_orgid_eft_remediation
Calls POST /api/payout-accounts/{orgId}/eft-remediation as the signed-in person · REST reference
Open Stripe's page for documents this app cannot collect
Setup itself happens in this app's form (POST /eft-setup). This is the remediation route: when Stripe will not verify from the submitted details alone it asks for an identity or address DOCUMENT, and a file upload is the one part of onboarding this app does not implement. Answers a single-use link to Stripe's page for the organization's connected account, creating that account when it has none. Stripe sends the browser back to /finance?tab=payout&eft=return, or &eft=refresh when the link expired or was already used. Needs execute:UpdateOrgCommand in this organization, or platform staff; the organization must be a SERVICE_PROVIDER. A Stripe refusal is 502 with a fixed sentence; Stripe's own is logged.
Arguments
| Argument | Type | Description | |
|---|---|---|---|
orgIdpath | string (uuid) | required |
Example call
A client sends this over the MCP session; Claude and other agents build it for you. The values are placeholders — the shape is real.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "post_payout_accounts_by_orgid_eft_remediation",
"arguments": {
"orgId": "11111111-1111-4111-8111-111111111111"
}
}
}Result
On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.
Stripe's link.
{
"expiresAt": 1,
"url": "string"
}Fields
| Field | Type | Description |
|---|---|---|
expiresAt | integer | Epoch milliseconds the link stops working. |
url | string | Stripe's single-use page. |
When it fails
A failed call returns isError: true with the API's message as text. A change the person declines, or lets time out, also comes back this way and nothing changes.
400The request was malformed or failed a guard.
403Not platform staff and not holding
execute:UpdateOrgCommandin the organization, or the organization is not a service provider.404No such organization.
502Stripe refused the connected account or the link.
What the model is shown
This is the tool exactly as the server lists it in tools/list. The description starts with the REST call it makes.
{
"name": "post_payout_accounts_by_orgid_eft_remediation",
"description": "POST /api/payout-accounts/{orgId}/eft-remediation — Setup itself happens in this app's form (`POST /eft-setup`). This is the remediation route: when Stripe will not verify from the submitted details alone it asks for an identity or address DOCUMENT, and a file upload is the one part of onboarding this app does not implement. Answers a single-use link to Stripe's page for the organization's connected account, creating that account when it has none. Stripe sends the browser back to `/finance?tab=payout&eft=return`, or `&eft=refresh` when the link expired or was already used. Needs `execute:UpdateOrgCommand` in this organization, or platform staff; the organization must be a SERVICE_PROVIDER. A Stripe refusal is 502 with a fixed sentence; Stripe's own is logged.\n\nThis changes data. The person is asked to confirm it before it runs, and nothing happens if they decline.",
"inputSchema": {
"type": "object",
"properties": {
"orgId": {
"type": "string"
}
},
"required": [
"orgId"
]
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
}
}