# Update challenge ID This endpoint updates the status of a . After a customer enters their credentials on your login screen, use this endpoint to update the status of the and include the in the payload. If successful, the API returns a for the second-factor authentication (done by Solaris). You have to redirect the customer to this URL to perform the 2FA. Expected error messages: 401 - Unauthorized: The ChallengeID is expired. 404 - Not found: The ChallengeID doesn't exist. 400 - General Bad Request: The IBAN requested by the TPP does not belong to the specified person. Endpoint: PATCH /v1/psd2/challenges/{psd2_challenge_id} Version: 1.0 ## Path parameters: - `psd2_challenge_id` (string, required) ## Request fields (application/json): - `person_id` (string, required) The Solaris person ID associated with the PSD2 challenge. Example: "dc1a6812a14f6cc338cd084208535bcdcper" ## Response 200 fields (application/json): - `person_id` (string) The Solaris person ID associated with the PSD2 request. Example: "dc1a6812a14f6cc338cd084208535bcdcper" - `redirect_url` (string) The redirect URL where you must send the customer after authentication. Example: "http://my.sb.de/consent?consent_challenge=cc1234" ## Response 400 fields (*/*): - `id` (string) Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86" - `code` (string) Example: "invalid_request" - `title` (string) Example: "Invalid Request" - `details` (string) Example: "Request is invalid" ## Response 401 fields (*/*): - `id` (string) Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86" - `status` (integer) Example: 401 - `code` (string) Example: "unauthorized_psd2_challenge" - `title` (string) Example: "Unauthorized PSD2 challenge" - `details` (string) Example: "Challenge expired." ## Response 403 fields (*/*): - `id` (string) Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86" - `status` (integer) Example: 403 - `code` (string) Example: "unauthorized_action" - `title` (string) Example: "Unauthorized Action" - `details` (string) Example: "Unauthorized action is not allowed." ## Response 404 fields (*/*): - `id` (string) Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86" - `code` (string) Example: "model_not_found" - `title` (string) Example: "Model Not Found" - `details` (string) Example: "Model was not found" ## Response 500 fields (*/*): - `id` (string) Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86" - `status` (integer) Example: 500 - `code` (string) Example: "generic_error" - `title` (string) Example: "Generic Error" - `details` (string) Example: "There was an error."