次のような場合に使用: ユーザーがStripe Connect(ストライプの連携機能)で接続されたアカウントが認証・登録・本人確認(利用者が本当に本人か確認する仕組み)・アカウント要件に関して、どのような情報の提供を求められるのかを質問した場合。あるいは、異なるアカウント設定間で要件を比較する必要がある場合、または特定の国・アカウント国・業種・ダッシュボード・サービス契約・機能に対して、どの認証項目、書類、事業詳細が必要かを尋ねられた場合。
Use this skill when the user asks what information a Stripe Connect connected account must provide for verification, onboarding, KYC, or account requirements; when they need to compare requirements between connected-account setups; or when they ask which verification fields, documents, or business details are required for a particular platform country, account country, business type, dashboard, service agreement, or capability.
The human-accessible version of this documentation allows the user to select connected account fields and regions using a form, and then makes API requests to fetch and display the requirements a connected account with the selected configuration and region must provide. Follow these instructions to fetch the same information.
Terminology used in this document:
field: a setup input such as platformCountry, accountCountry, or capabilitiesoption: a presented selectable option for a fieldvalue: the option the user selects, or the free-response value the user provides for a fieldEvery time you ask the user to provide a value for a field:
You must follow these rules:
platformCountry and accountCountry separately: the platform country determines which account countries are valid, so asking both together can produce invalid combinations. But you may ask for dashboardType, tosType, and legalEntityType together in one group because their valid options are already known from the same response.Germany (DE).capabilities after platformCountry, accountCountry, and the downstream validity constraints for that setup are resolved.orrProgram when it is present in the public programs returned for the validated setup.businessStructure map for the chosen legalEntityType is empty or contains exactly one key nil, skip businessStructure. Otherwise, ask for businessStructure and always allow a none option or leave unselected as a suggested option in the multiple-choice question.platformCountry, you must invalidate and re-check all downstream fields before continuing.| Internal field | External language |
|---|---|
apiVersion |
Accounts API version |
platformCountry |
Platform country |
accountCountry |
Account country |
dashboardType |
Dashboard type |
tosType |
Service agreement |
legalEntityType |
Business type |
businessStructure |
Business structure |
capabilities |
Capabilities |
orrProgram |
Requirements update |
eu2025 |
Europe |
You must follow this dependency chain exactly:
flowchart TD
apiVersion["apiVersion"] --> capabilities
platformCountry --> accountCountry["accountCountry"]
accountCountry --> dashboardType["dashboardType"]
accountCountry --> tosType["tosType"]
accountCountry --> legalEntityType["legalEntityType"]
legalEntityType --> businessStructure["businessStructure (optional)"]
accountCountry --> capabilities["capabilities"]
accountCountry --> orrProgram["orrProgram (only if returned)"]
tosType --> capabilities
apiVersion --> capabilities
dashboardType --> finalRequest["final requirements request"]
apiVersion --> finalRequest
platformCountry --> finalRequest
accountCountry --> finalRequest
tosType --> finalRequest
legalEntityType --> finalRequest
businessStructure --> finalRequest
capabilities --> finalRequest
orrProgram --> finalRequest
Interpret the diagram literally:
apiVersion first. Recommend v2 by default.By the time you make the final requirements request, you must have validated values for all of the following fields:
apiVersion: v1 or v2platformCountryaccountCountrydashboardTypetosTypelegalEntityTypecapabilities: at least one capability must be selectedYou also must have asked for the following optional fields, if they’re applicable:
businessStructure: ask only when legalEntityType is not individualorrProgram: ask only when present in the public programs list for that validated setupUse this algorithm whenever you build or validate the capability list:
country_map[accountCountry].capabilities.tosType rules:
tosType=recipient, force transfers and remove all other capabilities except crypto_transfers, which may be available in rare casesapiVersion=v1 and crypto_transfers is selected, also include transfersapiVersion=v2, drop any capability not present in get-v2-supported-v1-capabilities.capabilities, print the full filtered list first, then ask a multiple-choice question that includes the most likely choice or choices based on prior user context.paypal_payments, but also selected v2 accounts, explain that paypal_payments is unavailable for v2 accounts, and offer them the choice of switching to apiVersion v1 and choosing paypal_payments, or remaining with apiVersion v2 and choosing a different capability.When the user asks what verification information they need, use this flow:
apiVersion. Recommend v2.https://docs.stripe.com/_endpoint/get-platform-countries and use the public supported list to ask for platformCountry.https://docs.stripe.com/_endpoint/get-v2-supported-v1-capabilities if apiVersion=v2.https://docs.stripe.com/_endpoint/get-requirement-selections-for-platform-country?platformCountry=... with the chosen platformCountry.accountCountry from the returned country_map keys.accountCountry is validated, ask for:
dashboardTypetosTypelegalEntityTypelegalEntityType is chosen, ask for businessStructure if the validated structure map exposes it.capabilities using Resolve capabilities.orrProgram only if the validated setup exposes one or more public programs.https://docs.stripe.com/_endpoint/get-requirements-for-setups with one top-level setup key account-setup-A[...], including account-setup-A[apiVersion], account-setup-A[platformCountry], account-setup-A[accountCountry], account-setup-A[dashboardType], account-setup-A[tosType], account-setup-A[legalEntityType], optional account-setup-A[businessStructure], one or more account-setup-A[capabilities][i], and optional account-setup-A[orrProgram].https://docs.stripe.com/_endpoint/get-website-requirements-for-capabilities?capabilities[i]=... and https://docs.stripe.com/_endpoint/get-mcc-restrictions-for-capabilities?capabilities[i]=... with the final validated capabilities to check for additional information.If you are asked to compare two setups or are asked what is needed to update from X to Y, you must follow the validation flow for setup A with a top-level account-setup-A[...] key and then follow the flow again for setup B with a second top-level key account-setup-B[...] before calling the diffable requirements request.
Treat transport or build failures as retryable helper failures, and reserve unsupported-setup conclusions for successful prerequisite fetches and business validation results.
In these examples, set the docs host to the public site:
DOCS_HOST="https://docs.stripe.com"
Ask for apiVersion. Recommend v2.
Fetch the public platform-country list:
curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
Ask the user which platformCountry value they want to use. Then, fetch the allowed options for that platform country. This request tells you what is valid next, and you must use it before choosing downstream fields. For example, if the user chose US:
curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
--data-urlencode "platformCountry=US"
After that response returns, collect setup choices as described in the Agent flow section.
Ask for apiVersion. Recommend v2.
# Step 1: verify the platform country is valid
curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
# Step 2: fetch all public options for that platform country
curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
--data-urlencode "platformCountry=CA"
From that second response, first verify that FR is a valid account country, then read:
country_map.FR.dashboard_typescountry_map.FR.tos_typescountry_map.FR.entity_type_structurescountry_map.FR.capabilitiescountry_map.FR.programsThen, confirm the user’s requested setup actually matches those available options.
If the user wants apiVersion=v2, first fetch and apply the v2 capability filter to compare against the user’s requested capabilities:
curl --get "$DOCS_HOST/_endpoint/get-v2-supported-v1-capabilities"
Only when the user’s requested setup actually matches those available options, then call the requirements endpoint.
The requirements endpoint expects nested query-string fields, not a JSON body:
curl --get "$DOCS_HOST/_endpoint/get-requirements-for-setups" \
--data-urlencode "account-setup-A[apiVersion]=v2" \
--data-urlencode "account-setup-A[platformCountry]=CA" \
--data-urlencode "account-setup-A[accountCountry]=FR" \
--data-urlencode "account-setup-A[dashboardType]=none" \
--data-urlencode "account-setup-A[tosType]=full" \
--data-urlencode "account-setup-A[legalEntityType]=company" \
--data-urlencode "account-setup-A[businessStructure]=corporation" \
--data-urlencode "account-setup-A[capabilities][0]=card_payments"
Optionally, since .programs is present for this configuration, you can ask the user if they would like to choose a requirements update and add --data-urlencode "account-setup-A[orrProgram]=eu-2025" to the request.
Use this response to present the requirements to the user as explained in the Construct the result section.
Fetch the optional supplemental tables for the selected capabilities:
curl --get "$DOCS_HOST/_endpoint/get-website-requirements-for-capabilities" \
--data-urlencode "capabilities[0]=card_payments"
curl --get "$DOCS_HOST/_endpoint/get-mcc-restrictions-for-capabilities" \
--data-urlencode "capabilities[0]=card_payments"
Use get-platform-countries to choose your initial platformCountry:
platform_countries is the public list of available platformCountry optionsdefault_country is the page’s default starting countryUse get-requirement-selections-for-platform-country to validate the setup before you call the main requirements endpoint:
country_map is the source of truth for which field values are valid for that platformCountry valuecountry_map are the allowed accountCountry optionscountry_map[ACCOUNT_COUNTRY].dashboard_types constrains dashboardTypecountry_map[ACCOUNT_COUNTRY].tos_types constrains tosTypecountry_map[ACCOUNT_COUNTRY].entity_type_structures constrains legalEntityType and optional businessStructurecountry_map[ACCOUNT_COUNTRY].capabilities constrains capability choicescountry_map[ACCOUNT_COUNTRY].programs lists the only public ORR programs you may pass as orrProgramexternal_country_map should be ignoredApply these dependency rules before making the final request:
accountCountry, re-check all downstream selectionslegalEntityType, re-check businessStructure and all downstream selectionsaccountCountry, tosType, or apiVersion, re-run Resolve capabilitiesUse get-requirements-for-setups as your main source of requirement data:
requirements contains the successful result for each requested setup keyvalidation_errors means the setup was invalid and must be corrected before you interpret the responsebuild_errors means the endpoint failed unexpectedly while building the summary; you must treat this as retryable rather than as a business conclusionWithin each successful setup result:
requirements[field_name] is the requirement data for a single raw field, including enforcement limits, alternatives, display metadata, and related annotations used by the docs rendererextras contains human-readable labels and validation guidance for that requirementrequirement_tags contains top-level requirement tags returned alongside the requirements datarequirement_groups contains grouped requirement data returned alongside the requirements dataCheck the supplemental endpoints to see if there are any additional capability-specific restrictions to present to the user.
requirements_by_capability from the website endpoint is a separate website requirements table that explains requirements the connected account’s website must meet to support the selected capability. These should be presented to the user as a separate table.restrictions_by_capability from the MCC endpoint is a separate MCC restrictions table that explains requirements the connected account’s MCC must meet to support the selected capability. If this endpoint returns any restrictions, ask the user what kind of business they are running to determine whether their business type is prohibited or restricted from using the specific capability.Transform the API response into one or more human-readable tables in your own reply to the user, followed by any additional explanatory notes. These are output tables that you construct from the response data, not references to pre-existing tables on the human docs page.
company.* -> companydocuments.* -> documentsindividual.* -> individualrepresentative.* -> representativedirectors.* -> directorsowners.* -> ownersexecutives.* -> executivesaccountAccount, Company, Representative, Directors, or OwnersRequirement
field_a` or `field_bVerification
extras[].valueextras[].value entry as one list itemextras is empty, leave the entry blankEnforcement action
if not provided message(s):
capability_limit_amountcapability_limit_timepayment_limit_amountpayment_limit_timepayout_limit_amountpayout_limit_timeif not verified message(s):
verified_capability_limit_amountverified_capability_limit_timeverified_payment_limit_amountverified_payment_limit_timeverified_payout_limit_amountverified_payout_limit_time<= 0, treat that impact as immediateorCapability, payments, and payouts will be paused immediately if not provided.if not provided and if not verified text exist, render the if not provided sentence(s) first and then the if not verified sentence(s); prefix the first if not verified sentence with Also,—representative and owners both use the person row-definition family, but they render as separate Representative and Owners tables because they are different sections.Row definitions step. The row-definition family only controls how rows are matched and labeled inside that section’s table:
account -> accountcompany -> entitydocuments -> entityindividual -> personrepresentative -> personowners -> personexecutives -> persondirectors -> personaccount section, strip the section prefix before matching row rules. For example, match representative.first_name as first_name and company.address.city as address.city.account: Merchant category code: /business_profile.mcc/ URL: /business_profile.(url|requirement)/ Product description: /business_profile.product_description/ Support phone: /business_profile.support_phone/ Statement descriptors: /settings.payments.statement_descriptor/
/settings.konbini_payments.support_email/ Konbini support phone number: /settings.konbini_payments.support_phone/ Konbini support hours: /settings.konbini_payments.support_hours/ Terms of service: /^tos_acceptance\./ Issuing terms of service: /settings\.card_issuing\.tos_acceptance\./ Estimated worker count: /business_profile\.estimated_worker_count/ Annual revenue: /business_profile\.annual_revenue/ External account: /external_account/ Legal guardian: /legal_guardian\./entity: Company name: /name$/ Company name (kana): /name_kana/ Company name (kanji): /name_kanji/ Company address: /address\..*/ Company address (kana): /address_kana/ Company address (kanji): /address_kanji/ Company phone: /phone/ Company tax ID: /tax_id/ Company registration number: /registration_number/ Company ID number: /id_number/ Trade license: /company_license/ Memorandum of Association: /company_memorandum_of_association/ Proof of bank account: /bank_account_ownership_verification/ Directors provided: /directors_provided/ Owners provided: /owners_provided/ Executives provided: /executives_provided/
person: Name: /(first|last)_name/ Name (kana): /(first|last)_name_kana/ Name (kanji): /(first|last)_name_kanji/ Aliases: /full_name_aliases/ Date of birth: /dob\./ Address: /^address\./ Address (kana): /address_kana/ Address (kanji): /address_kanji/ Registered address: /registered_address/ Email: /email/ Phone: /phone/ Gender: /gender/ Political Exposure: /political_exposure/ Tax information: /ssn_last_4$/ or /id_number$/ Secondary ID number: /(id_number_secondary)/ Job title: /(relationship\.title)/ Relationship with legal entity: /relationship\.(?!title)/ Nationality: /nationality/ Passport: /passport/ Proof of liveness: /proof_of_liveness/
apiVersion=v2, replace each displayed field with v2_field_name and use v2_alternatives.apiVersion=v2 and a requirement doesn’t expose v2_field_name, omit that field from the rendered table. If that removes every field from a row group, omit the row. If a section becomes empty, omit that section table.{
"requirements": {
"currently_due": [
"configuration.merchant.mcc",
"company.name",
"representative.first_name"
],
"eventually_due": [
"business_profile.url"
]
}
}
Do not use ellipses (...) or placeholder strings in the output — list every field name explicitly.
apiVersion=v2, inform the user that this JSON is for information only, and doesn’t match the shape of a real API response.get-requirements-for-setups response:
currently_due when any unverified limit amount or time is <= 0, or any verified limit amount or time is <= 0eventually_duerequirements.currently_due and requirements.eventually_due from those derived bucketsfuture_requirements bucket. Regulatory or ORR-driven future changes are modeled through orrProgram setup selection and A/B setup comparison, not through a third due arrayapiVersion=v1, use the raw requirement field names in both arraysapiVersion=v2, use v2_field_name values in both arraysapiVersion=v2, omit fields that have no v2_field_nameWhen you return results to the user:
apiVersion, platformCountry, accountCountry, dashboardType, tosType, legalEntityType, optional businessStructure, selected capabilities, and optional orrProgramhttps://docs.stripe.com/_endpoint/get-requirements-for-setups?account-setup-A[platformCountry]=CA&account-setup-A[accountCountry]=FR&account-setup-A[dashboardType]=full&account-setup-A[tosType]=full&account-setup-A[legalEntityType]=individual&account-setup-A[capabilities][0]=card_payments&account-setup-A[orrProgram]=eu-2025 -> https://docs.stripe.com/connect/required-verification-information?accountSetupKeys=account-setup-A&account-setup-A%5BapiVersion%5D=v2&account-setup-A%5BplatformCountry%5D=CA&account-setup-A%5BaccountCountry%5D=FR&account-setup-A%5BdashboardType%5D=full&account-setup-A%5BtosType%5D=full&account-setup-A%5BlegalEntityType%5D=individual&account-setup-A%5BbusinessStructure%5D=undefined&account-setup-A%5Bcapabilities%5D=card_payments&account-setup-A%5BorrProgram%5D=eu-2025account-setup-B in the page URL only if you validated and queried setup Bextras[].value as the source of truthvalidation_errors, ask the user to correct the setup inputs using the Interaction contract instead of guessingbuild_errors, retry the request; if the error persists, tell the user the helper endpoint failed unexpectedly原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。