# Persons Version: 1.0 ## Servers Sandbox ``` https://api.solaris-sandbox.de ``` Production ``` https://api.solarisbank.de ``` ## Download OpenAPI description [Persons](https://docs.solarisgroup.com/_spec/api-reference/onboarding/persons.yaml) ## Persons ### Create a person - [POST /v1/persons](https://docs.solarisgroup.com/api-reference/onboarding/persons/persons/paths/~1v1~1persons/post.md): Creates a person resource for a new customer. The mandatory data points you must provide when creating a person vary based on the country, product and customer segment (e.g., B2C or freelancers). See the onboarding requirements guide for information on the required data points in each use case. Please collect the customer's separately. Do not default to their residence country for their tax country.Don't use any real personal data when testing this endpoint on Sandbox. ### Index persons - [GET /v1/persons](https://docs.solarisgroup.com/api-reference/onboarding/persons/persons/paths/~1v1~1persons/get.md): Returns an array containing all the persons you have created. ### Retrieve a person - [GET /v1/persons/{id}](https://docs.solarisgroup.com/api-reference/onboarding/persons/persons/paths/~1v1~1persons~1%7Bid%7D/get.md): Returns the person resource specified in the request URL. ### Update a person - [PATCH /v1/persons/{id}](https://docs.solarisgroup.com/api-reference/onboarding/persons/persons/paths/~1v1~1persons~1%7Bid%7D/patch.md): Updates one or more properties on a person resource. You can update properties using this endpoint. This API reference lists only the properties you can update with this call. This call triggers the change request process (unless the property being updated has a value of ). ## Person mobile numbers ### Create a mobile number for a person - [POST /v1/persons/{person_id}/mobile_number](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-mobile-numbers/paths/~1v1~1persons~1%7Bperson_id%7D~1mobile_number/post.md): Registers a new mobile number for a person. Please note the following: Each customer may only have one mobile number at a time. The customer cannot use their mobile number until they verify it using the POST Request authorization and POST Confirm endpoints. The API removes spaces, dashes, underscores, and forward slashes from the mobile number value. ### Retrieve a person's mobile number - [GET /v1/persons/{person_id}/mobile_number](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-mobile-numbers/paths/~1v1~1persons~1%7Bperson_id%7D~1mobile_number/get.md): Returns information about a person's registered mobile number. Returns a error if no mobile number has been registered. ### Deletes a person's mobile number - [DELETE /v1/persons/{person_id}/mobile_number](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-mobile-numbers/paths/~1v1~1persons~1%7Bperson_id%7D~1mobile_number/delete.md): Removes a customer's registered mobile number. If the request is successful and the mobile number has already been confirmed, then the API will trigger the process. The person who owns the mobile number will receive an SMS informing them that the number was deleted. If the request is successful but the mobile number has been verified, then the mobile number will be deleted without a change request. ### Request authorization for a person's mobile number - [POST /v1/persons/{person_id}/mobile_number/authorize](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-mobile-numbers/paths/~1v1~1persons~1%7Bperson_id%7D~1mobile_number~1authorize/post.md): Requests an SMS OTP challenge to authorize a person's mobile number for use with 2FA. The API will return a 404 error if no mobile number was previously created for the customer or if the number in the request does not match the customer's existing mobile number. If the number has already been confirmed, then the API will return the confirmed mobile number. ### Confirm a customer's mobile number - [POST /v1/persons/{person_id}/mobile_number/confirm](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-mobile-numbers/paths/~1v1~1persons~1%7Bperson_id%7D~1mobile_number~1confirm/post.md): Submits the SMS OTP that the customer received on their mobile number to confirm it and authorize it for use with 2FA. Please note the following: The API will respond with a error if the token has expired or if an invalid token is provided. The API will respond with a error if you exceed the limit of 60 SMS messages per hour for a given mobile number. ### Reauthorize mobile number - [POST /v1/persons/{person_id}/mobile_number/reauthorize](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-mobile-numbers/paths/~1v1~1persons~1%7Bperson_id%7D~1mobile_number~1reauthorize/post.md): Request a new authorization challenge for a person's mobile number to use with 2FA. ## Person tax identifications ### Create a tax identification for a person - [POST /v1/persons/{person_id}/tax_identifications](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-tax-identifications/paths/~1v1~1persons~1%7Bperson_id%7D~1tax_identifications/post.md): Submits a tax identification for a person. The first tax identification to be submitted for a person must be their primary tax identification. If you add another tax identification with the value of set to , then the previous primary tax identification will become a secondary tax identification (i.e., its value will change to ). You may only create one tax identification per country per customer. When creating a tax identification for a person, always collect the value from the person separately from their residence country in your frontend. Do not default to the customer's physical residence (i.e., the value of their resource). ### Index tax identifications for a person - [GET /v1/persons/{person_id}/tax_identifications](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-tax-identifications/paths/~1v1~1persons~1%7Bperson_id%7D~1tax_identifications/get.md): Returns an array containing all of the given person's tax identifications. ### Retrieve a person's tax identification - [GET /v1/persons/{person_id}/tax_identifications/{id}](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-tax-identifications/paths/~1v1~1persons~1%7Bperson_id%7D~1tax_identifications~1%7Bid%7D/get.md): Returns the person tax identification specified in the request URL. ### Update a person's tax identification - [PATCH /v1/persons/{person_id}/tax_identifications/{id}](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-tax-identifications/paths/~1v1~1persons~1%7Bperson_id%7D~1tax_identifications~1%7Bid%7D/patch.md): Modifies one or more properties of a person's tax identification. ## Person documents ### Create a document for a person - [POST /v1/persons/{person_id}/documents](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-documents/paths/~1v1~1persons~1%7Bperson_id%7D~1documents/post.md): Uploads a document and links it to the person specified in the request URL. Unlike most other endpoints, this request uses the of . You must submit the parameters as items instead of a raw JSON body. By default, uploaded documents are not accessible to customers (i.e., the value is set to ). ### Index a person's documents - [GET /v1/persons/{person_id}/documents](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-documents/paths/~1v1~1persons~1%7Bperson_id%7D~1documents/get.md): Returns an array containing all documents linked to the person specified in the request URL. ### Download a document - [GET /v1/persons/{person_id}/documents/{id}/file](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-documents/paths/~1v1~1persons~1%7Bperson_id%7D~1documents~1%7Bid%7D~1file/get.md): Returns the binary file related to the document specified in the request URL. ### Retrieve metadata about a document - [GET /v1/persons/{person_id}/documents/{id}](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-documents/paths/~1v1~1persons~1%7Bperson_id%7D~1documents~1%7Bid%7D/get.md): Returns metadata about a person's document, including the filename and type. ### Update a person document's attributes - [PATCH /v1/persons/{person_id}/documents/{id}](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-documents/paths/~1v1~1persons~1%7Bperson_id%7D~1documents~1%7Bid%7D/patch.md): Updates the and/or attributes on a document. ### Delete a document - [DELETE /v1/persons/{person_id}/documents/{id}](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-documents/paths/~1v1~1persons~1%7Bperson_id%7D~1documents~1%7Bid%7D/delete.md): Marks a document as deleted. ### Upload documents for a person identification - [POST /v1/persons/{person_id}/identifications/{id}/document_upload](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-documents/paths/~1v1~1persons~1%7Bperson_id%7D~1identifications~1%7Bid%7D~1document_upload/post.md): Uploads an identification document for the person identification specified in the request URL. Note that this request uses the of and that the request body must be submitted as individual items. ### Index documents for a person identification - [GET /v1/persons/{person_id}/identifications/{id}/documents](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-documents/paths/~1v1~1persons~1%7Bperson_id%7D~1identifications~1%7Bid%7D~1documents/get.md): Returns all documents uploaded to the person identification specified in the request URL. ### (Sandbox only) Trigger account block or send notification due to outdated identity document - [POST /v1/persons/{id}/test_id_document_update](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-documents/paths/~1v1~1persons~1%7Bid%7D~1test_id_document_update/post.md): Checks the expiration date of a person's identity document and then either triggers an account block (if the document has expired) or sends a notification that the document is about to expire. Only available on Sandbox for testing purposes. ## Person language settings ### Create a language setting for a person - [POST /v1/persons/{person_id}/settings](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-language-settings/paths/~1v1~1persons~1%7Bperson_id%7D~1settings/post.md): Specifies the preferred communication language for the person specified in the request URL. Note that each call to this endpoint will overwrite the previous value. ### Get a language setting - [GET /v1/persons/{person_id}/settings](https://docs.solarisgroup.com/api-reference/onboarding/persons/person-language-settings/paths/~1v1~1persons~1%7Bperson_id%7D~1settings/get.md): Retrieves the preferred communication language for the person specified in the request URL. ## Authorized persons ### Add authorized person to person account - [POST /v1/persons/{person_id}/accounts/{account_id}/authorized_persons](https://docs.solarisgroup.com/api-reference/onboarding/persons/authorized-persons/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1authorized_persons/post.md): Adds an existing person to a person account as an authorized person. : This call triggers the change request process. ### Index authorized persons for a person account - [GET /v1/persons/{person_id}/accounts/{account_id}/authorized_persons](https://docs.solarisgroup.com/api-reference/onboarding/persons/authorized-persons/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1authorized_persons/get.md): Returns an array containing all authorized persons for a person account. ### Retrieve an authorized person for a person account - [GET /v1/persons/{person_id}/accounts/{account_id}/authorized_persons/{id}](https://docs.solarisgroup.com/api-reference/onboarding/persons/authorized-persons/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1authorized_persons~1%7Bid%7D/get.md): Returns information about an authorized person associated with a person account. ### Delete authorized person from a person account - [DELETE /v1/persons/{person_id}/accounts/{account_id}/authorized_persons/{id}](https://docs.solarisgroup.com/api-reference/onboarding/persons/authorized-persons/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1authorized_persons~1%7Bid%7D/delete.md): Removes an authorized person from a person account. Note that this request will not delete the person resource; it will simply remove the authorized person from the account. : This call triggers the change request process.