POST/application/submit-individual-plus

Upsert Individual Plus Application

Creates or updates an Individual Plus application. The applicant is the application — submit-individual and remove-individual do not apply to this form type.

  • Create: Omit Individual.Id or set it to ull. A new Individual Plus application is created.
  • Update: Include Individual.Id (returned from the create response) and Individual.Version. The entire form is fully replaced — send the full payload every time.

Key rules:

  • Email is required on create, must be globally unique, and is immutable (ignored on update).
  • Ssn (9 chars, no hyphens) is required for US individuals; TaxId is required for non-US individuals.
  • CardAvail determines Visa debit card eligibility.

Optimistic locking: Send Individual.Version from the last response on update. Stale value → dirty_update.

Headers

FieldTypeRequiredPossible valuesDescription
session-tokenstringRequired—

SessionToken obtained from the Create GMA Session endpoint. All secured endpoints require this header.

Request body

FieldTypeRequiredPossible valuesDescription
IndividualobjectRequired—

The Individual Plus applicant payload (`BrokerIndividualPlus`). Send the full form on every submit.

Individual.FirstNamestringRequired—

First name.

Individual.LastNamestringRequired—

Last name.

Individual.MotherMaidenNamestringRequired—

Mother's maiden name. Min 2, Max 50 characters.

Individual.EmailstringRequired—

Email address. Required on create; immutable thereafter (ignored on re-submit). Must be globally unique.

Individual.DobstringRequirede.g. 19900131

Date of birth. Format: `yyyyMMdd`.

Individual.GenderstringRequiredMale | Female | Gender_X

Gender.

Individual.NationalitystringRequirede.g. US | GB | DE

Nationality. ISO 3166-1 alpha-2.

Individual.MobileCountryCodeintegerRequirede.g. 1

International dialing code for `MobilePhone` (e.g. `1` for US, `44` for UK).

Individual.MobilePhonestringRequired—

Mobile phone number (digits only, no hyphens).

Individual.AddressobjectRequired—

Residential address.

Individual.Address.StreetstringRequired—

Street name. Max 40 characters.

Individual.Address.BuildingNumberstringRequired—

Building or apartment number. Max 40 characters.

Individual.Address.CitystringRequired—

City. Min 2, Max 40 characters.

Individual.Address.StatestringRequired—

State or province. Min 2, Max 40 characters.

Individual.Address.PinCodestringRequired—

Postal / ZIP code. Min 2, Max 40 characters.

Individual.Address.CountrystringRequirede.g. US | GB | DE

Country. ISO 3166-1 alpha-2 (e.g. `US`, `GB`).

Individual.HasBankAccountbooleanRequired—

Does the applicant have an existing bank account?

Individual.HasCriminalRecordbooleanRequired—

Does the applicant have a criminal record?

Individual.IsPoliticallyExposedbooleanRequired—

Is the applicant a politically exposed person (PEP)?

Individual.EmploymentStatusstring (enum)RequiredEmployed | Employed_Variable_Wages | Self_Employed | Unemployed | Retired

Employment status.

Individual.AnnualSalarynumberRequired—

Annual salary in USD.

Individual.PurposeOfAccountstring (enum)Requireddaily_expenses | family_expenses | personal_banking | trading | travel_expenses | savings | emergency_funds | special_purpose | other

Primary purpose for opening the account.

Individual.SourcesOfWealtharray<string> (enum)RequiredInheritance | Employment | Business_Gains | Sale_Property_Assets | Own_business_Proceeds | insurance_income | lifetime_savings | lottery_or_gaming | retirement | Litigation_Proceeds | Rental_Contract

Source(s) of wealth (multi-select).

Individual.DepositLocationsarray<string> (enum)Requiredus | ca | eu | asia | cn | south_america | central_america | caribbean | africa | australia_nz | middle_east

Regions from which deposits will originate.

Individual.PaymentLocationsarray<string> (enum)Requiredus | ca | eu | asia | cn | south_america | central_america | caribbean | africa | australia_nz | middle_east

Regions to which payments will be made.

Individual.InterestedInCryptobooleanRequired—

Is the applicant interested in cryptocurrency?

Individual.HasCoinConversionPlanbooleanRequired—

Does the applicant plan to convert stablecoins to/from fiat (USDC, USDT, etc.)?

Individual.HasCryptoConversionPlanbooleanRequired—

Does the applicant plan to convert cryptocurrencies to/from fiat (BTC, ETH, etc.)?

Individual.AmountOfInitialDepositnumberRequired—

Expected initial deposit amount (USD).

Individual.AverageBalancenumberRequired—

Expected average balance (USD).

Individual.NumberOfMonthlyAchDepositsnumberRequired—

Expected monthly ACH deposit count.

Individual.AmountOfMonthlyAchDepositsnumberRequired—

Expected monthly ACH deposit amount (USD).

Individual.NumberOfMonthlyDomesticWireDepositsnumberRequired—

Expected monthly domestic wire deposit count.

Individual.AmountOfMonthlyDomesticWireDepositsnumberRequired—

Expected monthly domestic wire deposit amount (USD).

Individual.NumberOfMonthlyInternationalWireDepositsnumberRequired—

Expected monthly international wire deposit count.

Individual.AmountOfMonthlyInternationalWireDepositsnumberRequired—

Expected monthly international wire deposit amount (USD).

Individual.NumberOfMonthlyAchPaymentsnumberRequired—

Expected monthly ACH payment count.

Individual.AmountOfMonthlyAchPaymentsnumberRequired—

Expected monthly ACH payment amount (USD).

Individual.NumberOfMonthlyDomesticWirePaymentsnumberRequired—

Expected monthly domestic wire payment count.

Individual.AmountOfMonthlyDomesticWirePaymentsnumberRequired—

Expected monthly domestic wire payment amount (USD).

Individual.NumberOfMonthlyInternationalWirePaymentsnumberRequired—

Expected monthly international wire payment count.

Individual.AmountOfMonthlyInternationalWirePaymentsnumberRequired—

Expected monthly international wire payment amount (USD).

Individual.NumberOfMonthlyStablecoinConversionsDepositsnumberRequired—

Expected monthly stablecoin deposit count.

Individual.AmountOfMonthlyStablecoinConversionsDepositsnumberRequired—

Expected monthly stablecoin deposit amount.

Individual.NumberOfMonthlyStablecoinConversionsPaymentsnumberRequired—

Expected monthly stablecoin payment count.

Individual.AmountOfMonthlyStablecoinConversionsPaymentsnumberRequired—

Expected monthly stablecoin payment amount.

Individual.CountOfMonthlyCryptocurrencyConversionsnumberRequired—

Expected monthly cryptocurrency conversion count.

Individual.AmountOfMonthlyCryptocurrencyConversionsnumberRequired—

Expected monthly cryptocurrency conversion amount.

Individual.Idstring | nullOptional—

`null` or absent to create. Set to the `Id` from a previous response to re-submit.

Individual.VersionintegerOptional—

Optimistic lock version. Send the `Version` from the last response on re-submit. Stale value → `dirty_update` (400).

Individual.MiddleNamestringOptional—

Middle name. Max 50 characters.

Individual.CountryOfBirthstringOptionale.g. US

Country of birth. ISO 3166-1 alpha-2.

Individual.TaxIdstringOptional—

Tax ID number. Required for non-US individuals.

Individual.SsnstringOptional—

Social Security Number (9 digits, no hyphens). Required when `Nationality` or `Address.Country` is `US`.

Individual.CardnumberOptionale.g. 1

Card preference flag (e.g. `1`). Used with address country for Visa debit card eligibility.

Individual.MailingAddressobjectOptional—

Mailing address. Same shape as `Individual.Address`.

Individual.MailingAddress.StreetstringOptional—

Street name

Individual.MailingAddress.BuildingNumberstringOptional—

Building or house number

Individual.MailingAddress.CitystringOptional—

City name

Individual.MailingAddress.StatestringOptional—

State or province name

Individual.MailingAddress.PinCodestringOptional—

Postal or ZIP code

Individual.MailingAddress.CountrystringOptional—

ISO Alpha-2 country code (e.g. `US`)

Individual.CriminalRecordDetailstringOptional—

Details of the criminal record. Required when `HasCriminalRecord` is `true`.

Individual.EmploymentIndustrystring (enum)Optionalagriculture | mining | utilities | construction | manufacturing | wholesale | retail | transportation | information | finance | real | professional | management | administrative | educational | health | arts | accommodation | other | public

Employment industry. Required when `EmploymentStatus` is `Employed` or `Employed_Variable_Wages`.

Individual.CardAvailbooleanOptional—

Does the applicant want a Visa debit card? The internal card flag is derived from this value and the address country.

Example request

{
  "Individual": {
    "Id": null,
    "FirstName": "Ada",
    "MiddleName": "Mary",
    "LastName": "Lovelace",
    "Email": "ada@example.com",
    "Dob": "19900131",
    "Gender": "female",
    "Nationality": "GB",
    "CountryOfBirth": "GB",
    "MotherMaidenName": "Byron",
    "MobileCountryCode": 44,
    "MobilePhone": "7700900123",
    "TaxId": "QQ123456C",
    "Ssn": null,
    "Address": {
      "Street": "Baker Street",
      "BuildingNumber": "221B",
      "City": "London",
      "State": "London",
      "PinCode": "NW1 6XE",
      "Country": "GB"
    },
    "HasBankAccount": true,
    "HasCriminalRecord": false,
    "CriminalRecordDetail": null,
    "IsPoliticallyExposed": false,
    "EmploymentStatus": "Employed",
    "EmploymentIndustry": "finance",
    "AnnualSalary": 90000,
    "PurposeOfAccount": "savings",
    "SourcesOfWealth": [
      "Employment",
      "Inheritance"
    ],
    "DepositLocations": [
      "us",
      "eu"
    ],
    "PaymentLocations": [
      "us",
      "eu"
    ],
    "InterestedInCrypto": true,
    "HasCoinConversionPlan": false,
    "HasCryptoConversionPlan": false,
    "CardAvail": true,
    "AmountOfInitialDeposit": 10000,
    "AverageBalance": 50000,
    "NumberOfMonthlyAchDeposits": 5,
    "AmountOfMonthlyAchDeposits": 10000,
    "NumberOfMonthlyDomesticWireDeposits": 3,
    "AmountOfMonthlyDomesticWireDeposits": 20000,
    "NumberOfMonthlyInternationalWireDeposits": 2,
    "AmountOfMonthlyInternationalWireDeposits": 15000,
    "NumberOfMonthlyAchPayments": 4,
    "AmountOfMonthlyAchPayments": 8000,
    "NumberOfMonthlyDomesticWirePayments": 3,
    "AmountOfMonthlyDomesticWirePayments": 12000,
    "NumberOfMonthlyInternationalWirePayments": 1,
    "AmountOfMonthlyInternationalWirePayments": 5000,
    "NumberOfMonthlyStablecoinConversionsDeposits": 2,
    "AmountOfMonthlyStablecoinConversionsDeposits": 4000,
    "NumberOfMonthlyStablecoinConversionsPayments": 2,
    "AmountOfMonthlyStablecoinConversionsPayments": 4000,
    "CountOfMonthlyCryptocurrencyConversions": 1,
    "AmountOfMonthlyCryptocurrencyConversions": 2000,
    "Card": 1,
    "MailingAddress": {
      "Street": "Baker Street",
      "BuildingNumber": "221B",
      "City": "London",
      "State": "London",
      "PinCode": "NW1 6XE",
      "Country": "GB"
    }
  }
}

Email and MobilePhone must be globally unique. A 400 error is returned for duplicates.

A 423 Application Locked response is returned when the application is in a locked or final status.

Response

FieldTypePossible valuesDescription
ResponseCodeinteger200 | 201 | 204 | 301 | 400 | 401 | 403 | 404 | 410 | 422 | 500 | 503

API result code in the response envelope. Indicates success or the error category (e.g. 200 success, 400 bad request, 401 unauthorized).

ResponseMessagestringSuccess | Created | NoContent | BadRequest | Unauthorized | Forbidden | NotFound | Gone | UnprocessableContent | ServerError | ResourceMoved | ServiceUnAvailable | UnProcessableEntity

Human-readable label paired with ResponseCode (e.g. Success, BadRequest, Unauthorized). Use with ResponseCode to interpret the outcome.

ResponseDataobjectPlease refer to below example for response body

The saved Individual Plus record. Use `Id` and `Version` on subsequent re-submits.

Example response

{
  "ResponseCode": 200,
  "ResponseMessage": "Success",
  "ResponseData": {
    "Version": 0,
    "Id": "6a575a07e557d865e3095b0a",
    "CreatedAt": 1784109575,
    "UpdatedAt": 1784109575,
    "FirstName": "Ada",
    "MiddleName": "Mary",
    "LastName": "Lovelace",
    "Email": "ada@example.com",
    "Dob": "19900131",
    "Gender": "female",
    "Nationality": "GB",
    "CountryOfBirth": "GB",
    "MotherMaidenName": "Byron",
    "MobileCountryCode": 44,
    "MobilePhone": "7700900123",
    "TaxId": "QQ123456C",
    "Address": {
      "Street": "Baker Street",
      "BuildingNumber": "221B",
      "City": "London",
      "State": "London",
      "PinCode": "NW1 6XE",
      "Country": "GB"
    },
    "HasBankAccount": true,
    "HasCriminalRecord": false,
    "IsPoliticallyExposed": false,
    "EmploymentStatus": "Employed",
    "EmploymentIndustry": "finance",
    "AnnualSalary": 90000,
    "PurposeOfAccount": "savings",
    "SourcesOfWealth": [
      "Employment",
      "Inheritance"
    ],
    "DepositLocations": [
      "us",
      "eu"
    ],
    "PaymentLocations": [
      "us",
      "eu"
    ],
    "InterestedInCrypto": true,
    "HasCoinConversionPlan": false,
    "HasCryptoConversionPlan": false,
    "CardAvail": true,
    "AmountOfInitialDeposit": 10000,
    "AverageBalance": 50000,
    "NumberOfMonthlyAchDeposits": 5,
    "AmountOfMonthlyAchDeposits": 10000,
    "NumberOfMonthlyDomesticWireDeposits": 3,
    "AmountOfMonthlyDomesticWireDeposits": 20000,
    "NumberOfMonthlyInternationalWireDeposits": 2,
    "AmountOfMonthlyInternationalWireDeposits": 15000,
    "NumberOfMonthlyAchPayments": 4,
    "AmountOfMonthlyAchPayments": 8000,
    "NumberOfMonthlyDomesticWirePayments": 3,
    "AmountOfMonthlyDomesticWirePayments": 12000,
    "NumberOfMonthlyInternationalWirePayments": 1,
    "AmountOfMonthlyInternationalWirePayments": 5000,
    "NumberOfMonthlyStablecoinConversionsDeposits": 2,
    "AmountOfMonthlyStablecoinConversionsDeposits": 4000,
    "NumberOfMonthlyStablecoinConversionsPayments": 2,
    "AmountOfMonthlyStablecoinConversionsPayments": 4000,
    "CountOfMonthlyCryptocurrencyConversions": 1,
    "AmountOfMonthlyCryptocurrencyConversions": 2000
  }
}

A 400 with `dirty_update` is returned when the `Individual.Version` is stale. A 400 with `record_not_found` is returned if the `Id` does not exist. A 423 is returned when the application is locked.

Requires `session-token: {SessionToken}` from Create GMA Session. Use the same client IP as authentication.

Search guide books, endpoints, paths, or parameters

↑↓navigate↵openEscclose