# Retrieve KYC settings

Retrieves KYC settings.

Endpoint: GET /kyc-settings
Version: latest
Security: SecretApiKey, JWT

## Response 200 fields

- `identityProof` (object)
  Identity proof settings.
- `identityProof.weights` (object)
  Property weights that are used for the KYC document verification process. All KYC documents start the verification process with a score of 100. If a check fails, the score is reduced by the corresponding weight. For example, if the `firstName` check weight is set to `5`, and the check fails, the KYC document score becomes `95`.
- `identityProof.weights.containsImage` (integer)
  Weight added if the document does not include an image that contains a face.
- `identityProof.weights.isIdentityDocument` (integer)
  Weight added if the document does not resemble an ID.
- `identityProof.weights.isPublishedOnline` (integer)
  Weight added if an exact match of the document is not found online.
- `identityProof.weights.firstName` (integer)
  Weight added if the customer's first name is not matched.
- `identityProof.weights.lastName` (integer)
  Weight added if the customer's last name is not matched.
- `identityProof.weights.expirationDate` (integer)
  Weight added if an expiration date is not detected on the document.
- `identityProof.weights.dateOfBirth` (integer)
  Weight added if a date of birth is not detected on the document, or if the date of birth detected on the document is not matched.
- `identityProof.weights.issueDate` (integer)
  Weight added if an issue date is not detected on the document.
- `identityProof.weights.hasMinimalAge` (integer)
  Weight added if the document does not verify the minimal age limit. Minimal age is 21+ the for USA and 18+ for all other countries.
- `identityProof.weights.hasMatchingFaceProof` (integer)
  Weight added if an identity document does not have matching face proof.
- `identityProof.weights.nationality` (integer)
  Weight added if a nationality is not detected on the document.
- `identityProof.weights.documentSubtype` (integer)
  Weight added if the document is not one of the recognized document subtypes.
- `identityProof.weights.isTampered` (integer)
  Weight added if the document has been tampered with.
- `identityProof.weights.isPhotocopy` (integer)
  Weight added if the document is detected as a photocopy.
- `identityProof.weights.mrzChecksum` (integer)
  Weight added when MRZ check digits fail validation.
- `identityProof.weights.documentNumber` (integer)
  Weight added if a document number is not detected on the document.
- `identityProof.weights.issuanceCountry` (integer)
  Weight added if the country that issued the document is not detected.
- `identityProof.weights.issuanceRegion` (integer)
  Weight added if the region, state, province, or territory that issued the document is not detected.
- `identityProof.thresholds` (object)
  Pass and fail threshold definition for the document verification process.
- `identityProof.thresholds.rejectBelow` (integer)
  Overall score by which an identity proof document fails the verification process.
- `identityProof.thresholds.acceptAbove` (integer)
  Overall score by which an identity proof document passes the verification process.
- `identityProof.minimumAgeSettings` (object)
  Minimum age settings for identity proof documents.
- `identityProof.minimumAgeSettings.defaultMinimumAge` (integer)
  Default minimum age requirement for identity proof documents. This is used when no location-specific override is configured.
- `identityProof.minimumAgeSettings.locationOverrides` (array)
  Location-specific minimum age. Each item specifies a minimum age for a specific location. For country-wide rules, omit the state field. For state-specific rules, include the state field.
  Example: [{"country":"US","minimumAge":21},{"country":"US","state":"AL","minimumAge":19}]
- `identityProof.minimumAgeSettings.locationOverrides.country` (string, required)
  Country code in ISO 3166 alpha-2 format.
  Example: US
- `identityProof.minimumAgeSettings.locationOverrides.state` (string)
  Name or code of the state or region.
  Example: AZ
- `identityProof.minimumAgeSettings.locationOverrides.minimumAge` (integer, required)
  Minimum age requirement for this location.
  Example: 21
- `identityProof.faceProofSettings` (object)
  Quality requirements for the face proof image of an identity proof document.
- `identityProof.faceProofSettings.minimumBrightness` (integer)
  Minimum brightness of the lighting in the detected face area of the face proof image. The brightness scale ranges from `0` to `100`. A higher value indicates brighter lighting. If the detected brightness is below this value, the `hasMatchingFaceProof` check fails with the `face_match_low_brightness` reason. Use `0` to disable the brightness requirement.
- `addressProof` (object)
  Address proof settings.
- `addressProof.weights` (object)
  Property weights that are used for the KYC document verification process. All KYC documents start the verification process with a score of 100. If a check fails, the score is reduced by the corresponding weight. For example, if the `firstName` check weight is set to `5`, and the check fails, the KYC document score becomes `95`.
- `addressProof.weights.firstName` (integer)
  Weight added if the customer's first name is not matched.
- `addressProof.weights.lastName` (integer)
  Weight added if the customer's last name is not matched.
- `addressProof.weights.line1` (integer)
  Weight added if the customer's address is not matched.
- `addressProof.weights.city` (integer)
  Weight added if the customer's city is not matched.
- `addressProof.weights.region` (integer)
  Weight added if the customer's region is not matched.
- `addressProof.weights.postalCode` (integer)
  Weight added if the customer's postal code is not matched.
- `addressProof.weights.date` (integer)
  Weight added if a date is not detected on the document.
- `addressProof.weights.phone` (integer)
  Weight added if a phone number is not detected on the document.
- `addressProof.weights.documentSubtype` (integer)
  Weight added if the document is not one of the recognized document subtypes.
- `addressProof.weights.isTampered` (integer)
  Weight added if the document has been tampered with.
- `addressProof.thresholds` (object)
  Pass and fail threshold definition for the document verification process.
- `addressProof.thresholds.rejectBelow` (integer)
  Overall score by which an identity proof document fails the verification process.
- `addressProof.thresholds.acceptAbove` (integer)
  Overall score by which an identity proof document passes the verification process.
- `uiVersion` (string | null)
  Version of the KYC document gatherer UI.
  Enum: "1", "2"

## Response 401 fields

- `status` (integer)
  HTTP status code.
- `type` (string)
  Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
- `title` (string)
  Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.
- `detail` (string)
  Human-readable explanation that is specific to this occurrence of the problem.
- `instance` (string)
  URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.

## Response 403 fields

- `status` (integer)
  HTTP status code.
- `error` (string)
  Message that describes why the request is forbidden. Most responses use a descriptive message, such as `Not allowed to change security settings`. If the organization requires multi-factor authentication (MFA) and MFA verification has not been completed for the session, this value is `mfa_required`. If the request sets `requireMfa` to `true` and MFA verification has not been completed for the session, this value is `mfa_required_for_caller`. If the organization restricts access to a list of IP addresses and the request comes from an IP address that is not in the list, this value is `ip_not_allowed`.
- `organizationId` (string)
  Unique organization identifier. An organization is an entity that represents a company. For more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).
  Example: org_0YVDM8RC7GDADADSBSMW124JA8
- `type` (string)
  Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
- `title` (string)
  Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.
- `detail` (string)
  Human-readable explanation that is specific to this occurrence of the problem.
- `instance` (string)
  URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.

## Response 404 fields

- `status` (integer)
  HTTP status code.
- `type` (string)
  Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
- `title` (string)
  Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.
- `detail` (string)
  Human-readable explanation that is specific to this occurrence of the problem.
- `instance` (string)
  URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
