Create a person token
Creates a single-use token that represents the details for a person. Use this when you create or update persons associated with an Account v2. Learn more about account tokens. You can only create person tokens with your application’s publishable key and in live mode. You can use your application’s secret key to create person tokens only in test mode.
Parameters
additional_addresses(array of objects, optional) Additional addresses associated with the person.additional_addresses.purpose(enum, required) Purpose of additional address. Possible enum values:registeredThe registered address.
additional_addresses.city(string, optional) City, district, suburb, town, or village.additional_addresses.country(enum, optional) Two-letter country code (ISO 3166-1 alpha-2).additional_addresses.line1(string, optional) Address line 1 (e.g., street, PO Box, or company name).additional_addresses.line2(string, optional) Address line 2 (e.g., apartment, suite, unit, or building).additional_addresses.postal_code(string, optional) ZIP or postal code.additional_addresses.state(string, optional) State, county, province, or region.additional_addresses.town(string, optional) Town or district.
additional_names(array of objects, optional) Additional names (e.g. aliases) associated with the person.additional_names.purpose(enum, required) The purpose or type of the additional name. Possible enum values:aliasAn alias for the individual’s name.maidenThe maiden name of the individual.
additional_names.full_name(string, optional) The person’s full name.additional_names.given_name(string, optional) The person’s first or given name.additional_names.surname(string, optional) The person’s last or family name.
additional_terms_of_service(object, optional) Attestations of accepted terms of service agreements.additional_terms_of_service.account(object, optional) Details on the Person’s acceptance of the [Stripe Services Agreement]; IP, date, and User Agent are expanded by Stripe.additional_terms_of_service.account.shown_and_accepted(boolean, optional) The boolean value indicating if the terms of service have been accepted.
address(object, optional) The person’s residential address.address.city(string, optional) City, district, suburb, town, or village.address.country(enum, optional) Two-letter country code (ISO 3166-1 alpha-2).address.line1(string, optional) Address line 1 (e.g., street, PO Box, or company name).address.line2(string, optional) Address line 2 (e.g., apartment, suite, unit, or building).address.postal_code(string, optional) ZIP or postal code.address.state(string, optional) State, county, province, or region.address.town(string, optional) Town or district.
date_of_birth(object, optional) The person’s date of birth.date_of_birth.day(integer, required) The day of the birth.date_of_birth.month(integer, required) The month of birth.date_of_birth.year(integer, required) The year of birth.
documents(object, optional) Documents that may be submitted to satisfy various informational requests.documents.company_authorization(object, optional) One or more documents that demonstrate proof that this person is authorized to represent the company.documents.company_authorization.files(array of strings, required) One or more document IDs returned by a file upload with a purpose value ofaccount_requirement.documents.company_authorization.type(enum, required) The format of the document. Currently supportsfilesonly. Possible enum values:filesDocument type with multiple files.
documents.passport(object, optional) One or more documents showing the person’s passport page with photo and personal data.documents.passport.files(array of strings, required) One or more document IDs returned by a file upload with a purpose value ofaccount_requirement.documents.passport.type(enum, required) The format of the document. Currently supportsfilesonly. Possible enum values:filesDocument type with multiple files.
documents.primary_verification(object, optional) An identifying document showing the person’s name, either a passport or local ID card.documents.primary_verification.front_back(object, required) The file upload tokens referring to each side of the document.documents.primary_verification.front_back.back(string, optional) A file upload token representing the back of the verification document. The purpose of the uploaded file should be ‘identity_document’. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.documents.primary_verification.front_back.front(string, optional) A file upload token representing the front of the verification document. The purpose of the uploaded file should be ‘identity_document’. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.
documents.primary_verification.type(enum, required) The format of the verification document. Currently supportsfront_backonly. Possible enum values:front_backDocument type with both front and back sides.
documents.secondary_verification(object, optional) A document showing address, either a passport, local ID card, or utility bill from a well-known utility company.documents.secondary_verification.front_back(object, required) The file upload tokens referring to each side of the document.documents.secondary_verification.front_back.back(string, optional) A file upload token representing the back of the verification document. The purpose of the uploaded file should be ‘identity_document’. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.documents.secondary_verification.front_back.front(string, optional) A file upload token representing the front of the verification document. The purpose of the uploaded file should be ‘identity_document’. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.
documents.secondary_verification.type(enum, required) The format of the verification document. Currently supportsfront_backonly. Possible enum values:front_backDocument type with both front and back sides.
documents.visa(object, optional) One or more documents showing the person’s visa required for living in the country where they are residing.documents.visa.files(array of strings, required) One or more document IDs returned by a file upload with a purpose value ofaccount_requirement.documents.visa.type(enum, required) The format of the document. Currently supportsfilesonly. Possible enum values:filesDocument type with multiple files.
email(string, optional) Email.given_name(string, optional) The person’s first name.id_numbers(array of objects, optional) The identification numbers (e.g., SSN) associated with the person.id_numbers.type(enum, required) The ID number type of an individual. Possible enum values:ae_eidEmirates ID - United Arab Emirates.ao_nifNúmero de Identificação Fiscal (Tax Identification Number) - Angola.ar_cuilCódigo Único de Identificación Laboral (CUIL) - Argentina.ar_dniDocumento Nacional de Identidad (DNI) - Argentina.at_stnSteuernummer - Austria.az_tinTax Identification Number - Azerbaijan.bd_brcBirth Registration Certificate (BRC) - Bangladesh.bd_etinElectronic Tax Identification Number (ETIN) - Bangladesh.bd_nidNational Identification Number (NID) - Bangladesh.be_nrnNational Registration Number (NRN) - Belgium.bg_ucnUnified Civil Number (Единен граждански номер) - Bulgaria.bn_nricNational Registration Identity Card number (NRIC) - Brunei Darussalam.br_cpfCadastro de Pessoas Físicas - Brazil.ca_sinSocial Insurance Number (SIN) - Canada.ch_oasiOASI / AHV / AVS - Switzerland.cl_rutRol Único Tributario (RUT) - Chile.cn_ppPassport number (护照号码) - China.co_nuipNúmero Único de Identificación Personal (NUIP) - Colombia.cr_ciNúmero de cédula de identidad - Costa Rica.cr_cpfCédula de Persona Fisica (CPF) - Costa Rica.cr_dimexDocumento de Identidad Migratorio para Extranjeros (DIMEX) - Costa Rica.cr_niteNúmero de Indetificación Tributario Especial (NITE) - Costa Rica.cy_ticTax Identification Code (TIC) - Cyprus.cz_rcRodné číslo - Czech Republic.de_stnTax Identification Number (Steuer-ID) - Germany.dk_cprPersonnummer (CPR) - Denmark.do_cieNúmero de cédula de identidad y electoral - Dominican Republic.do_rcnRegistro Nacional del Contribuyente (RNC) - Dominican Republic.ec_ciNúmero de Cédula de Identidad - Ecuador.ee_ikIsikukood (PIC) - Estonia.es_nifNúmero de Identificación Fiscal (NIF) - Spain.fi_hetuHenkilötunnus (HETU) - Finland.fr_nirNuméro d’inscription au répertoire (NIR) - France.gb_ninoNational Insurance Number (NINO) - United Kingdom.gr_afmTax Identification Number (ΑΦΜ) - Greece.gt_nitNúmero de Identificación Tributaria (NIT) - Guatemala.hk_idHong Kong Identity Card Number - Hong Kong.hr_oibOsobni identifikacijski broj (OIB) - Croatia.hu_adAdóazonosító - Hungary.id_nikNomor Induk Kependudukan (NIK) - Indonesia.ie_ppsnPersonal Public Service Number (PPSN) - Ireland.is_ktKennitala - Iceland.it_cfCodice fiscale - Italy.jp_incIndividual Number Card (個人番号) - Japan.ke_pinKenya Revenue Authority PIN - Kenya.kz_iinIdentification Number (IIN) - Kazakhstan.li_peidPersonenidentifikationsnummer (PEID) - Liechtenstein.lt_akAsmens kodas - Lithuania.lu_nifNuméro d’Identification Personnelle (NIF) - Luxembourg.lv_pkPersonas kods - Latvia.mx_rfcPersonal RFC - Mexico.my_nricNational Registration Identity Card Number - Malaysia.mz_nuitMozambique Taxpayer Single ID Number (NUIT) - Mozambique.ng_ninNational Identity Number (NIN) - Nigeria.nl_bsnCitizen Service Number (BSN) - Netherlands.no_ninFødselsnummer (NIN) - Norway.nz_irdIRD number - New Zealand.pe_dniDocumento Nacional de Identidad (DNI) - Peru.pk_cnicComputerized National Identity Card Number (CNIC) - Pakistan.pk_snicSmart National Identity Card Number (SNIC) - Pakistan.pl_peselPESEL number - Poland.pt_nifNúmero de Identificação Fiscal (NIF) - Portugal.ro_cnpCodul Numeric Personal (CNP) - Romania.sa_tinZATCA-Issued Tax Identification Number - Saudi Arabia.se_pinPersonnummer (PIN) - Sweden.sg_finForeign Identification Number - Singapore.sg_nricNational Registration Identity Card - Singapore.sk_dicDaňové Identifikačné Číslo (DIC) - Slovakia.th_lcLaser Code (เลเซอร์ ไอดี) - Thailand.th_pinPersonal Identification Number (เลขประจำตัวประชาชน) - Thailand.tr_tinTax Identification Number (TIN) - Turkey.us_itinIndividual Taxpayer Identification Number - United States.us_itin_last_4Last 4 digits of Individual Taxpayer Identification Number - United States.us_ssnSocial Security Number - United States. If the us_ssn_last_4 is verified, this value populates automatically.us_ssn_last_4Last 4 digits of Social Security Number - United States.uy_dniNúmero de Documento Nacional de Identidad - Uruguay.za_idSouth African ID Number - South Africa.
id_numbers.value(string, required) The value of the ID number.
legal_gender(enum, optional) The person’s gender (International regulations require either “male” or “female”). Possible enum values:femaleFemale gender person.maleMale gender person.
metadata(map, optional) Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.nationalities(array of enums, optional) The nationalities (countries) this person is associated with.phone(string, optional) The phone number for this person.political_exposure(enum, optional) The person’s political exposure. Possible enum values:existingThe person has disclosed that they do have political exposure.noneThe person has disclosed that they have no political exposure.
relationship(object, optional) The relationship that this person has with the Account’s business or legal entity.relationship.authorizer(boolean, optional) Whether the individual is an authorizer of the Account’s identity.relationship.director(boolean, optional) Indicates whether the person is a director of the associated legal entity.relationship.executive(boolean, optional) Indicates whether the person is an executive of the associated legal entity.relationship.legal_guardian(boolean, optional) Indicates whether the person is a legal guardian of the associated legal entity.relationship.owner(boolean, optional) Indicates whether the person is an owner of the associated legal entity.relationship.percent_ownership(decimal, optional) The percentage of ownership the person has in the associated legal entity.relationship.representative(boolean, optional) Indicates whether the person is a representative of the associated legal entity.relationship.title(string, optional) The title or position the person holds in the associated legal entity.
script_addresses(object, optional) The script addresses (e.g., non-Latin characters) associated with the person.script_addresses.kana(object, optional) Kana Address.script_addresses.kana.city(string, optional) City, district, suburb, town, or village.script_addresses.kana.country(enum, optional) Two-letter country code (ISO 3166-1 alpha-2).script_addresses.kana.line1(string, optional) Address line 1 (e.g., street, PO Box, or company name).script_addresses.kana.line2(string, optional) Address line 2 (e.g., apartment, suite, unit, or building).script_addresses.kana.postal_code(string, optional) ZIP or postal code.script_addresses.kana.state(string, optional) State, county, province, or region.script_addresses.kana.town(string, optional) Town or district.
script_addresses.kanji(object, optional) Kanji Address.script_addresses.kanji.city(string, optional) City, district, suburb, town, or village.script_addresses.kanji.country(enum, optional) Two-letter country code (ISO 3166-1 alpha-2).script_addresses.kanji.line1(string, optional) Address line 1 (e.g., street, PO Box, or company name).script_addresses.kanji.line2(string, optional) Address line 2 (e.g., apartment, suite, unit, or building).script_addresses.kanji.postal_code(string, optional) ZIP or postal code.script_addresses.kanji.state(string, optional) State, county, province, or region.script_addresses.kanji.town(string, optional) Town or district.
script_names(object, optional) The script names (e.g. non-Latin characters) associated with the person.script_names.kana(object, optional) Persons name in kana script.script_names.kana.given_name(string, optional) The person’s first or given name.script_names.kana.surname(string, optional) The person’s last or family name.
script_names.kanji(object, optional) Persons name in kanji script.script_names.kanji.given_name(string, optional) The person’s first or given name.script_names.kanji.surname(string, optional) The person’s last or family name.
surname(string, optional) The person’s last name.
Returns
Response attributes
id(string) Unique identifier for the token.object(string, value is "v2.core.account_person_token") String representing the object’s type. Objects of the same type share the same value of the object field.created(timestamp) Time at which the token was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.expires_at(timestamp) Time at which the token will expire.livemode(boolean) Has the valuetrueif the token exists in live mode or the valuefalseif the object exists in test mode.used(boolean) Determines if the token has already been used (tokens can only be used once).
Error Codes
| HTTP status code | Code | Description |
|---|---|---|
| 400 | non_connect_platform_accounts_v2_access_blocked | Needs to use the newer API version or onboard to Connect. |
| 400 | platform_registration_required | The direct merchant has not signed up for Connect and cannot create connected accounts. |
| 400 | token_must_be_created_with_publishable_key | Token must be created with publishable key. |
| 429 | account_rate_limit_exceeded | Account cannot exceed a configured concurrency rate limit on updates. |
curl
curl -X POST https://api.stripe.com/v2/core/accounts/{{ACCOUNT_ID}}/person_tokens \
-H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
-H "Stripe-Version: 2026-04-22.dahlia" \
--json '{
"given_name": "Jenny",
"surname": "Rosen",
"email": "jenny.rosen@example.com",
"address": {
"line1": "27 Fredrick Ave",
"city": "Brothers",
"postal_code": "97712",
"state": "OR",
"country": "US"
},
"id_numbers": [
{
"type": "us_ssn_last_4",
"value": "0000"
}
],
"relationship": {
"owner": true,
"percent_ownership": "0.8",
"representative": true,
"title": "CEO"
}
}'Response
json
{
"id": "perstok_61RS0CgWt1xBt8M1Q16RS0Cg0WSQO5ZXUVpZxZ9tAIbY",
"object": "v2.core.account_person_token",
"created": "2025-11-17T14:00:00.000Z",
"expires_at": "2025-11-17T14:10:00.000Z",
"livemode": true,
"used": false
}