---
title: "Upload CIP information"
method: POST
path: "/v1/accounts/{account_id}/cip"
tags: ["KYC"]
---

# Upload CIP information

`POST /v1/accounts/{account_id}/cip`

The customer identification program (CIP) API allows you to submit the CIP results received from your KYC provider.

The minimum requirements to open an individual financial account are delimited and you must verify the true identity of the account holder at account opening:

Name
Date of birth
Address
Identification number (for a U.S. citizen, a taxpayer identification number)

## Request body

- CIPInfo — Customer Identification Program (CIP) information for an account applicant.
  - `account_id` string, uuid — UUID of the Account instance this CIPInfo is for
  - `created_at` string, date-time
  - `document` CIPDocument — Represents results of checking a document for CIPInfo
    - `age_validation` string — The result of the check. Either `clear` or `consider`.
    - `comprised_document` string — The result of the check. Either `clear` or `consider`.
    - `created_at` string, date-time — Datetime for when this check was done
    - `data_comparison` string — The result of the check. Either `clear` or `consider`.
    - `data_comparison_breakdown` string — json object representing the results of the various sub-checks done when calculating the result on `data_comparison`. Example: {"date_of_birth": "clear", "date_of_expiry": "clear" "document_numbers": "clear", "document_type": "clear", "first_name": "clear", "gender": "clear", "issuing_country": "clear", "last_name": "clear"}
    - `date_of_birth` string, date — Datetime for when this check was done
    - `date_of_expiry` string, date — Datetime for when this check was done
    - `document_numbers` string[] — Number of the document that was checked
    - `document_type` string — Type of the document that was checked
    - `first_name` string — First name extracted from the document
    - `gender` string — Gender info extracted from the document
    - `id` string, required — Your internal ID of check
    - `image_integrity` string — The result of the check. Either `clear` or `consider`.
    - `image_integrity_breakdown` string — json object representing the results of the various sub-checks done when calculating the result on `image_integrity`. Example: example: {"colour_picture": "clear", "conclusive_document_quality": "clear", "image_quality": "clear", "supported_document": "clear"}
    - `issuing_country` string — Country for which issued the document
    - `last_name` string — Last name extracted from the document
    - `nationality` string — Nationality extracted from the document
    - `police_record` string — An enum representing the status of the CIPInfo "complete" "withdrawn"
    - `result` string — The result of the check. Either `clear` or `consider`.
    - `status` string — An enum representing the status of the CIPInfo "complete" "withdrawn"
    - `visual_authenticity` string — json object representing the various sub-checks done when determining whether visual (non-textual) elements are correct given the document type. Example: { "digital_tampering": "clear", "face_detection": "clear", "fonts": "clear", "original_document_present": "clear", "picture_face_integrity": "clear", "security_features": "clear", "template": "clear"}
  - `id` string, uuid — ID of this CIPInfo
  - `identity` CIPIdentity
    - `address` string — The result of the check. Either `clear` or `consider`.
    - `address_breakdown` string — a json object representing the breakdown of the `address` field. For example: {"credit_agencies": {"result": "clear","properties":{"number_of_matches":"1"}}
    - `created_at` string — datetime when identity check happened
    - `date_of_birth` string — The result of the check. Either `clear` or `consider`.
    - `date_of_birth_breakdown` string — a json object representing the breakdown of the `date_of_birth` field. For example: example: {"credit_agencies":{"result": "clear","properties": {"number_of_matches": "1"}}
    - `id` string, required — Your internal ID of check
    - `matched_address` string — The result of the check. Either `clear` or `consider`.
    - `matched_addresses` string — datetime when identity check happened
    - `result` string — The result of the check. Either `clear` or `consider`.
    - `sources` string — The result of the check. Either `clear` or `consider`.
    - `sources_breakdown` string — a json object representing the breakdown of `sources` field. For example: {"total_sources": {"result": "clear","properties": {"total_number_of_sources": "3"}}}
    - `status` string — An enum representing the status of the CIPInfo "complete" "withdrawn"
    - `tax_id` string — The result of the check. Either `clear` or `consider`.
    - `tax_id_breakdown` string — a json object representing the breakdown of the `tax_id` field
  - `kyc` CIPKYC — Represents Know Your Customer (KYC) info for a CIPInfo
    - `address` string — Concatenated street address, city, state and country of applicant
    - `applicant_name` string — Given and family name of applicant
    - `approval_status` 'approved' | 'rejected' — Approval status of KYC check
    - `approved_at` string, date-time — Reason for approving this KYC check
    - `approved_by` string — Identifier of who approved KYC check
    - `approved_reason` string — Datetime that this KYC check was approved
    - `check_completed_at` string, date-time — completion datetime of KYC check
    - `check_initiated_at` string, date-time — start datetime of KYC check
    - `country_of_residency` string — country for `address` field
    - `date_of_birth` string, date — DOB of applicant
    - `email_address` string — email address of applicant
    - `id` string, uuid, required — Your internal ID of check
    - `ip_address` string — IP address of applicant at time of KYC check
    - `kyc_completed_at` string, date-time — Datetime that KYC check was completed at
    - `nationality` string — nationality of applicant
    - `postal_code` string — postal code for `address` field
    - `risk_categories` string[] — The list of risk categories returned by the KYC provider or assessed
    - `risk_level` string — Overall risk level returned by KYC provider or assessed
    - `risk_score` integer — Overall risk score returned by KYC provider or assessed
  - `photo` CIPPhoto — Represents the results of checking a Photo for CIPInfo
    - `created_at` string — datetime of when the check happened
    - `face_comparison` string — The result of the check. Either `clear` or `consider`.
    - `face_comparison_breakdown` string — a json object representing the breakdown of sub-checks done in `face_comparison`. Example: {"face_match":{"result": "clear","properties":{"score": "80"}}}
    - `id` string, required — Your internal ID of the check
    - `image_integrity` string — The result of the check. Either `clear` or `consider`.
    - `image_integrity_breakdown` string — a json object representing the breakdown of sub-checks done in `image_integrity`. Example {"face_detected":{"result": "clear"},"source_integrity": {"result": "clear"}}
    - `result` string — The result of the check. Either `clear` or `consider`.
    - `status` 'complete' | 'withdrawn' — Overall status of the check. Either `complete` or `withdrawn`.
    - `visual_authenticity` string — The result of the check. Either `clear` or `consider`.
    - `visual_authenticity_breakdown` string — a json object representing the breakdown of sub-checks don in `visual_authenticity`. Example {"spoofing_detection": {"result": "clear","properties": {"score": "26"}}}}
  - `provider_name` CIPProvider[] — List of KYC providers this information came from
  - `updated_at` string, date-time
  - `watchlist` CIPWatchlist — Represents the result of checking to see if the applicant is in any watchlists for a CIPInfo
    - `adverse_media` string — The result of the check. Either `clear` or `consider`.
    - `created_at` string — datetime when check happened
    - `id` string, required — Your internal ID of check
    - `monitored_lists` string — The result of the check. Either `clear` or `consider`.
    - `politically_exposed_person` string — The result of the check. Either `clear` or `consider`.
    - `records` string — a json object. Example [{"text": "Record info"}]
    - `result` string — The result of the check. Either `clear` or `consider`.
    - `sanction` string — The result of the check. Either `clear` or `consider`.
    - `status` string — An enum representing the status of the CIPInfo "complete" "withdrawn"

## Response `200`

OK

---

[API](https://skmtc.net/alpacahq/apis/gift-city-extensions-api.md) · [All operations](https://skmtc.net/alpacahq/apis/gift-city-extensions-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alpacahq/gift-city-extensions-api/revisions/62e3378bb273/schema)
