--- title: "Manage legal entities" description: "View and manage your users' legal entity resources." url: "https://docs.adyen.com/marketplaces/manage-legal-entities" source_url: "https://docs.adyen.com/marketplaces/manage-legal-entities.md" canonical: "https://docs.adyen.com/marketplaces/manage-legal-entities" last_modified: "2024-01-04T17:37:00+01:00" language: "en" --- # Manage legal entities View and manage your users' legal entity resources. A legal entity is an API resource that describes an individual or an organization on your Balance Platform. It contains information about your user, for example, the legal name, address, and tax information of the individual or organization. Adyen uses this information to perform [verification checks](/marketplaces/verification-overview) as required by payment industry regulations. The legal entity resource also contains the associations that the legal entity has with other entities on your platform. For example, most organizations need a signatory. To manage legal entities, use the [Legal Entity Management API](https://docs.adyen.com/api-explorer/legalentity/3/overview). This page contains instructions for common legal entity operations. These operations are part of a larger process which includes [verification](/marketplaces/verification-overview) and [onboarding steps](/marketplaces/onboard-users/onboarding-steps). ## Requirements | Requirement | Description | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Integration type** | [Adyen for Platforms](/adyen-for-platforms-model) | | **[API credential roles](/development-resources/api-credentials/roles/)** | Make sure that you have a **Legal Entity Management** web service user with the following roles:- **Manage LegalEntities via API** - **Balance Platform BCL Legal Entity role** | ## Create a legal entity Creating a legal entity is the first step in moving users though the onboarding and verification process. Adyen uses the details you include when you create the legal entity to [verify the account holder](/marketplaces/verification-overview) that is linked to the legal entity. The minimum required information for creating a legal entity depends on the location and entity type that you are onboarding. For a full list of details per region, check [Required information](/marketplaces/verification-requirements/required-kyc-information). To create a legal entity: 1. Make a POST [/legalEntities](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities) request using the [individual](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities#request-individual) or [organization](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities#request-organization) details. The following example shows how to create an organization in the United States. **Create legal entity request** #### curl ```bash curl https://kyc-test.adyen.com/lem/v3/legalEntities \ -H 'x-api-key: ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "type": "organization", "organization": { "legalName": "Explorer Company based in US", "registrationNumber": "101002749", "type": "privateCompany", "registeredAddress": { "city": "New York", "country": "US", "postalCode": "10003", "stateOrProvince": "NY", "street": "71 5th Avenue", "street2": "11th floor" } } }' ``` #### Java ```java // Adyen Java API Library v33.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.legalentitymanagement.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.legalEntityManagement.*; Client client = new Client("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment.TEST); // Create the request object(s) Address address = new Address() .country("US") .stateOrProvince("NY") .city("New York") .street("71 5th Avenue") .postalCode("10003") .street2("11th floor"); Organization organization = new Organization() .legalName("Explorer Company based in US") .registeredAddress(address) .registrationNumber("101002749") .type(Organization.TypeEnum.PRIVATECOMPANY); LegalEntityInfoRequiredType legalEntityInfoRequiredType = new LegalEntityInfoRequiredType() .organization(organization) .type(LegalEntityInfoRequiredType.TypeEnum.ORGANIZATION); // Send the request LegalEntitiesApi service = new LegalEntitiesApi(client); LegalEntity response = service.createLegalEntity(legalEntityInfoRequiredType, null); ``` #### PHP ```php setXApiKey("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $address = new Address(); $address ->setCountry("US") ->setStateOrProvince("NY") ->setCity("New York") ->setStreet("71 5th Avenue") ->setPostalCode("10003") ->setStreet2("11th floor"); $organization = new Organization(); $organization ->setLegalName("Explorer Company based in US") ->setRegisteredAddress($address) ->setRegistrationNumber("101002749") ->setType("privateCompany"); $legalEntityInfoRequiredType = new LegalEntityInfoRequiredType(); $legalEntityInfoRequiredType ->setOrganization($organization) ->setType("organization"); // Send the request $service = new LegalEntitiesApi($client); $response = $service->createLegalEntity($legalEntityInfoRequiredType); ``` #### C\# ```cs // Adyen .net API Library v28.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.LegalEntityManagement; using Adyen.Service.LegalEntityManagement; var config = new Config() { XApiKey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) Address address = new Address { Country = "US", StateOrProvince = "NY", City = "New York", Street = "71 5th Avenue", PostalCode = "10003", Street2 = "11th floor" }; Organization organization = new Organization { LegalName = "Explorer Company based in US", RegisteredAddress = address, RegistrationNumber = "101002749", Type = Organization.TypeEnum.PrivateCompany }; LegalEntityInfoRequiredType legalEntityInfoRequiredType = new LegalEntityInfoRequiredType { Organization = organization, Type = LegalEntityInfoRequiredType.TypeEnum.Organization }; // Send the request var service = new LegalEntitiesService(client); var response = service.CreateLegalEntity(legalEntityInfoRequiredType); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v23.3.0 const { Client, LegalEntityManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: "TEST" }); // Create the request object(s) const legalEntityInfoRequiredType = { type: "organization", organization: { legalName: "Explorer Company based in US", registrationNumber: "101002749", type: "privateCompany", registeredAddress: { city: "New York", country: "US", postalCode: "10003", stateOrProvince: "NY", street: "71 5th Avenue", street2: "11th floor" } } } // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = legalEntityManagementAPI.LegalEntitiesApi.createLegalEntity(legalEntityInfoRequiredType); ``` #### Go ```go // Adyen Go API Library v17.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v17/src/common" "github.com/adyen/adyen-go-api-library/v17/src/adyen" "github.com/adyen/adyen-go-api-library/v17/src/legalEntityManagement" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) address := legalEntityManagement.Address{ Country: "US", StateOrProvince: common.PtrString("NY"), City: common.PtrString("New York"), Street: common.PtrString("71 5th Avenue"), PostalCode: common.PtrString("10003"), Street2: common.PtrString("11th floor"), } organization := legalEntityManagement.Organization{ LegalName: "Explorer Company based in US", RegisteredAddress: address, RegistrationNumber: common.PtrString("101002749"), Type: common.PtrString("privateCompany"), } legalEntityInfoRequiredType := legalEntityManagement.LegalEntityInfoRequiredType{ Organization: &organization, Type: "organization", } // Send the request service := client.LegalEntityManagement() req := service.LegalEntitiesApi.CreateLegalEntityInput().LegalEntityInfoRequiredType(legalEntityInfoRequiredType) res, httpRes, err := service.LegalEntitiesApi.CreateLegalEntity(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.3.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "type": "organization", "organization": { "legalName": "Explorer Company based in US", "registrationNumber": "101002749", "type": "privateCompany", "registeredAddress": { "city": "New York", "country": "US", "postalCode": "10003", "stateOrProvince": "NY", "street": "71 5th Avenue", "street2": "11th floor" } } } # Send the request result = adyen.legalEntityManagement.legal_entities_api.create_legal_entity(request=json_request) ``` #### Ruby ```rb # Adyen Ruby API Library v10.1.1 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :type => 'organization', :organization => { :legalName => 'Explorer Company based in US', :registrationNumber => '101002749', :type => 'privateCompany', :registeredAddress => { :city => 'New York', :country => 'US', :postalCode => '10003', :stateOrProvince => 'NY', :street => '71 5th Avenue', :street2 => '11th floor' } } } # Send the request result = adyen.legalEntityManagement.legal_entities_api.create_legal_entity(request_body) ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v23.3.0 import { Client, LegalEntityManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: "TEST" }); // Create the request object(s) const address: Types.legalEntityManagement.Address = { country: "US", stateOrProvince: "NY", city: "New York", street: "71 5th Avenue", postalCode: "10003", street2: "11th floor" }; const organization: Types.legalEntityManagement.Organization = { legalName: "Explorer Company based in US", registeredAddress: address, registrationNumber: "101002749", type: Types.legalEntityManagement.Organization.TypeEnum.PrivateCompany }; const legalEntityInfoRequiredType: Types.legalEntityManagement.LegalEntityInfoRequiredType = { organization: organization, type: Types.legalEntityManagement.LegalEntityInfoRequiredType.TypeEnum.Organization }; // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = legalEntityManagementAPI.LegalEntitiesApi.createLegalEntity(legalEntityInfoRequiredType); ``` 2. The response contains a generated legal entity `id`. Save this response because you need the ID to: * [Create an account holder](/marketplaces/manage-account-holders#create-an-account-holder) * [View a legal entity](#view-legal-entity-details) * [Update a legal entity](#update-a-legal-entity) * [Initiate Hosted onboarding](/marketplaces/onboard-users#hosted-onboarding) **Create legal entity response** ```json { "organization": { "legalName": "Explorer Company based in US", "registeredAddress": { "city": "New York", "country": "US", "postalCode": "10003", "stateOrProvince": "NY", "street": "71 5th Avenue", "street2": "11th floor" }, "registrationNumber": "101002749", "type": "privateCompany" }, "type": "organization", // Generated legal entity ID "id": "LE00000000000000000000001" } ``` ## View legal entity details After creating a legal entity, you can view the resource at any time using the [Customer Area](https://ca-test.adyen.com/), the [Legal Entity Management API](https://docs.adyen.com/api-explorer/legalentity/latest/overview), or hosted onboarding. ### Tab: Customer Area To view the legal entity details of an account holder in your [Customer Area](https://ca-test.adyen.com/), you can [search for the account holder](/marketplaces/manage-account-holders?tab=ah-customer-area_2#get-account-holders) associated with the legal entity. Alternatively: 1. Select **Accounts & balances** > **Account holders**. 2. In the account holder table, select an **Account holder ID**. 3. In the **Account holder details** page, select **Overview** > **legal entity**. The legal entity details of the main legal entity are shown. You can view bank account information for the main legal entity under **Transfer instruments**. If the legal entity is an organization, the page also shows details about the associated legal entities under **Entity associations**. If the legal entity is an individual or a sole proprietorship, their personally identifiable information (PII) is redacted. Personally identifiable information includes their: * Name * Address (except for the country/region) * Date of birth * Email address * Phone number * IBAN or bank account number To view this information in its unredacted state, you must have the **View account holders PII data** [user role](/account/user-roles#platforms). ### Tab: API To view legal entity details with the API: 1. Make a GET [/legalEntities/{id}](https://docs.adyen.com/api-explorer/legalentity/latest/patch/legalEntities/\(id\)) request using the main [legal entity ID](#create-legal-entity) as a path parameter. **View legal entity details** #### curl ```bash curl https://kyc-test.adyen.com/lem/v3/legalEntities/LE00000000000000000000001 \ -H 'x-api-key: ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' \ -H 'content-type: application/json' \ -X GET \ ``` #### Java ```java // Adyen Java API Library v33.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.legalentitymanagement.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.legalEntityManagement.*; Client client = new Client("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment.TEST); // Send the request LegalEntitiesApi service = new LegalEntitiesApi(client); LegalEntity response = service.getLegalEntity("id", null); ``` #### PHP ```php setXApiKey("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY"); $client->setEnvironment(Environment::TEST); // Send the request $service = new LegalEntitiesApi($client); $response = $service->getLegalEntity('id'); ``` #### C\# ```cs // Adyen .net API Library v28.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.LegalEntityManagement; using Adyen.Service.LegalEntityManagement; var config = new Config() { XApiKey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Send the request var service = new LegalEntitiesService(client); var response = service.GetLegalEntity("id"); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v23.3.0 const { Client, LegalEntityManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: "TEST" }); // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = legalEntityManagementAPI.LegalEntitiesApi.getLegalEntity("id"); ``` #### Go ```go // Adyen Go API Library v17.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v17/src/common" "github.com/adyen/adyen-go-api-library/v17/src/adyen" "github.com/adyen/adyen-go-api-library/v17/src/legalEntityManagement" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment: common.TestEnv, }) // Send the request service := client.LegalEntityManagement() req := service.LegalEntitiesApi.GetLegalEntityInput("id") res, httpRes, err := service.LegalEntitiesApi.GetLegalEntity(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.3.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Send the request result = adyen.legalEntityManagement.legal_entities_api.get_legal_entity(id="id") ``` #### Ruby ```rb # Adyen Ruby API Library v10.1.1 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' adyen.env = :test # Set to "live" for live environment # Send the request result = adyen.legalEntityManagement.legal_entities_api.get_legal_entity('id') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v23.3.0 import { Client, LegalEntityManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: "TEST" }); // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = legalEntityManagementAPI.LegalEntitiesApi.getLegalEntity("id"); ``` 2. Adyen returns the **legal entity details** of the requested legal entity ID in the `individual` or `organization` object. **View legal entity response** ```json { "entityAssociations": [ { "associatorId": "LE00000000000000000000001", "entityType": "soleProprietorship", "legalEntityId": "LE00000000000000000000002", "type": "soleProprietorship" } ], "individual": { "email": "s.eller@example.com", "birthData": { "dateOfBirth": "1990-06-21" }, "name": { "firstName": "Shelly", "lastName": "Eller" }, "residentialAddress": { "city": "Amsterdam", "country": "NL", "postalCode": "1011DJ", "street": "Simon Carmiggeltstraat 6 - 50" } }, "type": "individual", "id": "LE00000000000000000000001" } ``` 3. To view the details of the [associated entities](https://docs.adyen.com/api-explorer/legalentity/3/post/legalEntities#request-entityAssociations), make another GET [/legalEntities/{id}](https://docs.adyen.com/api-explorer/legalentity/latest/patch/legalEntities/\(id\)) using the `legalEntityId` returned in each element of the `entityAssociations` array. ### Tab: Hosted onboarding To view legal entity details with Hosted onboarding: 1. Make a POST [/legalEntities/{id}/onboardingLinks](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/onboardingLinks) request using the main [legal entity ID](#create-legal-entity) as a path parameter. For sole proprietorships, this is the individual legal entity ID of the owner. 2. Redirect your user to the hosted onboarding `url` returned by Adyen. 3. The legal entity details of the main legal entity are shown under **Company details** for businesses and **Personal details** for individuals. There are also sections for associated entities, such as Decision-makers or Sole Proprietors. The user can select any of these sections to view and edit the legal entity details. For a full hosted onboarding guide that is specific to your region and legal entity arrangement type, see [Onboarding Steps](/platforms/onboard-users/onboarding-steps) ## Update a legal entity When the details of your account holders change, you need to update the legal entity. For example, a business can change address or ownership. You can update a legal entity using the Customer Area, API, or Hosted onboarding. ### Tab: Customer Area Before you begin, make sure you have the following [role](/account/user-roles/): * **Manage account holders and legal entities** To update the legal entity details of an account holder in your [Customer Area](https://ca-test.adyen.com/): 1. Select **Accounts & balances** > **Account holders**. 2. In the account holder table, select an **Account holder ID**. 3. Under **Quick actions**, select **Go to Onboarding**.\ This opens a new browser tab for Hosted onboarding. 4. Edit the details and select **Submit**. ### Tab: API To update a legal entity using the API, make a PATCH [/legalEntities/{id}](https://docs.adyen.com/api-explorer/legalentity/latest/patch/legalEntities/\(id\)) request with the new details. Only parameters passed in the request body are updated. **Update legal entity details** #### curl ```bash curl https://kyc-test.adyen.com/lem/v3/legalEntities/LE00000000000000000000001 \ -H 'x-api-key: ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' \ -H 'content-type: application/json' \ -X PATCH \ -d '{ "organization": { "legalName": "New Company Name", "registrationNumber": "101002750", "type": "privateCompany", "registeredAddress": { "city": "New York", "country": "US", "postalCode": "10003", "stateOrProvince": "NY", "street": "73 5th Avenue", "street2": "12th floor" } } }' ``` #### Java ```java // Adyen Java API Library v33.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.legalentitymanagement.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.legalEntityManagement.*; Client client = new Client("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment.TEST); // Create the request object(s) Address address = new Address() .country("US") .stateOrProvince("NY") .city("New York") .street("73 5th Avenue") .postalCode("10003") .street2("12th floor"); Organization organization = new Organization() .legalName("New Company Name") .registeredAddress(address) .registrationNumber("101002750") .type(Organization.TypeEnum.PRIVATECOMPANY); LegalEntityInfo legalEntityInfo = new LegalEntityInfo() .organization(organization); // Send the request LegalEntitiesApi service = new LegalEntitiesApi(client); LegalEntity response = service.updateLegalEntity("id", legalEntityInfo, null); ``` #### PHP ```php setXApiKey("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $address = new Address(); $address ->setCountry("US") ->setStateOrProvince("NY") ->setCity("New York") ->setStreet("73 5th Avenue") ->setPostalCode("10003") ->setStreet2("12th floor"); $organization = new Organization(); $organization ->setLegalName("New Company Name") ->setRegisteredAddress($address) ->setRegistrationNumber("101002750") ->setType("privateCompany"); $legalEntityInfo = new LegalEntityInfo(); $legalEntityInfo ->setOrganization($organization); // Send the request $service = new LegalEntitiesApi($client); $response = $service->updateLegalEntity('id', $legalEntityInfo); ``` #### C\# ```cs // Adyen .net API Library v28.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.LegalEntityManagement; using Adyen.Service.LegalEntityManagement; var config = new Config() { XApiKey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) Address address = new Address { Country = "US", StateOrProvince = "NY", City = "New York", Street = "73 5th Avenue", PostalCode = "10003", Street2 = "12th floor" }; Organization organization = new Organization { LegalName = "New Company Name", RegisteredAddress = address, RegistrationNumber = "101002750", Type = Organization.TypeEnum.PrivateCompany }; LegalEntityInfo legalEntityInfo = new LegalEntityInfo { Organization = organization }; // Send the request var service = new LegalEntitiesService(client); var response = service.UpdateLegalEntity("id", legalEntityInfo); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v23.3.0 const { Client, LegalEntityManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: "TEST" }); // Create the request object(s) const legalEntityInfo = { organization: { legalName: "New Company Name", registrationNumber: "101002750", type: "privateCompany", registeredAddress: { city: "New York", country: "US", postalCode: "10003", stateOrProvince: "NY", street: "73 5th Avenue", street2: "12th floor" } } } // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = legalEntityManagementAPI.LegalEntitiesApi.updateLegalEntity("id", legalEntityInfo); ``` #### Go ```go // Adyen Go API Library v17.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v17/src/common" "github.com/adyen/adyen-go-api-library/v17/src/adyen" "github.com/adyen/adyen-go-api-library/v17/src/legalEntityManagement" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) address := legalEntityManagement.Address{ Country: "US", StateOrProvince: common.PtrString("NY"), City: common.PtrString("New York"), Street: common.PtrString("73 5th Avenue"), PostalCode: common.PtrString("10003"), Street2: common.PtrString("12th floor"), } organization := legalEntityManagement.Organization{ LegalName: "New Company Name", RegisteredAddress: address, RegistrationNumber: common.PtrString("101002750"), Type: common.PtrString("privateCompany"), } legalEntityInfo := legalEntityManagement.LegalEntityInfo{ Organization: &organization, } // Send the request service := client.LegalEntityManagement() req := service.LegalEntitiesApi.UpdateLegalEntityInput("id").LegalEntityInfo(legalEntityInfo) res, httpRes, err := service.LegalEntitiesApi.UpdateLegalEntity(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.3.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "organization": { "legalName": "New Company Name", "registrationNumber": "101002750", "type": "privateCompany", "registeredAddress": { "city": "New York", "country": "US", "postalCode": "10003", "stateOrProvince": "NY", "street": "73 5th Avenue", "street2": "12th floor" } } } # Send the request result = adyen.legalEntityManagement.legal_entities_api.update_legal_entity(request=json_request, id="id") ``` #### Ruby ```rb # Adyen Ruby API Library v10.1.1 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :organization => { :legalName => 'New Company Name', :registrationNumber => '101002750', :type => 'privateCompany', :registeredAddress => { :city => 'New York', :country => 'US', :postalCode => '10003', :stateOrProvince => 'NY', :street => '73 5th Avenue', :street2 => '12th floor' } } } # Send the request result = adyen.legalEntityManagement.legal_entities_api.update_legal_entity(request_body, 'id') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v23.3.0 import { Client, LegalEntityManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: "TEST" }); // Create the request object(s) const address: Types.legalEntityManagement.Address = { country: "US", stateOrProvince: "NY", city: "New York", street: "73 5th Avenue", postalCode: "10003", street2: "12th floor" }; const organization: Types.legalEntityManagement.Organization = { legalName: "New Company Name", registeredAddress: address, registrationNumber: "101002750", type: Types.legalEntityManagement.Organization.TypeEnum.PrivateCompany }; const legalEntityInfo: Types.legalEntityManagement.LegalEntityInfo = { organization: organization }; // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = legalEntityManagementAPI.LegalEntitiesApi.updateLegalEntity("id", legalEntityInfo); ``` ### Tab: Hosted onboarding To let your user change their legal entity details with Hosted onboarding: 1. Make a POST [/legalEntities/{id}/onboardingLinks](https://docs.adyen.com/api-explorer/legalentity/latest/post/legalEntities/\(id\)/onboardingLinks) request using the main [legal entity ID](#create-legal-entity) as a path parameter. For sole proprietorships, this is the individual legal entity ID of the owner. 2. Redirect your user to the hosted onboarding `url` returned by Adyen. The legal entity details of the main legal entity is shown under **Company details** for businesses and **Personal details** for individuals. There are also sections for associated entities, such as Decision-makers or Sole Proprietorships. The user can select any of these sections to view and edit the legal entity details. Verification checks will be run again when legal entity details are updated. ### Change legal entity type Users sometimes sign up with an incorrect legal entity type. To change the legal entity type to the correct one, you can: * API-only onboarding: make a PATCH [/legalEntities/{id}](https://docs.adyen.com/api-explorer/legalentity/latest/patch/legalEntities/\(id\)) request to update the legal entity type and then provide additional required information. * Hosted onboarding: let your user change their legal entity type and provide additional required information in the UI. All verification checks are run again after the legal entity type is changed. You can only change the type of the main legal entity. If the type of an [associated legal entity](/marketplaces/onboard-users/onboarding-steps) is incorrect, you need to create a new legal entity. #### Retained information When you change the legal entity type, the following information is retained: * The legal entity id * Transfer instruments * Bank statement details * Proof of industry * Processed amounts * Business lines When changing between an individual and an organization legal entity, the following information is migrated: * The `country` is migrated from the individual `residentialAddress` to the organization `registeredAddress`. * The individual `name` is migrated to the organization `legalName`. When changing between an organization and an individual legal entity, the following information is migrated: * The `country` is migrated from the organization `registeredAddress` to the individual `residentialAddress`. * The organization `legalName` is migrated to the individual `name`. ### Tab: Hosted onboarding Your user can change their legal entity type by selecting a different one in the entity selection page. For example, to change the type from a company to a sole proprietorship 1. Select the edit icon **next to **Your business setup**. ![](/user/pages/reuse/pfs-general/legal-entities/change-le-type/company-le-change.png) 2. Select **Sole proprietorship** in the entity selection screen. Note that [local names](/get-started-with-adyen/application-requirements#company-types) for the entity types are shown based on the location of the user. ![](/user/pages/reuse/pfs-general/legal-entities/change-le-type/company.png) ### Tab: API-only onboarding You can only directly change a legal entity type from: * individual to organization * organization to individual The example below shows how you can change a [legal entity](/marketplaces/verification-requirements#legal-entity-type) from an individual to an organization. Provide the new `type` in your PATCH [/legalEntities/{id}](https://docs.adyen.com/api-explorer/legalentity/latest/patch/legalEntities/\(id\)) request: **Change legal entity type** #### curl ```bash curl https://kyc-test.adyen.com/lem/v3/legalEntities/LE00000000000000000000001 \ -H 'x-api-key: ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' \ -H 'content-type: application/json' \ -X PATCH \ -d '{ "type": "organization" }' ``` #### Java ```java // Adyen Java API Library v33.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.legalentitymanagement.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.legalEntityManagement.*; Client client = new Client("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment.TEST); // Create the request object(s) LegalEntityInfo legalEntityInfo = new LegalEntityInfo() .type(LegalEntityInfo.TypeEnum.ORGANIZATION); // Send the request LegalEntitiesApi service = new LegalEntitiesApi(client); LegalEntity response = service.updateLegalEntity("id", legalEntityInfo, null); ``` #### PHP ```php setXApiKey("ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $legalEntityInfo = new LegalEntityInfo(); $legalEntityInfo ->setType("organization"); // Send the request $service = new LegalEntitiesApi($client); $response = $service->updateLegalEntity('id', $legalEntityInfo); ``` #### C\# ```cs // Adyen .net API Library v28.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.LegalEntityManagement; using Adyen.Service.LegalEntityManagement; var config = new Config() { XApiKey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) LegalEntityInfo legalEntityInfo = new LegalEntityInfo { Type = LegalEntityInfo.TypeEnum.Organization }; // Send the request var service = new LegalEntitiesService(client); var response = service.UpdateLegalEntity("id", legalEntityInfo); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v23.3.0 const { Client, LegalEntityManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: "TEST" }); // Create the request object(s) const legalEntityInfo = { type: "organization" } // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = legalEntityManagementAPI.LegalEntitiesApi.updateLegalEntity("id", legalEntityInfo); ``` #### Go ```go // Adyen Go API Library v17.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v17/src/common" "github.com/adyen/adyen-go-api-library/v17/src/adyen" "github.com/adyen/adyen-go-api-library/v17/src/legalEntityManagement" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) legalEntityInfo := legalEntityManagement.LegalEntityInfo{ Type: common.PtrString("organization"), } // Send the request service := client.LegalEntityManagement() req := service.LegalEntitiesApi.UpdateLegalEntityInput("id").LegalEntityInfo(legalEntityInfo) res, httpRes, err := service.LegalEntitiesApi.UpdateLegalEntity(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.3.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "type": "organization" } # Send the request result = adyen.legalEntityManagement.legal_entities_api.update_legal_entity(request=json_request, id="id") ``` #### Ruby ```rb # Adyen Ruby API Library v10.1.1 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :type => 'organization' } # Send the request result = adyen.legalEntityManagement.legal_entities_api.update_legal_entity(request_body, 'id') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v23.3.0 import { Client, LegalEntityManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY", environment: "TEST" }); // Create the request object(s) const legalEntityInfo: Types.legalEntityManagement.LegalEntityInfo = { type: Types.legalEntityManagement.LegalEntityInfo.TypeEnum.Organization }; // Send the request const legalEntityManagementAPI = new LegalEntityManagementAPI(client); const response = legalEntityManagementAPI.LegalEntitiesApi.updateLegalEntity("id", legalEntityInfo); ``` The response contains the updated legal entity with some of the data migrated to the new type. To update additional information, for example, the complete address, make another PATCH [/legalEntities/{id}](https://docs.adyen.com/api-explorer/legalentity/latest/patch/legalEntities/\(id\)) request. **Response** ```json { "organization": { "legalName": "Simone Hopper", "registeredAddress": { "country": "US" } }, "type": "organization", "id": "LE00000000000000000000001" } ``` To change the legal entity type from an organization to a sole proprietorship: 1. Change the legal entity type from organization to individual following the flow above. 2. Make a PATCH [/legalEntities/{id}](https://docs.adyen.com/api-explorer/legalentity/latest/patch/legalEntities/\(id\)) request and [associate a sole proprietorship](/marketplaces/verification-requirements#legal-entity-type) to the individual legal entity. ## See also * [Hosted onboarding](/marketplaces/onboard-users?tab=hosted-onboarding_1) * [API-only onboarding](/marketplaces/onboard-users?tab=api-onboarding_2)