Skip to content

RFIs ​

Reference for the 13 CryptoComply MCP tools in the RFIs family.

Tools in this group ​

rfi_bulk_create ​

Read-only: no.

Send the same RFI to many profiles, each as its own RFI emailed to that profile's own address. It asks each profile for its own fields and documents only (see rfi_bulk_request_options), never a related party's, and copies no one; a profile with no email is that row's failure and the rest are still sent. Omit the declaration, reminder and link-lifetime arguments unless the user set them.

Previews first. Each id is processed individually; a row that fails does not stop the others. Answers with the per-row bulk envelope. Each sent row carries its rfi_id.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_ids (list, required) — Profile ids (from profile_list) to send to.
  • request_text (str, required) — Body of the request, shown to the client in the email.
  • requested_fields (list[str | dict[str, typing.Any]] | None, optional) — Field keys the profile can be asked (see rfi_bulk_request_options; custom fields included), related-party section keys on an entity (ubo, control_person, compliance_officer, parent_entity, additional), wallets for one blockchain address, or {'key', 'profile_id'} for a related party's.
  • requested_documents (list[str | dict[str, typing.Any]] | None, optional) — Document type codes (e.g. 'PROOF_OF_ADDRESS', 'IDENTIFICATION'), or {'document_type', 'profile_id'} for a related party's.
  • custom_questions (list[str] | None, optional) — Free-text questions, each a required answer on the form (max 500 chars each).
  • acknowledgment (str | None, optional) — The declaration the contact must confirm before submitting. Omit it to ask the default declaration (information true, complete and not falsified); pass an empty string for none.
  • first_reminder_days (int | None, optional) — Days after sending to remind an unanswered RFI automatically; null for none. Must be less than link_expiry_days minus expiry_reminder_days.
  • expiry_reminder_days (int | None, optional) — Days before the link expires to warn an unanswered RFI; null for none. Must be less than link_expiry_days.
  • link_expiry_days (int, optional) — Days the RFI's link stays open, on the first send and on every resend.
  • confirm_token (str | None, optional) — From this tool's preview; omit to get one.

rfi_bulk_request_options ​

Read-only: yes.

What a bulk RFI to these profiles can ask: the fields and documents every one of them can be asked, by section. Profiles of another type or group are offered different items, so only the shared ones are listed; left_out counts the rest.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_ids (list, required) — Profile ids (from profile_list) to send to.

rfi_create ​

Read-only: no.

Send a Request-For-Information to a client: a public link is emailed asking for profile fields, documents, a wallet and/or answers, compiled into the form the client fills — exactly what is asked. Anything can be asked of a related party instead. When the client answers, documents are filed, wallets and new related parties are added and screened, and answers to questions go to a note, all at once; only answers to profile fields wait for approval. Call it directly: the dry run checks every name and its error says what is wrong. Omit the declaration, reminder and link-lifetime arguments unless the user set them.

Previews first. Confirming creates the RFI and sends the emails its preview names.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int, required) — Profile id (from profile_list).
  • request_text (str, required) — Body of the request, shown to the client in the email.
  • requested_fields (list[str | dict[str, typing.Any]] | None, optional) — Field keys the profile can be asked (see rfi_bulk_request_options; custom fields included), related-party section keys on an entity (ubo, control_person, compliance_officer, parent_entity, additional), wallets for one blockchain address, or {'key', 'profile_id'} for a related party's.
  • requested_documents (list[str | dict[str, typing.Any]] | None, optional) — Document type codes (e.g. 'PROOF_OF_ADDRESS', 'IDENTIFICATION'), or {'document_type', 'profile_id'} for a related party's.
  • additional_recipients (list[str] | None, optional) — Emails copied (Cc) on the request, its reminders and resends.
  • custom_questions (list[str] | None, optional) — Free-text questions, each a required answer on the form (max 500 chars each).
  • acknowledgment (str | None, optional) — The declaration the contact must confirm before submitting. Omit it to ask the default declaration (information true, complete and not falsified); pass an empty string for none.
  • first_reminder_days (int | None, optional) — Days after sending to remind an unanswered RFI automatically; null for none. Must be less than link_expiry_days minus expiry_reminder_days.
  • expiry_reminder_days (int | None, optional) — Days before the link expires to warn an unanswered RFI; null for none. Must be less than link_expiry_days.
  • link_expiry_days (int, optional) — Days the RFI's link stays open, on the first send and on every resend.
  • send_email (bool, optional) — False creates the link without emailing anyone; the person shares rfi_url.
  • confirm_token (str | None, optional) — From this tool's preview; omit to get one.

rfi_follow_up ​

Read-only: no.

Send a follow-up RFI: open a new request round for the same profile, linked to a prior RFI as its parent. Use after a client responded but more information is still needed.

Omit the declaration, reminder and link-lifetime arguments unless the user set them.

Previews first. Confirming creates the follow-up and sends the emails its preview names.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int, required) — Profile id the RFI belongs to.
  • rfi_id (int, required) — RFI id (from rfi_list).
  • request_text (str, required) — Body of the request, shown to the client in the email.
  • requested_fields (list[str | dict[str, typing.Any]] | None, optional) — Field keys the profile can be asked (see rfi_bulk_request_options; custom fields included), related-party section keys on an entity (ubo, control_person, compliance_officer, parent_entity, additional), wallets for one blockchain address, or {'key', 'profile_id'} for a related party's.
  • requested_documents (list[str | dict[str, typing.Any]] | None, optional) — Document type codes (e.g. 'PROOF_OF_ADDRESS', 'IDENTIFICATION'), or {'document_type', 'profile_id'} for a related party's.
  • additional_recipients (list[str] | None, optional) — Emails copied (Cc) on the request, its reminders and resends.
  • custom_questions (list[str] | None, optional) — Free-text questions, each a required answer on the form (max 500 chars each).
  • acknowledgment (str | None, optional) — The declaration the contact must confirm before submitting. Omit it to ask the default declaration (information true, complete and not falsified); pass an empty string for none.
  • first_reminder_days (int | None, optional) — Days after sending to remind an unanswered RFI automatically; null for none. Must be less than link_expiry_days minus expiry_reminder_days.
  • expiry_reminder_days (int | None, optional) — Days before the link expires to warn an unanswered RFI; null for none. Must be less than link_expiry_days.
  • link_expiry_days (int, optional) — Days the RFI's link stays open, on the first send and on every resend.
  • confirm_token (str | None, optional) — From this tool's preview; omit to get one.

rfi_list ​

Read-only: yes.

List Request-For-Information records, most recent first: one profile's, or the whole organization's when profile_id is omitted. Each row names its profile. Name a status by its status_label and what it asks by each requested[].label. delivery link_only: never emailed, so say its link was created, not sent. Use when the analyst wants to see what KYC info has been asked of a client.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int | None, optional) — Profile id (from profile_list). Omit for every profile.
  • status (Optional, optional) — Filter by status.
  • sent_after (datetime.datetime | None, optional) — Only include RFIs sent at or after this UTC timestamp.
  • sent_before (datetime.datetime | None, optional) — Only include RFIs sent before this UTC timestamp.
  • sort_by (Literal, optional) — '-' prefix = descending.
  • limit (int, optional) — Max results.
  • offset (int, optional) — Results to skip.

rfi_proposal_accept ​

Read-only: no.

Accept one staged RFI item, writing the client's value to the field of the profile or related party it was asked of (on older RFIs it may instead create a related party or file a document; a QUESTION item only records the answer). A decision is final; the first one on a response moves the profile to Under Review, and a changed name or identity field rescreens whose field it is.

Previews first.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int, required) — Profile id the RFI belongs to.
  • rfi_id (int, required) — RFI id (from rfi_list).
  • proposal_id (int, required) — Staged item id (from rfi_proposal_list).
  • confirm_token (str | None, optional) — From this tool's preview; omit to get one.

rfi_proposal_accept_all ​

Read-only: no.

Accept every PENDING staged item on an RFI in one call, all or none: if one can't be applied, none is. Each has the effects of rfi_proposal_accept. Use after reviewing the items with rfi_proposal_list; reject any you don't want first, then accept the rest here.

Previews first.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int, required) — Profile id the RFI belongs to.
  • rfi_id (int, required) — RFI id (from rfi_list).
  • confirm_token (str | None, optional) — From this tool's preview; omit to get one.

rfi_proposal_list ​

Read-only: yes.

List the staged items from an RFI's responses awaiting adjudication (the "limbo"). Only answers to profile fields wait here: each is a PENDING item that must be accepted (which applies it) or rejected. Everything else was applied on submission (parties created and screened, documents filed, wallets added, answers noted); the first page lists it under applied. Filter by status for PENDING work, ACCEPTED, or REJECTED.

Each row is {id, item_type, field_key, for_profile, for_profile_name, proposed_value, previous_value, status, rationale, decided_at, created_at}; other item_types than FIELD are from older RFIs. A FIELD with for_profile set was asked of that related party, and accepting it writes to the party, not to this profile. Compare proposed_value with the owner's live value via profile_retrieve, then adjudicate with rfi_proposal_accept / rfi_proposal_reject / rfi_proposal_accept_all.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int, required) — Profile id the RFI belongs to.
  • rfi_id (int, required) — RFI id (from rfi_list).
  • status (Optional, optional) — Filter by adjudication status. Omit for all.
  • limit (int, optional) — Max results.
  • offset (int, optional) — Results to skip.

rfi_proposal_reject ​

Read-only: no.

Reject one staged RFI item with a rationale — the client's submitted value is NOT applied to the profile; the item is kept as evidence. Use when the answer is wrong, incomplete, or a false match.

Previews first.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int, required) — Profile id the RFI belongs to.
  • rfi_id (int, required) — RFI id (from rfi_list).
  • proposal_id (int, required) — Staged item id (from rfi_proposal_list).
  • rationale (str, optional) — Why the item is rejected (recorded on the audit trail).
  • confirm_token (str | None, optional) — From this tool's preview; omit to get one.

rfi_remind ​

Read-only: no.

Remind an RFI: re-send the existing link as a reminder. The link and expiry are unchanged (unlike resend), only a reminder email goes out. Rejected once the client responded, if the link was revoked or has expired, or if the RFI was created as a link only.

Previews first.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int, required) — Profile id the RFI belongs to.
  • rfi_id (int, required) — RFI id (from rfi_list).
  • confirm_token (str | None, optional) — From this tool's preview; omit to get one.

rfi_resend ​

Read-only: no.

Resend an RFI: email a fresh link to its contact, copying its additional recipients. The new link stays open as many days as the first, the old link stops working, and the automatic reminders start over. Rejected once the client has responded, if the link was revoked (send a new RFI instead), or if the RFI was created as a link only (share that link).

Previews first. Confirming rotates the link and emails it.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int, required) — Profile id the RFI belongs to.
  • rfi_id (int, required) — RFI id (from rfi_list).
  • confirm_token (str | None, optional) — From this tool's preview; omit to get one.

rfi_retrieve ​

Read-only: yes.

Get full details of one RFI: request body, requested fields/documents, ad-hoc custom_questions, recipient(s), and the client's response payload (field answers + additional information) when present, with the new related parties and wallets it already added (applied_parties, applied_wallets).

Parameters

  • organization_id (int, required) — Organization scope.
  • rfi_id (int, required) — RFI id (from rfi_list).
  • profile_id (int | None, optional) — Profile id the RFI belongs to.

rfi_revoke ​

Read-only: no.

Revoke an RFI's public link: it stops working and the contact sees the request is no longer available. Use when it went to the wrong contact or is no longer needed. This can't be undone. To ask again, send a new RFI. The contact isn't told, and the profile's review status doesn't change. The reason stays internal. Rejected once the client has responded.

Previews first.

Parameters

  • organization_id (int, required) — Organization scope.
  • profile_id (int, required) — Profile id the RFI belongs to.
  • rfi_id (int, required) — RFI id (from rfi_list).
  • reason (str, required) — Why the link is revoked, at least 10 characters.
  • confirm_token (str | None, optional) — From this tool's preview; omit to get one.