post_payout_accounts_by_orgid_eft_remediation

Changes data · you confirm first

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

ArgumentTypeDescription
orgIdpathstring (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.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "post_payout_accounts_by_orgid_eft_remediation",
    "arguments": {
      "orgId": "11111111-1111-4111-8111-111111111111"
    }
  }
}
Confirmation
The client shows the person the exact request and waits. Nothing runs until they tick Make this change. See Reading and changing.

Result

On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.

Stripe's link.

json
{
  "expiresAt": 1,
  "url": "string"
}

Fields

FieldTypeDescription
expiresAtintegerEpoch milliseconds the link stops working.
urlstringStripe'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.

400

The request was malformed or failed a guard.

403

Not platform staff and not holding execute:UpdateOrgCommand in the organization, or the organization is not a service provider.

404

No such organization.

502

Stripe 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.

json
{
  "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
  }
}