# KYC documents

Use Know Your Customer (KYC) documents to verify your customers identity.
The KYC document operations generate a signed link to the Rebilly [KYC document gatherer](https://www.rebilly.com/docs/kyc-and-aml/kyc-document-gatherer/).
Document types:
- `identity-proof`: Validates a customer's identity.
- `address-proof`: Validates a customer's address.
- `purchase-proof`: Validates a customer's purchase.
- `funds-proof`: Validates that a customer has funds.
- `credit-file-proof`: Verifies that there is an existing credit file with two sources that match the customer's name, DOB, and address.

Rebilly parses and analyzes the documents and accepts or rejects them according to a configurable scoring algorithm.
When all document types in a KYC request are accepted, the status is fulfilled, and the [KYC request fulfilled webhook](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-fulfilled/) is sent.

 - [Credit file proof](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/credit-file-proof.md): ### Credit file proof The `credit-file-proof` KYC document request type is only available in the API, this option is not available in the [KYC document gatherer](https://www.rebilly.com/docs/kyc-and-a
 - [POST /kyc-requests](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycrequest.md): Creates a KYC request. The customer is redirected to the `kycGatherer` link. After the customer completes the KYC process, they are redirected back to the `redirectUrl` link. Corresponding webhooks, s
 - [GET /kyc-requests](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycrequestcollection.md): Retrieves a list of KYC requests.
 - [GET /kyc-requests/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycrequest.md): Retrieves a KYC request with a specified ID.
 - [PATCH /kyc-requests/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/patchkycrequest.md): Updates a KYC request with a specified ID.
 - [DELETE /kyc-requests/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/deletekycrequest.md): Deletes a KYC request with a specified ID.
 - [GET /kyc-documents](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycdocumentcollection.md): Retrieves a list of KYC documents.
 - [POST /kyc-documents](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocument.md): Creates a KYC document.
 - [GET /kyc-documents/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycdocument.md): Retrieves a KYC document with a specified ID.
 - [PUT /kyc-documents/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/putkycdocument.md): Creates or updates (upserts) a KYC document with a specified ID.
 - [POST /kyc-documents/{id}/acceptance](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentacceptance.md): Accepts a KYC document and changes the documents `status` to `accepted`. The review time and reviewer information is also updated. > **Note:** Use this operation for manual overrides.
 - [POST /kyc-documents/{id}/matches](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentmatches.md): Updates the document matches of a KYC document with a specified ID. > **Note:** Use this operation for manual overrides. The request body schema depends on the KYC document `documentType`. The operat
 - [POST /kyc-documents/{id}/rejection](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentrejection.md): Rejects a KYC document and changes the `status` to `rejected`. The review time and reviewer information is also updated. > **Note:** Use this operation for manual overrides.
 - [POST /kyc-documents/{id}/review](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentreview.md): Updates the `reviewTime` and `reviewerId` of a KYC document with a specified ID.
 - [POST /kyc-documents/{id}/start-review](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentstartreview.md): Starts the review process of a KYC document with a specified ID. This operation also sets the KYC document `reviewStartTime` to the current date-time, and updates the review information.
 - [POST /kyc-documents/{id}/stop-review](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentstopreview.md): Stops the review of a KYC document with a specified ID. This operation also sets the KYC document `reviewStartTime` and the reviewer information to null. Use this operation when the reviewer must stop
 - [GET /kyc-settings](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycsettings.md): Retrieves KYC settings.
 - [PUT /kyc-settings](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/putkycsettings.md): Updates KYC settings.
 - [POST kyc-document-accepted](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-accepted.md)
 - [POST kyc-document-created](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-created.md)
 - [POST kyc-document-modified](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-modified.md)
 - [POST kyc-document-rejected](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-rejected.md)
 - [POST kyc-document-reviewed](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-reviewed.md)
 - [POST kyc-document-archived](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-archived.md)
 - [POST kyc-request-attempted](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-attempted.md)
 - [POST kyc-request-failed](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-failed.md)
 - [POST kyc-request-fulfilled](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-fulfilled.md)
 - [POST kyc-request-partially-fulfilled](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-partially-fulfilled.md)
