Customer Identification (KYC) (1.0)

Download OpenAPI specification:Download

All endpoints related to customer identifications (KYC).

Person identifications

(Bankident only) Check identification eligibility

Validates whether the person specified in the request URL is eligible to complete a given identification method.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
Request Body schema: application/json

the content of the request

method
string

The identification method to check for eligibility for the given person. Currently only works for Bankident.

Value: "bank"
Responses
200

Successful result of the operation

default

Unexpected error

post/v1/persons/{person_id}/identification_eligibility_checks
Request samples
application/json
{
  • "method": "bank"
}
Response samples
application/json
{
  • "method": "bank",
  • "eligible": true,
  • "reasons": [
    ]
}

Create an identification

Creates an identification for the person specified in the request URL. Note that this endpoint does not send a request to the identification provider to start the identification process.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
Request Body schema: application/json

The content of the request.

method
string

The identification method to use for the person identification.

Enum: "bank" "bank_id" "fourthline" "idnow" "manual" "postident"
language
string

(IDnow only) The customer's preferred language for the identification process.

Enum: "DE" "EN"
reference
string

A reference supplied by the identification provider.

proof_of_address_type
string

The type of document submitted by the customer as a proof of address. This field is mandatory if the customer's identification document does not include their address.

Enum: "BANK_ACCOUNT_STATEMENT" "CERTIFICATE_OF_REGISTRATION" "ELECTRICITY_BILL" "GAS_BILL" "HEATING_BILL" "INTERNET_BILL" "TELEPHONE_BILL" "WATER_BILL"
proof_of_address_issued_at
string <date>

The date when the proof of address document was issued. This field is mandatory if the customer's identification document does not include their address.

iban
string

The customer's IBAN. This field is mandatory if the identification method is bank or bank_id. Please note that Solaris only accepts certain banks for the Bankident KYC flow. See the full list here.

device_data
string

Encoded device fingerprint generated using the Seon SDK. See the device monitoring guide for more information about generating this value.

Responses
200

Successful result of the operation

default

Unexpected error

post/v1/persons/{person_id}/identifications
Request samples
application/json
{
  • "method": "idnow",
  • "language": "EN",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "device_data": "Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;NU7aFh0jdzM15wj8hQtqbA5LbzEFWDI1bUwZf/zbau0P2MIEUE+LsifBKvxjCYNUyz647bpSjnQ6Tu8IK22sxFlTGEFaHKBigzmP8Nc8FvVSWKzslmSWTFJM5AYc+EGTZLprlcdrLldsZLS5PpHfPMmvtqCXVTnGhYV7GvutI1w5/67yK7pCQDxDicKjqlMg1naMiwCuqP1U1lUtf+lTdmJ1T1lXMPARffTn4XAr66vUxN++sy7qytkdcOeCsaxZnLspUEvqu+2ILHF8pOJFG7gYC11rqWOyHG3Ns1E1dZ57ybrgGTKfctFOdx2IMXnz1/i/pDC5QokRr2BTIZZ/9Tj+xXzWpzNwHtRWWK5VEufyVRPyMXQdmry7UYKrouAzlLCYSMv7GcPwOZz+gDjCkrNia7/DGBBFLOvtlufDztPpvkH2jmN32/oJHl1Qu6zpxG3Lyl8RNdyukuNYfiPw0ECoXsXObwQc7Ja8R+V5S7QZeV1VV9aavlH1+Xl9v0OlOJ1XujO7izWESMIfzAuaL6ACYhdkmkC3kicjOWUjaY3OJYrrXxQ+MScnJOQ9neMRWij7YqNxP8F259zVjqqyaL6hN8EZU/pi+cZUVkfFvMYT5ugE9JXjkFfyy4UQeSmNRjDXRzu40LyweqUns8u3GOIFzfZ9eVOv+q7OV+RpVLOJLz1Za8RPIh3UKltCzOTmO8OpDz2aGoqNdL4zAaLl4EKRoarEiSG9K2/GoyHchi6xdHYA6DqQg5xQM4s50RUySGwWLxBB3ZlMpZpdZAVBrLSyl1SWqYTosdyURtiiX0So+kdik5XJ5Vsh0v75rNP5Yrv3t5/u94wx51zKlpDH8Uiap7kP0eibRmmN196kxMcOf8Q50JM1Yt8cJiawTWdGHzGRcNtEkpon5VLp/kwDU+4IPwlW976hKsom0PTB/EVxo5CWuL6kPiaEWUrWOL7BZ2jkuebHT2jBAJuFBaeac7IYnrAMoLgfY33Vs3EtVk8H12iDX3O9JmGsDGXP0/vBx0uFEgrTt6HjwabWGRHpPPPCorSrjfuySwKlnZtp1KkeNrOso8K8DBW6e+6j1YYaxTjBUZSLl1qgzd1dpz85vB/trWdyS3i+APHw/AsP/Y4cmu/CFZqpe1Sgye1+YNP3Hs3LpxJKM3prnAoaCmrHp5aUKo5KdicAnilBTzBAV2zGBWHrBwWLWHl+RDQpncyWD2/ZCswxtXbQAhlmVD7FvBXnT0Yyg5gaFo5GVBcURzBYtwbdl3+6sqKtR3XC22GBw0OOqZ9/QvMHmCO/K89rEjfLEaVX4eKhrdzjxOwOxmE5lXrLqfscV90Yo9Uj1awvpF5TL5vW85asT2iVHYjZ1JsQ5oLp3VUfIAqTNmpcjRk763hMsTUIrn3VfpLkGajZbtxD2FuNNMoRZQBfiOAxPUDFmspxWagNSbmUZ8FqPX/6asQIJIyvAk4cvzgV9OjzdkoEcFP2OGjFnddZtLmBh9BZDWtS3VOL98lp+cH/JAn8pDab2l6zIwHRccePbuBcGZZgU39FOVpI+sbHZJ6QEhiUA8SdT7SLcTf4P1tBbdN5+dpjaWfTph1cgZyW8EsAIFc81vR6tBqSSpxmS164ADWZW+PYz4b4SRVklT3Cs2tJ/TTMM240pnkNJUd3G/0PbBGVPea5+XUs1bF5cT0fiHWA032Dm87biMEU89fdPkvnSlIsN/MbLT2kj2tPZqhOrqTxCg26jimd+2kNdZ2fwvT8JQfO0hVidnPDPLXH5aA6T6+bKqfpvJE6USAif8fPQ0rW4+315LKH5wG8Qj0omO2Ynii0IE6cR0lAGrtoLsXMf3kDqFms+Z2h79pYQrnhUSntZ3tjt3pwgejJ8ZKXdN7kYWT8UiQnLnkfLJnh1e8a4UURe7GU9UwnqqFXeHrstb8XXxiIX7syFG5iLdN9IExi5BefYnAikCTU+ssMWnnhppX6jFV43u+KEaa1/7AqibMc3Kt+kUxHlQsAo2TCg+u/39rsgNs5eWym7YptvBCN6L4Q4QRoKNFo8CJerS4dTxksD2zeGL4BLIsvMbcm6rlHrKCR5PeWRiFpK8QwwaOyiTGL5NN2Xl6F0M4vf5gnWikZTrppv7bLUYZhrU1uGiv968ZGEq+A7w2oLvbZS7l+DZuN4rPF5SzPWq94jC1NiYjaPrGyTQIISRiBLXil5puqCobYHAIeVQzHBgki3/N+Pwk4iCrxf3pqnUSNmtrmvphmo9Vp3xAaPSFsUYfIyOPiO5gcNUoGQ1kHZ3Yoksqh6U1hRCzlkMSbX6kzDYUNEgc47t2AKxLM5IpYCWAv+uefNAAb/4+f7Qh4sMqtXHc5lGK3GN8ABTIVeFphtJg36Y6xg8OTrBR5ItS/tdy6zyfTLfZFocRbfjsLfoiCeHJO0sEZIWgHsu80FVZmo4G84N6zNZkdjnFDZkgRYP9OSqMbPCXyb5Xj1H6g67rNjtY67B3613uGJ0pHCQpl0Lmz2apUMq9EVRz5tZT+RA8sCRcK4mkBEWzdC7ngI5+dfX2dEqu157rsc0yU4OWNElLWC3F1TXOsB2/n1+LBHpjKLIMok2afui1H9+eof1zLAba4hrnYEFI4WjvEAvcsyPI/eONNdxk7liVNNaD7j6vvwYKOxTZoriKwvGxeNApC+Z8xQ8HpnEaRIUqb2Eh1SfpyDta8J1dXnRF1HTq2pOvfitomb701g0diB7+StEpCxiRLCx3TEJcroqBiCE3szXdc9VSVyfklkHmbJE33CY8tGm1YEvaXAY7a5yWLHWHzqQvNuZkQ1DNbJAkP9dt1t8Fv3njG2lXFmAOJkZwpvm9qEHZTmuUmflIMhu9nMsgZd5VMjalTmHqZdy7zmnAz8LhYiUDMbPDNOd4UTehvTanDEBBYTJB6CYv6QnBYwuAPsZwRnZdHbpl6lIXStmgsxV3DLtKAUy8eoqCdDOMyep9L4ArSWEJstEBNkZ5zgk7bOspvF1V8HrhFzJCiwR7WC+GHJTHLH1S8FfmHFTXJHecvq6tpMncaJFbo4jSfm9ozBAVAAN2mCn/yBbmX9tPmXdGEsTSpdp6vVWKEdHZ1rjCqmgDENxh75H5uT9DeZ0mAKwkP5Ai+bN3hT0y1XGE44b/aJ7PEObogYAioej/Z690zKx+fHxP50juTgt+UIQ+l/mpcYnbcYe4lkXrqGpwxFU8OrRzzfJX/s90VVlzrQVAPNW/mvYkt+MqSVwI1EP62faXlXnDqbmVFUmMGeoquP58cwqSBaNL/oi2Rg7GVvdvus+i2Qpm1SHtnPVUhTwWFigiWw/T2ZZeUs4nk+Q/xOFa/"
}
Response samples
application/json
{
  • "id": "9dfe2f4edaa67138be0c0c1cd3a7d849cidt",
  • "reference": "TST-ELCCJ",
  • "status": "successful",
  • "completed_at": "2021-09-14T18:18:28.000Z",
  • "method": "idnow",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "language": "EN",
  • "person_id": "992de312a545bb24a88ddbf57ae8b1ffcper",
  • "address": {
    },
  • "documents": [
    ],
  • "failure_reason": "string",
  • "iban": "DE11010101010101010100",
  • "authorization_expires_at": "string",
  • "confirmation_expires_at": "string",
  • "provider_status_code": 1000,
  • "account_verification_error": "accounts_failed",
  • "idnow_process_type": "eid"
}

Index identifications for a person

Returns all identifications for the person specified in the request URL.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identifications
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications'
Response samples
application/json
[
  • {
    }
]

List supported documents for a person identification

Returns an array of document types that a customer may use to identify themselves along with a list of allowed issuing countries. The issuing_countries are provided as ISO country codes (ISO-3166-1 alpha 2). If the customer does not provide a supported document type in the identification process, then their identification will eventually fail.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identifications/{id}/supported_documents
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}/supported_documents'
Response samples
application/json
[
  • {
    }
]

List supported documents from Fourthline for a person identification

Returns an array of document types as returned from Fourthline that a customer may use to identify themselves along with a list of allowed issuing countries. The issuingCountry is provided as ISO country code (ISO-3166-1 alpha 2). If the customer does not provide a supported document type in the identification process, then their identification will eventually fail.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identifications/{id}/supported_documents_from_fourthline
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}/supported_documents_from_fourthline'
Response samples
application/json
[
  • {
    }
]

Request an identification

This endpoint requests Solaris to begin the process for the person identification specified in the URL. The status of the identification will change to pending. Once the identification process finishes, you will receive a notification from the IDENTIFICATION webhook and the status will change to completed or failed depending on the outcome.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Request Body schema: application/json

The content of the request.

secret
string

Identification secret.

device_data
string

Encoded device fingerprint generated using the Seon SDK. See the device monitoring guide for more information about generating this value.

Responses
200

The operation was successful.

400

IDnow error

403

You are not authorized to perform this action.

404

Model not found.

412

There are more than 19 unsuccessful identification attempts for this customer.

422

Client error.

500

Internal server error.

patch/v1/persons/{person_id}/identifications/{id}/request
Request samples
application/json
{
  • "secret": "string",
  • "device_data": "Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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"
}
Response samples
application/json
{
  • "id": "9dfe2f4edaa67138be0c0c1cd3a7d849cidt",
  • "reference": "TST-ELCCJ",
  • "status": "successful",
  • "completed_at": "2021-09-14T18:18:28.000Z",
  • "method": "idnow",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "iban": "DE11010101010101010100",
  • "authorization_expires_at": "string",
  • "confirmation_expires_at": "string",
  • "terms_and_conditions_signed_at": "string"
}

Retrieve a person identification

Returns a completed person identification (i.e., the person identification process was successful). If you use the include_documents filter, this method will also return the documents submitted by the customer during the identification process.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
query Parameters
include_documents
boolean
Default: true

Specifies whether this method should include the documents submitted during the identification process in the response.

Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identifications/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}?include_documents=true'
Response samples
application/json
{
  • "id": "9dfe2f4edaa67138be0c0c1cd3a7d849cidt",
  • "reference": "TST-ELCCJ",
  • "status": "successful",
  • "completed_at": "2021-09-14T18:18:28.000Z",
  • "method": "idnow",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "language": "EN",
  • "person_id": "992de312a545bb24a88ddbf57ae8b1ffcper",
  • "address": {
    },
  • "documents": [
    ],
  • "failure_reason": "string",
  • "iban": "DE11010101010101010100",
  • "authorization_expires_at": "string",
  • "confirmation_expires_at": "string",
  • "provider_status_code": 1000,
  • "account_verification_error": "accounts_failed",
  • "idnow_process_type": "eid"
}

Index all person identifications

Returns all identifications for all of your customers.

Request
Security:
query Parameters
page[number]
string

Page Number

page[size]
string

Determines the size of each page of results.

filter[reference]
string

Filters the returned identifications by a specific reference.

filter[id]
string

Filters the returned identifications by a specific identification ID.

filter[status]
string

Filters the returned identifications by a specific status.

filter[person_id]
string

Filters the returned identifications by a specific person ID.

Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

get/v1/identifications
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/identifications?page%5Bnumber%5D=string&page%5Bsize%5D=string&filter%5Breference%5D=string&filter%5Bid%5D=string&filter%5Bstatus%5D=string&filter%5Bperson_id%5D=string'
Response samples
application/json
{
  • "id": "9dfe2f4edaa67138be0c0c1cd3a7d849cidt",
  • "reference": "TST-ELCCJ",
  • "status": "successful",
  • "completed_at": "2021-09-14T18:18:28.000Z",
  • "method": "idnow",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "language": "EN",
  • "person_id": "992de312a545bb24a88ddbf57ae8b1ffcper",
  • "address": {
    },
  • "documents": [
    ],
  • "failure_reason": "string",
  • "iban": "DE11010101010101010100",
  • "authorization_expires_at": "string",
  • "confirmation_expires_at": "string",
  • "provider_status_code": 1000,
  • "account_verification_error": "accounts_failed",
  • "idnow_process_type": "eid"
}

Start e-signing authorization process

This method begins the authorization process for a person identification via BankIdent. When called, it triggers a Swisscom iframe and it also prompts Swisscom to send an SMS OTP to the customer. Call this endpoint when an identification reaches the authorization_required status.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Responses
200

The QES process has been triggered. The customer must confirm by entering the received SMS OTP.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

patch/v1/persons/{person_id}/identifications/{id}/authorize
Request samples
curl -i -X PATCH \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}/authorize'
Response samples
application/json
{}

Confirm QES e-signing

Use this endpoint to send the SMS OTP from the customer to Swisscom to confirm the e-signing for a person identification via BankIdent. Call this endpoint when the person identification reaches the status confirmation_required.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Request Body schema: application/json

The content of the request.

token
string

The OTP the customer received from Swisscom.

Responses
200

The customer has successfully entered the SMS OTP. The QES process is complete.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

patch/v1/persons/{person_id}/identifications/{id}/confirm
Request samples
application/json
{
  • "token": "1234"
}
Response samples
application/json
{}

(Bankident only) Index person bank identification attempts

Returns all bank identifications attempts for the person specified in the request URL.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/bank_identification_attempts
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/bank_identification_attempts'
Response samples
application/json
[
  • {
    }
]

(IDnow only) List the IDnow attempts of a person identification

Returns a list of IDnow attempts within a person identification. Each returned attempt includes the result, the reason (if the attempt was aborted), and the payload from the webhook related to that attempt.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identifications/{id}/idnow_attempts
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}/idnow_attempts'
Response samples
application/json
{
  • "id": "e1eeb07262b695dc0ee5d4ab9350c12dcida",
  • "result": "SUCCESS",
  • "reason": null,
  • "payload": {
    }
}

(IDnow only) Get legitimation data

Returns information about the document that was used for legitimating an identification (e.g., passport, national ID).

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identifications/{id}/legitimation_data
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}/legitimation_data'
Response samples
application/json
{
  • "legitimation_document_number": "123456789",
  • "legitimation_type": "PASSPORT",
  • "legitimation_issuer": "Stadt Heidelberg",
  • "legitimation_country": "GERMANY",
  • "legitimation_issued_at": "2015-10-15",
  • "legitimation_valid_until": "2025-10-14"
}

Update legitimation data

Update the legitimation data of an identification

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Request Body schema: application/json

the content of the request

legitimation_document_number
required
string

The document number of the legitimation

legitimation_type
string

Legitimation type

legitimation_issuer
string

Issuer of the legitimation

legitimation_country
string

Country that issued legitimation

legitimation_issued_at
string <date>

The date at which the legitimation was issued at. Note Not required for Spanish ID cards.

legitimation_valid_until
string <date>

The date until which the legitimation is valid

Responses
200

Successful result of the operation

default

Unexpected error

patch/v1/persons/{person_id}/identifications/{id}/legitimation_data
Request samples
application/json
{
  • "legitimation_document_number": "12345678910",
  • "legitimation_type": "PASSPORT",
  • "legitimation_issuer": "Stadt Heidelberg",
  • "legitimation_country": "GERMANY",
  • "legitimation_issued_at": "2010-01-01",
  • "legitimation_valid_until": "2020-01-01"
}
Response samples
application/json
{
  • "legitimation_document_number": "123456789",
  • "legitimation_type": "PASSPORT",
  • "legitimation_issuer": "Stadt Heidelberg",
  • "legitimation_country": "GERMANY",
  • "legitimation_issued_at": "2015-10-15",
  • "legitimation_valid_until": "2025-10-14"
}

(Fourthline only) Upload .zip file with required identification documents

Uploads a .zip file to the person identification specified in the request URL (if the identification method requires it). The identification must have already been requested. This method is only relevant for identifications using Fourthline.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Request Body schema: multipart/form-data
document
required
string <binary>

The .zip file to upload.

Responses
200

Successful result of the operation.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/identifications/{id}/zip
Request samples
curl -i -X POST \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}/zip' \
  -H 'Content-Type: multipart/form-data' \
  -F document=string
Response samples
application/json
{
  • "id": "69ec2a9d8dbaf5ea1b13124098a34ea3cdoc",
  • "name": "Operation_authorization.png",
  • "content_type": "image/png",
  • "document_type": "PICTURE",
  • "size": 10187,
  • "customer_accessible": false,
  • "created_at": "2022-05-20T12:46:09Z",
  • "deleted_at": "null"
}

(PostIdent only) Retrieve PostIdent identification PDF

Returns the PDF file generated from a PostIdent identification. The identification must have already been requested.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Responses
400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identifications/{id}/pdf
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}/pdf'
Response samples
application/json
{
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "code": "build_pagination_headers_failure",
  • "title": "Failed to build pagination headers.",
  • "detail": "Cannot connect to database."
}

(AutoIdent only) Create identification that allows for a mobile number change

This endpoint creates a new identification for the customer specified in the request URL and returns the identification_id. Use this endpoint if the customer has lost access to their existing mobile phone number. After calling this endpoint, supply the returned identification_id in the URL of the PATCH /persons/{person_id}/identifications/{identification_id}/request method.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
Responses
201

Successful result of the operation.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/identifications/for_mobile_change
Request samples
curl -i -X POST \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/for_mobile_change'
Response samples
application/json
{
  • "identification_id": "string"
}

(Manual KYC) Set identification to successful

This endpoint sets the status of an identification to successful. Use this endpoint if you are implementing the manual KYC flow in your solution.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Request Body schema: application/json

The content of the request.

completed_at
required
string <date-time>

The date and time that the identification was completed (maximum 18 months in the past).

Responses
400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

patch/v1/persons/{person_id}/identifications/{id}/mark_as_successful
Request samples
application/json
{
  • "completed_at": "2019-08-24T14:15:22Z"
}
Response samples
application/json
{
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "code": "build_pagination_headers_failure",
  • "title": "Failed to build pagination headers.",
  • "detail": "Cannot connect to database."
}

Set identification to failed

This endpoint sets the status of an identification to failed. Use this endpoint if the identification is still is in pending status and you want to fail it with a reason.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Request Body schema: application/json

The content of the request.

reason
required
string

The reason of failing the identification.

Responses
400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

patch/v1/persons/{person_id}/identifications/{id}/mark_as_failed
Request samples
application/json
{
  • "reason": "Customer abandoned the SDK flow"
}
Response samples
application/json
{
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "code": "build_pagination_headers_failure",
  • "title": "Failed to build pagination headers.",
  • "detail": "Cannot connect to database."
}

(IDnow only) Request person identification with robot testing

This endpoint requests an identification for the person specified in the URL. You can pass a custom value to the testing robot using the parameter custom5.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Request Body schema: application/json
custom5
string

Parameter for passing a custom testing string to the IDnow robot.

Responses
400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

patch/v1/persons/{person_id}/identifications/{id}/request_with_robot
Request samples
application/json
{
  • "custom5": "X-AUTOTEST-HAPPYPATH"
}
Response samples
application/json
{
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "code": "build_pagination_headers_failure",
  • "title": "Failed to build pagination headers.",
  • "detail": "Cannot connect to database."
}

Retrieve person identification account snapshot

Returns an account snapshot that was added to a person identification.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Responses
200

AccountSnapshot

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identifications/{id}/account_snapshot
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}/account_snapshot'
Response samples
application/json
{
  • "iban": "DE92370601930002130041",
  • "id": "d42a2dfcf32c4550bd1e1fe373bb953bsnap",
  • "provider": "FIN_TEC_SYSTEMS",
  • "status": "available",
  • "status_description": "string",
  • "wizard_session_key": "wiz04852083740"
}

(Fourthline only) Whitelist a person identification

This endpoint whitelists a person identification to enable the customer with the person_id specified in the request URL to identify again for one of your services using Fourthline.
Note You can only use this endpoint if a person has been previously identified successfully for one of your services using Fourthline and there's a need to identify again. However, you cannot use this endpoint to whitelist a failed identification.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Responses
200

The customer identification has been successfully whitelisted.

400

Successful result of the operation

default

Unexpected error

post/v1/persons/{person_id}/identifications/{id}/whitelist
Request samples
curl -i -X POST \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identifications/{id}/whitelist'
Response samples
application/json
{
  • "id": "6dc54352d6793a892e0702850d07b831cidt",
  • "client": "55fdc915-29ec-49db-9a2c-de09eb8176e7",
  • "status": "completed",
  • "message": "Client has been whitelisted."
}

(Sandbox only) Update Fourthline identification status

Testing endpoint that updates the status of a Fourthline identification. See the Fourthline guide for a full list of test values.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Request Body schema: application/json

The content of the request.

provider_status_code
required
string

A Fourthline status code. See the documentation linked above for a full list of possible values.

Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/identifications/{id}/identify_with_status
Request samples
application/json
{
  • "provider_status_code": "10"
}
Response samples
application/json
{
  • "result": "Identification {id} successfully started"
}

(Sandbox only) Assign outcome of a Fourthline identification

Testing endpoint to set the outcome of a Fourthline identification once it reaches a specified status. This endpoint forwards the received payload to Fourthline's "Register a Verification Outcome" endpoint. For a full description and specification of the request parameters see Fourthline's online documentation.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
Request Body schema: application/json

The expectations payload to forward to Fourthline.

required
object

The expectations to register for this identification.

Responses
200

Successful result of the operation.

400

An error occurred on the client side.

403

You are not authorized to perform this action.

422

Unprocessable entity.

500

Internal server error.

default

Unexpected error.

post/v1/persons/{person_id}/identifications/{id}/register_verification_outcome
Request samples
application/json
{
  • "expectations": {
    }
}
Response samples
application/json
{
  • "result": "Fourthline verification status updated successfully"
}

Device Monitoring

Create user consent for device monitoring

Records consent from the given person (specified in the request URL) to collect device fingerprints on their registered device. Each consent is tied to a specific device.

Request
Security:
path Parameters
person_id
required
string
Request Body schema: application/json

The content of the request.

event_type
string

Indicates whether the customer approved or rejected device monitoring.

Enum: "APPROVED" "REJECTED"
confirmed_at
string

UTC timestamp from when the customer consented/refused to consent to device monitoring.

Responses
201

Successful result of the operation

400

You sent invalid data.

403

You are not authorized to perform this action.

404

Person with the given ID does not exists.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/device_consents
Request samples
application/json
{
  • "event_type": "APPROVED",
  • "confirmed_at": "2021-06-25T09:44:25.000Z"
}
Response samples
application/json
{
  • "id": "17a7389adaf83145770d8e6c00a398ddcon",
  • "person_id": "e2bbc86268e9a4667861b73f31dba03bcper",
  • "event_type": "APPROVED",
  • "confirmed_at": "2021-06-25T09:44:25.000Z",
  • "created_at": "2021-06-25T09:44:25.000Z"
}

Create user activity for device monitoring

Records activity from the given person (specified in the request URL).

Request
Security:
path Parameters
person_id
required
string
Request Body schema: application/json

The content of the request.

device_data
string

Base64-encoded data collected by the Seon SDK.

activity_type
string

The type of activity recorded by the Seon SDK, mapped to a change request- or MFA-related action.

Enum: "APP_START" "PASSWORD_RESET" "CONSENT_PROVIDED"
Responses
201

Successful result of the operation

400

You sent invalid data.

403

You are not authorized to perform this action.

404

Person with the given ID does not exists.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/device_activities
Request samples
application/json
{
  • "device_data": "Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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",
  • "activity_type": "APP_START"
}
Response samples
application/json
{
  • "id": "a95f2aaf-4e0c-4d49-8021-8a16a884ed86",
  • "status": "400",
  • "code": "constraint_violation",
  • "title": "The request violated data integrity constraints",
  • "detail": "confirmedAt --> Date mustn't be in the future."
}

Identification sessions

Create an identification session

-> "Creates an identification session for the person specified in the request URL based on the identification method(s) supplied in the request. Note that if the customer is not eligible for one of the identification methods, then this endpoint will return an error. Use the eligibility checking endpoint to verify this beforehand:" + GET /v1/persons/{person_id}/identification_eligibility_checks

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
Request Body schema: application/json

The content of the request.

callback_url
string

The callback URL to call when the identification session is completed.

identification_methods
Array of strings

Identification methods to use to identify the customer.

Items Enum: "bank" "bank_id" "fourthline" "idnow"
Responses
201

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/identification_sessions
Request samples
application/json
{
  • "callback_url": "someurl.com",
  • "identification_methods": [
    ]
}
Response samples
application/json

Get an identification session

Returns a specific identification session for the person specified in the request URL.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
identification_session_id
required
string
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identification_sessions/{identification_session_id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identification_sessions/{identification_session_id}'
Response samples
application/json

Get the configuration of an identification session

Returns the configuration data for a specific person identification session.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
identification_session_id
required
string
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identification_sessions/{identification_session_id}/configuration
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identification_sessions/{identification_session_id}/configuration'
Response samples
application/json
{
  • "terms_and_conditions_pre_accepted": true,
  • "fourthline_provider": "fourthline"
}

Create an identification within an identification session

Creates a person identification within an existing person identification session.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
identification_session_id
required
string
Request Body schema: application/json

The content of the request.

method
string

The identification method to use for the person identification.

Enum: "bank" "bank_id" "fourthline" "idnow" "manual" "postident"
language
string

(IDnow only) The customer's preferred language for the identification process.

Enum: "DE" "EN"
reference
string

A reference supplied by the identification provider.

proof_of_address_type
string

The type of document submitted by the customer as a proof of address. This field is mandatory if the customer's identification document does not include their address.

Enum: "BANK_ACCOUNT_STATEMENT" "CERTIFICATE_OF_REGISTRATION" "ELECTRICITY_BILL" "GAS_BILL" "HEATING_BILL" "INTERNET_BILL" "TELEPHONE_BILL" "WATER_BILL"
proof_of_address_issued_at
string <date>

The date when the proof of address document was issued. This field is mandatory if the customer's identification document does not include their address.

iban
string

The customer's IBAN. This field is mandatory if the identification method is bank or bank_id. Please note that Solaris only accepts certain banks for the Bankident KYC flow. See the full list here.

device_data
string

Encoded device fingerprint generated using the Seon SDK. See the device monitoring guide for more information about generating this value.

Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/identification_sessions/{identification_session_id}/identifications
Request samples
application/json
{
  • "method": "idnow",
  • "language": "EN",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "device_data": "Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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"
}
Response samples
application/json
{
  • "id": "9dfe2f4edaa67138be0c0c1cd3a7d849cidt",
  • "reference": "TST-ELCCJ",
  • "status": "successful",
  • "completed_at": "2021-09-14T18:18:28.000Z",
  • "method": "idnow",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "language": "EN",
  • "person_id": "992de312a545bb24a88ddbf57ae8b1ffcper",
  • "address": {
    },
  • "documents": [
    ],
  • "failure_reason": "string",
  • "iban": "DE11010101010101010100",
  • "authorization_expires_at": "string",
  • "confirmation_expires_at": "string",
  • "provider_status_code": 1000,
  • "account_verification_error": "accounts_failed",
  • "idnow_process_type": "eid"
}

Retrieve a single identification within an identification session

Returns the details of a person's identification. In the request URL, you must specify the identification session within which the identification was created.

Request
Security:
path Parameters
identification_session_id
required
string
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
id
required
string

The unique ID of the identification resource created for a customer.

Example: 6dc54352d6793a892e0702850d07b831cidt
query Parameters
include_documents
boolean
Default: true

Specifies whether the response should include the documents submitted during identification.

Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/identification_sessions/{identification_session_id}/identifications/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identification_sessions/{identification_session_id}/identifications/{id}?include_documents=true'
Response samples
application/json
{
  • "id": "9dfe2f4edaa67138be0c0c1cd3a7d849cidt",
  • "reference": "TST-ELCCJ",
  • "status": "successful",
  • "completed_at": "2021-09-14T18:18:28.000Z",
  • "method": "idnow",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "language": "EN",
  • "person_id": "992de312a545bb24a88ddbf57ae8b1ffcper",
  • "address": {
    },
  • "documents": [
    ],
  • "failure_reason": "string",
  • "iban": "DE11010101010101010100",
  • "authorization_expires_at": "string",
  • "confirmation_expires_at": "string",
  • "provider_status_code": 1000,
  • "account_verification_error": "accounts_failed",
  • "idnow_process_type": "eid"
}

(Sandbox only) Simulate a bank identification until the authorization stage

Simulates a bank identification for the given person until the authorization stage.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
identification_session_id
required
string
Responses
201

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/identification_sessions/{identification_session_id}/simulate_bank_until_authorization
Request samples
curl -i -X POST \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identification_sessions/{identification_session_id}/simulate_bank_until_authorization'
Response samples
application/json
{
  • "id": "9dfe2f4edaa67138be0c0c1cd3a7d849cidt",
  • "reference": "TST-ELCCJ",
  • "status": "successful",
  • "completed_at": "2021-09-14T18:18:28.000Z",
  • "method": "idnow",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "language": "EN",
  • "person_id": "992de312a545bb24a88ddbf57ae8b1ffcper",
  • "address": {
    },
  • "documents": [
    ],
  • "failure_reason": "string",
  • "iban": "DE11010101010101010100",
  • "authorization_expires_at": "string",
  • "confirmation_expires_at": "string",
  • "provider_status_code": 1000,
  • "account_verification_error": "accounts_failed",
  • "idnow_process_type": "eid"
}

(Sandbox only) Simulate bank identification until the identification_data_required stage

Simulates the bank identification process for the given person until the identification reaches the status identification_data_required.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
identification_session_id
required
string
Responses
201

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

post/v1/persons/{person_id}/identification_sessions/{identification_session_id}/simulate_bank_id_until_identification_data_required
Request samples
curl -i -X POST \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/identification_sessions/{identification_session_id}/simulate_bank_id_until_identification_data_required'
Response samples
application/json
{
  • "id": "9dfe2f4edaa67138be0c0c1cd3a7d849cidt",
  • "reference": "TST-ELCCJ",
  • "status": "successful",
  • "completed_at": "2021-09-14T18:18:28.000Z",
  • "method": "idnow",
  • "proof_of_address_type": "GAS_BILL",
  • "proof_of_address_issued_at": "2021-12-03",
  • "language": "EN",
  • "person_id": "992de312a545bb24a88ddbf57ae8b1ffcper",
  • "address": {
    },
  • "documents": [
    ],
  • "failure_reason": "string",
  • "iban": "DE11010101010101010100",
  • "authorization_expires_at": "string",
  • "confirmation_expires_at": "string",
  • "provider_status_code": 1000,
  • "account_verification_error": "accounts_failed",
  • "idnow_process_type": "eid"
}

Person signings

(IDnow only) Index person signings

Returns all of the IDnow signature packages for the person specified in the request URL.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/signings
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/signings'
Response samples
application/json
[
  • {
    }
]

Upload documents for the e-signature process

Uploads documents that are required for the e-signature process in an IDnow identification. You must specify the position of the signature in the document and the type of document in the request. The options for document type are cdoc (for contracts) and ldoc (for SDD mandates).

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
Request Body schema: application/json

The content of the request

method
required
string

The identification method for which the documents are being uploaded.

Enum: "idnow" "postident"
language
string

The customer's preferred language for the IDnow agent.

Enum: "DE" "EN"
Array of objects
Responses
200

Successful result of the operation

default

Unexpected error

post/v1/persons/{person_id}/signings
Request samples
application/json
{
  • "method": "idnow",
  • "language": "EN",
  • "documents": [
    ]
}
Response samples
application/json
{
  • "id": "7da925f612600ee0a2c386afe1cac4bccsig",
  • "reference": "TST-QMNBB",
  • "state": "successful",
  • "status": "finished",
  • "completed_at": "2020-04-08T12:53:42.000Z",
  • "method": "idnow",
  • "identification_id": "155b0818593319dd718e2ec139718973cidt",
  • "documents": [
    ]
}

List the IDnow attempts of the IDnow identification used for a signing

Returns a list of IDnow attempts within a person signing. Each returned attempt includes the result, the reason (if the attempt was aborted), and the payload from the webhook related to that attempt.

Request
Security:
path Parameters
person_id
required
string

The unique ID of the person resource created for a customer.

Example: dc1a6812a14f6cc338cd084208535bcdcper
signing_id
required
string
Responses
200

Successful result of the operation

400

An error occurred on the client side.

403

You are not authorized to perform this action.

500

Internal server error.

default

Unexpected error

get/v1/persons/{person_id}/signings/{signing_id}/idnow_attempts
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/persons/{person_id}/signings/{signing_id}/idnow_attempts'
Response samples
application/json
{
  • "id": "e1eeb07262b695dc0ee5d4ab9350c12dcida",
  • "result": "SUCCESS",
  • "reason": null,
  • "payload": {