/v2/application/individual/updateUpdate Individual Plus Application
Fills in or edits the form for an Individual Plus application you have already created. Send the complete Individual form, including Individual.Id and Individual.Version from the last response.
Headers
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
session-token | string | Required | — | SessionToken obtained from the Create GMA Session endpoint. All secured endpoints require this header. |
Request body
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
Individual | object | Required | — | Version 2 Individual Plus form. Send the whole form on every submit. Include Id and Version from the last response. |
Individual.Id | string | Required | — | Id of the individual from the last response. Required on update. |
Individual.Version | integer | Required | — | Optimistic lock version from the last response. Required on update. A stale value returns `dirty_update` (400). |
Individual.FirstName | string | Required | — | First name. |
Individual.LastName | string | Required | — | Last name. |
Individual.Email | string | Required | — | Email address. Required on create; immutable thereafter (ignored on re-submit). Must be globally unique. |
Individual.Dob | string | Required | e.g. 19900131 | Date of birth. Format: `yyyyMMdd`. |
Individual.Gender | string | Required | Male | Female | Gender_X | Gender. |
Individual.Nationality | string | Required | e.g. US | GB | DE | Nationality. ISO 3166-1 alpha-2. |
Individual.MobileCountryCode | integer | Required | e.g. 1 | International dialing code for `MobilePhone` (e.g. `1` for US, `44` for UK). |
Individual.MobilePhone | string | Required | — | Mobile phone number (digits only, no hyphens). |
Individual.Address | object | Required | — | Residential address. |
Individual.Address.Street | string | Required | — | Street name. Max 40 characters. |
Individual.Address.BuildingNumber | string | Required | — | Building or apartment number. Max 40 characters. |
Individual.Address.City | string | Required | — | City. Min 2, Max 40 characters. |
Individual.Address.State | string | Required | — | State or province. Min 2, Max 40 characters. |
Individual.Address.PinCode | string | Required | — | Postal / ZIP code. Min 2, Max 40 characters. |
Individual.Address.Country | string | Required | e.g. US | GB | DE | Country. ISO 3166-1 alpha-2 (e.g. `US`, `GB`). |
Individual.Card | number | Required | 0 | 1 | Card selection. 0 = none, 1 = Visa debit card. When Card is 1, MailingAddress is required. A card-eligible address country is issued a card. |
Individual.HasBankAccount | boolean | Required | — | Does the applicant have an existing bank account? |
Individual.IsPoliticallyExposed | boolean | Required | — | Is the applicant a politically exposed person (PEP)? |
Individual.EmploymentStatus | string (enum) | Required | Employed | Employed_Variable_Wages | Self_Employed | Unemployed | Retired | Employment status. |
Individual.AnnualSalary | number | Required | — | Annual salary in USD. |
Individual.PurposeOfAccount | string (enum) | Required | daily_expenses | family_expenses | personal_banking | trading | travel_expenses | savings | emergency_funds | special_purpose | other | Primary purpose for opening the account. |
Individual.SourcesOfWealth | array<string> (enum) | Required | Inheritance | 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.DepositLocations | array<string> (enum) | Required | us | ca | eu | asia | cn | south_america | central_america | caribbean | africa | australia_nz | middle_east | Regions from which deposits will originate. |
Individual.PaymentLocations | array<string> (enum) | Required | us | ca | eu | asia | cn | south_america | central_america | caribbean | africa | australia_nz | middle_east | Regions to which payments will be made. |
Individual.SourceOfFund | string (enum) | Required | annuity_or_pension | business_income | commissions_or_contracts | dividends | salary_or_bonus | sale_of_property | rental_income | Single-select source of deposit funds. |
Individual.ExpectedDepositVolumeTier | string (enum) | Required | low | medium | other | Expected monthly deposit volume tier. When the value is other, send ExpectedDepositVolumeTierOther and omit it otherwise. |
Individual.ExpectedPaymentVolumeTier | string (enum) | Required | low | medium | other | Expected monthly payment volume tier. When the value is other, send ExpectedPaymentVolumeTierOther and omit it otherwise. |
Individual.AmountOfInitialDeposit | number | Required | — | Expected initial deposit amount (USD). |
Individual.AverageBalance | number | Required | — | Expected average balance (USD). |
Individual.MiddleName | string | Optional | — | Middle name. Max 50 characters. |
Individual.MotherMaidenName | string | Optional | — | Optional on version 2. |
Individual.TaxId | string | Optional | — | Tax ID number. Required for non-US individuals. |
Individual.Ssn | string | Optional | — | Social Security Number (9 digits, no hyphens). Required when `Nationality` or `Address.Country` is `US`. |
Individual.MailingAddress | object | Optional | — | Mailing address. Same shape as `Individual.Address`. |
Individual.MailingAddress.Street | string | Optional | — | Street name |
Individual.MailingAddress.BuildingNumber | string | Optional | — | Building or house number |
Individual.MailingAddress.City | string | Optional | — | City name |
Individual.MailingAddress.State | string | Optional | — | State or province name |
Individual.MailingAddress.PinCode | string | Optional | — | Postal or ZIP code |
Individual.MailingAddress.Country | string | Optional | — | ISO Alpha-2 country code (e.g. `US`) |
Individual.OtherBankDetails | string | Optional | — | Details of an account at another financial institution. Required when HasBankAccount is true. |
Individual.EmploymentIndustry | string (enum) | Optional | agriculture | 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.ExpectedDepositVolumeTierOther | string | Optional | — | Free text required when ExpectedDepositVolumeTier is other. Omit otherwise. |
Individual.ExpectedPaymentVolumeTierOther | string | Optional | — | Free text required when ExpectedPaymentVolumeTier is other. Omit otherwise. |
Example request
{
"Individual": {
"Id": "6a3a2f324c2e4b093dce834c",
"Version": 0,
"FirstName": "Ada",
"MiddleName": "Mary",
"LastName": "Lovelace",
"Email": "ada@example.com",
"Dob": "19900131",
"Gender": "female",
"Nationality": "US",
"MotherMaidenName": "Byron",
"MobileCountryCode": 1,
"MobilePhone": "2025550123",
"TaxId": "",
"Ssn": "123456789",
"Address": {
"Street": "Example Street",
"BuildingNumber": "221B",
"City": "New York",
"State": "NY",
"PinCode": "10001",
"Country": "US"
},
"HasBankAccount": true,
"IsPoliticallyExposed": false,
"EmploymentStatus": "Employed",
"EmploymentIndustry": "finance",
"AnnualSalary": 90000,
"PurposeOfAccount": "savings",
"SourcesOfWealth": [
"Employment",
"Inheritance"
],
"DepositLocations": [
"us"
],
"PaymentLocations": [
"us"
],
"AmountOfInitialDeposit": 10000,
"AverageBalance": 50000,
"Card": 1,
"MailingAddress": {
"Street": "Example Street",
"BuildingNumber": "221B",
"City": "New York",
"State": "NY",
"PinCode": "10001",
"Country": "US"
},
"OtherBankDetails": "Checking account with a US national bank.",
"SourceOfFund": "salary_or_bonus",
"ExpectedDepositVolumeTier": "low",
"ExpectedPaymentVolumeTier": "low"
}
}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
| Field | Type | Possible values | Description |
|---|---|---|---|
ResponseCode | integer | 200 | 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). |
ResponseMessage | string | Success | 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. |
ResponseData | object | Please 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",
"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,
"IsPoliticallyExposed": false,
"EmploymentStatus": "Employed",
"EmploymentIndustry": "finance",
"AnnualSalary": 90000,
"PurposeOfAccount": "savings",
"SourcesOfWealth": [
"Employment",
"Inheritance"
],
"DepositLocations": [
"us",
"eu"
],
"PaymentLocations": [
"us",
"eu"
],
"AmountOfInitialDeposit": 10000,
"AverageBalance": 50000,
"OtherBankDetails": "Checking account with a US national bank.",
"SourceOfFund": "salary_or_bonus",
"ExpectedDepositVolumeTier": "low",
"ExpectedPaymentVolumeTier": "low"
}
}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.