CM.com · Schema

CreateTransaction

CompanyCPaaSMessagingSMSVoicePaymentsVerificationTicketing

Properties

Name Type Description
id string
state object
tasks array The tasks to be performed by the user. The `face_liveness` task can only be performed when the `document_scan` task is added. For the `face_match` task both the `document_scan` task and `face_liveness
settings object
locale object The language of the ID Scan process. Currently supports English, Dutch, French.
url string The URL to start the transaction.
mobileOnly boolean When this is set to true, the user must complete the transaction on their mobile device.
returnUrl string The URL to redirect the user to after the transaction is completed. The `trxid`, `state` and `resultid` will be added as a query parameter. If the URL is not set a default page is shown.
scanReturnUrl string The URL to redirect the user to in case the transaction is transferred to a mobile device (by scanning the QR code) and the transaction is completed. The `trxid` and `state` will be added as a query p
expires string The date the transaction expires.
created string The date the transaction was created.
expiresIn integer The time in seconds after which a transaction should expire.
View JSON Schema on GitHub

JSON Schema

cm-com-create-transaction-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/cm-com/main/json-schema/cm-com-create-transaction-schema.json",
  "title": "CreateTransaction",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cm-com-verification-id-scan-v1-openapi.yml#/components/schemas/CreateTransaction",
  "allOf": [
    {
      "$ref": "#/$defs/Transaction"
    }
  ],
  "properties": {
    "expiresIn": {
      "type": "integer",
      "minimum": 3600,
      "maximum": 86400,
      "description": "The time in seconds after which a transaction should expire.",
      "default": 3600
    }
  },
  "$defs": {
    "CaptureSource": {
      "type": "string",
      "enum": [
        "camera",
        "file"
      ],
      "default": "camera"
    },
    "GraphicField": {
      "type": "string",
      "enum": [
        "bar_code",
        "color_dynamic",
        "contact_chip",
        "document_image",
        "document_rear",
        "eye",
        "finger_left_four_fingers",
        "finger_left_index",
        "finger_left_little",
        "finger_left_middle",
        "finger_left_ring",
        "finger_left_thumb",
        "finger_right_four_fingers",
        "finger_right_index",
        "finger_right_little",
        "finger_right_middle",
        "finger_right_ring",
        "finger_right_thumb",
        "finger_two_thumbs",
        "fingerprint",
        "ghost_portrait",
        "other",
        "portrait",
        "portrait_of_child",
        "proof_of_citizenship",
        "signature",
        "stamp"
      ]
    },
    "Locale": {
      "type": "string",
      "enum": [
        "en-US",
        "nl-NL",
        "fr-FR",
        "it-IT"
      ],
      "default": "en-US",
      "description": "The language of the ID Scan process. Currently supports English, Dutch, French, and Italian."
    },
    "Settings": {
      "type": "object",
      "properties": {
        "documentScan": {
          "properties": {
            "allowedExpiration": {
              "type": "integer",
              "description": "Change the allowed expiry date of the document. A positive number allows a document to be expired for the specified number of days, a negative number requires a document to be valid for at least the specified number of days."
            },
            "captureSources": {
              "type": [
                "array",
                "null"
              ],
              "description": "The camera capture source allows the user to live capture an ID document. The file capture source allows the user to upload an already captured ID document.",
              "items": {
                "$ref": "#/$defs/CaptureSource"
              },
              "default": [
                "camera",
                "file"
              ]
            },
            "redactFields": {
              "type": "array",
              "description": "The fields to be masked/blurred on the downloaded ID document.",
              "items": {
                "oneOf": [
                  {
                    "$ref": "#/$defs/TextField"
                  },
                  {
                    "$ref": "#/$defs/GraphicField"
                  }
                ]
              }
            },
            "minimumAge": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0,
              "description": "Set a minimum age of the user, that will be derived from the document."
            },
            "maximumAge": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0,
              "description": "Set a maximum age of the user, that will be derived from the document."
            },
            "requireBothSides": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "If set to true, the back side of the document will also be requested. Regardless if the personal number is detected on the front side. Unless the document has no other side."
            },
            "desiredFields": {
              "type": "array",
              "description": "Request availability of specific fields. The other side of the document will be scanned if the desired fields are not available on the front side. The document scan will not fail if the desired fields can't be found on any of the scanned sides.",
              "items": {
                "$ref": "#/$defs/TextField"
              }
            },
            "validateFields": {
              "type": "array",
              "description": "The specified fields must have a valid validity status. A field with a validity status of `not_checked` is also considered valid. If any of the fields have an `invalid` status, the user must attempt to scan again.",
              "items": {
                "$ref": "#/$defs/TextField"
              }
            },
            "extractFields": {
              "type": "array",
              "description": "Specify which fields should be extracted from the document. Only the specified fields will be processed and returned in the response.",
              "items": {
                "oneOf": [
                  {
                    "$ref": "#/$defs/TextField"
                  },
                  {
                    "$ref": "#/$defs/GraphicField"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "TaskType": {
      "type": "string",
      "enum": [
        "document_scan",
        "face_liveness",
        "face_match"
      ]
    },
    "TextField": {
      "type": "string",
      "enum": [
        "academic_title",
        "accompanied_by",
        "address",
        "address_area",
        "address_block_number",
        "address_building",
        "address_building_type",
        "address_city",
        "address_city_sector",
        "address_city_type",
        "address_country",
        "address_county_type",
        "address_entrance",
        "address_flat",
        "address_floor_number",
        "address_house",
        "address_jurisdiction_code",
        "address_location",
        "address_municipality",
        "address_postal_code",
        "address_state",
        "address_street",
        "address_street_number",
        "address_street_type",
        "address_zip_code",
        "administrative_number",
        "age",
        "age_at_issue",
        "agy",
        "airline_code",
        "airline_designator_of_boarding_pass_issuer",
        "airline_name",
        "airline_name_frequent_flyer",
        "airline_numeric_code",
        "airport_from",
        "airport_to",
        "aka_date_of_birth",
        "aka_given_names",
        "aka_name_prefix",
        "aka_name_suffix",
        "aka_social_security_number",
        "aka_surname",
        "aka_surname_and_given_names",
        "allergies",
        "alt_code",
        "alt_date_of_expiry",
        "application_number",
        "artistic_name",
        "audit_information",
        "authority",
        "authority_code",
        "authority_rus",
        "authorization_number",
        "bank_card_number",
        "bank_card_valid_thru",
        "banknote_number",
        "bdb_type",
        "benefits_number",
        "binary_code",
        "biometric_format_owner",
        "biometric_format_type",
        "biometric_product_id",
        "biometric_subtype",
        "biometric_type",
        "blood_group",
        "booklet_number",
        "caliber",
        "card_access_number",
        "category",
        "ccw_until",
        "cdl_class",
        "century_date_of_birth",
        "chassis_number",
        "check_in_sequence_number",
        "children",
        "citizenship_of_first_person",
        "citizenship_of_second_person",
        "citizenship_status",
        "civil_status",
        "commercial_indicator",
        "commercial_vehicle_codes",
        "company_name",
        "compartment_code",
        "complexion",
        "compliance_type",
        "conditions",
        "configuration",
        "consul",
        "control_number",
        "copy",
        "court_code",
        "csc_code",
        "cty",
        "current_date",
        "custody_info",
        "cvv",
        "data_date_of_expiry",
        "data_discriminator",
        "date_first_renewal",
        "date_of_arrival",
        "date_of_birth",
        "date_of_birth_check_digit",
        "date_of_birth_checksum",
        "date_of_birth_of_husband",
        "date_of_birth_of_wife",
        "date_of_creation",
        "date_of_expiry",
        "date_of_expiry_check_digit",
        "date_of_expiry_checksum",
        "date_of_first_positive_test_result",
        "date_of_flight",
        "date_of_insurance_expiry",
        "date_of_issue",
        "date_of_issue_boarding_pass",
        "date_of_issue_check_digit",
        "date_of_issue_checksum",
        "date_of_personalization",
        "date_of_registration",
        "date_of_retirement",
        "date_of_specimen_collection",
        "date_second_renewal",
        "day",
        "department",
        "dept_number",
        "destination",
        "digital_travel_authorization_number",
        "discretionary_data",
        "dl_cdl_restriction_code",
        "dl_class",
        "dl_class_code_a1_from",
        "dl_class_code_a1_notes",
        "dl_class_code_a1_to",
        "dl_class_code_a2_from",
        "dl_class_code_a2_notes",
        "dl_class_code_a2_to",
        "dl_class_code_a3_from",
        "dl_class_code_a3_notes",
        "dl_class_code_a3_to",
        "dl_class_code_a_from",
        "dl_class_code_a_notes",
        "dl_class_code_a_to",
        "dl_class_code_am_from",
        "dl_class_code_am_notes",
        "dl_class_code_am_to",
        "dl_class_code_b1_from",
        "dl_class_code_b1_notes",
        "dl_class_code_b1_to",
        "dl_class_code_b2_from",
        "dl_class_code_b2_notes",
        "dl_class_code_b2_to",
        "dl_class_code_b2e_from",
        "dl_class_code_b2e_notes",
        "dl_class_code_b2e_to",
        "dl_class_code_b_from",
        "dl_class_code_b_notes",
        "dl_class_code_b_to",
        "dl_class_code_be_from",
        "dl_class_code_be_notes",
        "dl_class_code_be_to",
        "dl_class_code_btp_from",
        "dl_class_code_btp_notes",
        "dl_class_code_btp_to",
        "dl_class_code_c1_from",
        "dl_class_code_c1_notes",
        "dl_class_code_c1_to",
        "dl_class_code_c1e_from",
        "dl_class_code_c1e_notes",
        "dl_class_code_c1e_to",
        "dl_class_code_c2_from",
        "dl_class_code_c2_notes",
        "dl_class_code_c2_to",
        "dl_class_code_c3_from",
        "dl_class_code_c3_notes",
        "dl_class_code_c3_to",
        "dl_class_code_c_from",
        "dl_class_code_c_notes",
        "dl_class_code_c_to",
        "dl_class_code_ca_from",
        "dl_class_code_ca_notes",
        "dl_class_code_ca_to",
        "dl_class_code_cd_from",
        "dl_class_code_cd_notes",
        "dl_class_code_cd_to",
        "dl_class_code_ce_from",
        "dl_class_code_ce_notes",
        "dl_class_code_ce_to",
        "dl_class_code_d1_from",
        "dl_class_code_d1_notes",
        "dl_class_code_d1_to",
        "dl_class_code_d1e_from",
        "dl_class_code_d1e_notes",
        "dl_class_code_d1e_to",
        "dl_class_code_d2_from",
        "dl_class_code_d2_notes",
        "dl_class_code_d2_to",
        "dl_class_code_d3_from",
        "dl_class_code_d3_notes",
        "dl_class_code_d3_to",
        "dl_class_code_d_from",
        "dl_class_code_d_notes",
        "dl_class_code_d_to",
        "dl_class_code_de_from",
        "dl_class_code_de_notes",
        "dl_class_code_de_to",
        "dl_class_code_e_from",
        "dl_class_code_e_notes",
        "dl_class_code_e_to",
        "dl_class_code_eb_from",
        "dl_class_code_eb_notes",
        "dl_class_code_eb_to",
        "dl_class_code_ec1_from",
        "dl_class_code_ec1_notes",
        "dl_class_code_ec1_to",
        "dl_class_code_ec_from",
        "dl_class_code_ec_notes",
        "dl_class_code_ec_to",
        "dl_class_code_f_from",
        "dl_class_code_f_notes",
        "dl_class_code_f_to",
        "dl_class_code_fa1_from",
        "dl_class_code_fa1_notes",
        "dl_class_code_fa1_to",
        "dl_class_code_fa_from",
        "dl_class_code_fa_notes",
        "dl_class_code_fa_to",
        "dl_class_code_fb_from",
        "dl_class_code_fb_notes",
        "dl_class_code_fb_to",
        "dl_class_code_g1_from",
        "dl_class_code_g1_notes",
        "dl_class_code_g1_to",
        "dl_class_code_g_from",
        "dl_class_code_g_notes",
        "dl_class_code_g_to",
        "dl_class_code_h_from",
        "dl_class_code_h_notes",
        "dl_class_code_h_to",
        "dl_class_code_hc_from",
        "dl_class_code_hc_notes",
        "dl_class_code_hc_to",
        "dl_class_code_hr_from",
        "dl_class_code_hr_notes",
        "dl_class_code_hr_to",
        "dl_class_code_i_from",
        "dl_class_code_i_notes",
        "dl_class_code_i_to",
        "dl_class_code_j_from",
        "dl_class_code_j_notes",
        "dl_class_code_j_to",
        "dl_class_code_k_from",
        "dl_class_code_k_notes",
        "dl_class_code_k_to",
        "dl_class_code_l_from",
        "dl_class_code_l_notes",
        "dl_class_code_l_to",
        "dl_class_code_lc_from",
        "dl_class_code_lc_notes",
        "dl_class_code_lc_to",
        "dl_class_code_lk_from",
        "dl_class_code_lk_notes",
        "dl_class_code_lk_to",
        "dl_class_code_lr_from",
        "dl_class_code_lr_notes",
        "dl_class_code_lr_to",
        "dl_class_code_m_from",
        "dl_class_code_m_notes",
        "dl_class_code_m_to",
        "dl_class_code_mc_from",
        "dl_class_code_mc_notes",
        "dl_class_code_mc_to",
        "dl_class_code_mr_from",
        "dl_class_code_mr_notes",
        "dl_class_code_mr_to",
        "dl_class_code_n_from",
        "dl_class_code_n_notes",
        "dl_class_code_n_to",
        "dl_class_code_nt_from",
        "dl_class_code_nt_notes",
        "dl_class_code_nt_to",
        "dl_class_code_pw_from",
        "dl_class_code_pw_notes",
        "dl_class_code_pw_to",
        "dl_class_code_r_from",
        "dl_class_code_r_notes",
        "dl_class_code_r_to",
        "dl_class_code_re_from",
        "dl_class_code_re_notes",
        "dl_class_code_re_to",
        "dl_class_code_rm_from",
        "dl_class_code_rm_notes",
        "dl_class_code_rm_to",
        "dl_class_code_s_from",
        "dl_class_code_s_notes",
        "dl_class_code_s_to",
        "dl_class_code_t_from",
        "dl_class_code_t_notes",
        "dl_class_code_t_to",
        "dl_class_code_tb_from",
        "dl_class_code_tb_notes",
        "dl_class_code_tb_to",
        "dl_class_code_tm_from",
        "dl_class_code_tm_notes",
        "dl_class_code_tm_to",
        "dl_class_code_tn_from",
        "dl_class_code_tn_notes",
        "dl_class_code_tn_to",
        "dl_class_code_tr_from",
        "dl_class_code_tr_notes",
        "dl_class_code_tr_to",
        "dl_class_code_tv_from",
        "dl_class_code_tv_notes",
        "dl_class_code_tv_to",
        "dl_class_code_v_from",
        "dl_class_code_v_notes",
        "dl_class_code_v_to",
        "dl_class_code_w_from",
        "dl_class_code_w_notes",
        "dl_class_code_w_to",
        "dl_duplicate_date",
        "dl_endorsed",
        "dl_issue_type",
        "dl_record_created",
        "dl_restriction_code",
        "dl_under_18_date",
        "dl_under_19_date",
        "dl_under_21_date",
        "dni_number",
        "document_class_code",
        "document_class_name",
        "document_discriminator",
        "document_number",
        "document_number_check_digit",
        "document_number_checksum",
        "document_series",
        "document_status",
        "dod_number",
        "donor",
        "dossier_number",
        "ds_certificate_issuer",
        "ds_certificate_subject",
        "ds_certificate_valid_from",
        "ds_certificate_valid_to",
        "dtc_date_of_expiry",
        "dtc_id",
        "dtc_version",
        "duf_number",
        "duration_of_stay",
        "e_id_place_of_birth_city",
        "e_id_place_of_birth_country",
        "e_id_place_of_birth_state",
        "e_id_place_of_birth_street",
        "e_id_place_of_birth_zip_code",
        "e_id_residence_permit_1",
        "e_id_residence_permit_2",
        "ec_environmental_type",
        "ef_card_access",
        "electronic_ticket_indicator",
        "email",
        "endorsement_expiration_date",
        "engine_model",
        "engine_number",
        "engine_power",
        "engine_volume",
        "eqv_code",
        "exam_date",
        "except_in_tanks",
        "expiry_timestamp",
        "eyes_color",
        "faculty",
        "family_name",
        "family_name_truncation",
        "fast_track",
        "father_country_of_birth",
        "father_date_of_birth",
        "father_given_name",
        "father_personal_number",
        "father_place_of_birth",
        "father_surname",
        "fathers_name",
        "fathers_name_rus",
        "federal_elections",
        "fee",
        "field_from_mrz",
        "final_check_digit",
        "final_checksum",
        "first_issue_date",
        "first_issue_date_checkdigit",
        "first_issue_date_checksum",
        "first_name",
        "first_name_truncation",
        "first_surname",
        "flight_number",
        "folio_number",
        "form_of_education",
        "fourth_name",
        "free_baggage_allowance",
        "frequent_flyer_airline_designator",
        "frequent_flyer_number",
        "from_airport_code",
        "fuel_type",
        "given_names",
        "given_names_rus",
        "gnib_number",
        "grandfather_name",
        "grandfather_name_maternal",
        "hair_color",
        "health_number",
        "height",
        "identifier",
        "identity_card_number",
        "identity_card_number_check_digit",
        "identity_card_number_checksum",
        "in_tanks",
        "inventory_number",
        "invitation_number",
        "invitation_number_check_digit",
        "invitation_number_checksum",
        "invited_by",
        "iso_issuer_id_number",
        "issue_timestamp",
        "issuer_identification_number",
        "issuing_state_code",
        "issuing_state_code_alpha2",
        "issuing_state_code_numeric",
        "issuing_state_name",
        "jurisdiction_endorsement_code",
        "jurisdiction_restriction_code",
        "jurisdiction_specific_data",
        "jurisdiction_vehicle_class",
        "last_name",
        "license_number",
        "limited_duration_document_indicator",
        "line_1_check_digit",
        "line_1_checksum",
        "line_1_optional_data",
        "line_2_check_digit",
        "line_2_checksum",
        "line_2_optional_data",
        "line_3_check_digit",
        "line_3_checksum",
        "line_3_optional_data",
        "mailing_address_city",
        "mailing_address_jurisdiction_code",
        "mailing_address_postal_code",
        "mailing_address_street",
        "make",
        "marital_status",
        "max_mass_of_trailer_braked",
        "max_mass_of_trailer_unbraked",
        "max_speed",
        "mc_novice_date",
        "medical_indicator_codes",
        "method_of_testing",
        "middle_name",
        "middle_name_truncation",
        "military_book_number",
        "military_service_from",
        "military_service_to",
        "model",
        "month",
        "month_of_birth",
        "mortgage_by",
        "mother_country_of_birth",
        "mother_date_of_birth",
        "mother_given_name",
        "mother_personal_number",
        "mother_place_of_birth",
        "mother_surname",
        "mothers_name",
        "mrz_strings",
        "mrz_strings_icao_rfid",
        "mrz_strings_with_correct_check_sums",
        "mrz_type",
        "mvc_agency",
        "name_prefix",
        "name_suffix",
        "nationality",
        "nationality_code",
        "nationality_code_alpha2",
        "nationality_code_numeric",
        "non_domiciled_indicator",
        "non_resident_indicator",
        "number_of_axles",
        "number_of_card_issuance",
        "number_of_card_issuance_check_digit",
        "number_of_card_issuance_checksum",
        "number_of_cylinders",
        "number_of_duplicates",
        "number_of_entries",
        "number_of_seats",
        "number_of_standing_places",
        "observations",
        "ocr_number",
        "old_date_of_issue",
        "old_document_number",
        "old_place_of_issue",
        "optional_data",
        "optional_data_check_digit",
        "optional_data_checksum",
        "organization",
        "other",
        "other_name",
        "other_person_name",
        "other_valid_id",
        "owner",
        "parents_given_names",
        "passport_number",
        "passport_number_check_digit",
        "passport_number_checksum",
        "patron_header_version",
        "pay_grade",
        "payload_capacity",
        "payment_period_from",
        "payment_period_to",
        "pdf417_codec",
        "permissible_axle_load",
        "permit_date_of_expiry",
        "permit_date_of_issue",
        "permit_dl_class",
        "permit_endorsed",
        "permit_identifier",
        "permit_restriction_code",
        "person_to_notify_address",
        "person_to_notify_date_of_record",
        "person_to_notify_name",
        "person_to_notify_phone",
        "personal_number",
        "personal_number_check_digit",
        "personal_number_checksum",
        "personal_summary",
        "personalization_sn",
        "phone",
        "place_of_birth",
        "place_of_birth_area",
        "place_of_birth_city",
        "place_of_birth_rus",
        "place_of_birth_state_code",
        "place_of_examination",
        "place_of_issue",
        "place_of_registration",
        "pnr_code",
        "police_district",
        "power_weight_ratio",
        "precinct",
        "previous_type",
        "profession",
        "professional_id_number",
        "pseudo_code",
        "purpose_of_entry",
        "race_ethnicity",
        "rank",
        "reference_number",
        "reference_number_check_digit",
        "reference_number_checksum",
        "reg_cert_body_number",
        "reg_cert_body_type",
        "reg_cert_car_color",
        "reg_cert_car_mark",
        "reg_cert_car_model",
        "reg_cert_car_type",
        "reg_cert_max_weight",
        "reg_cert_reg_number",
        "reg_cert_reg_number_check_digit",
        "reg_cert_reg_number_checksum",
        "reg_cert_vehicle_its_code",
        "reg_cert_vin",
        "reg_cert_vin_check_digit",
        "reg_cert_vin_checksum",
        "reg_cert_weight",
        "relationship",
        "religion",
        "remainder_term",
        "resident_from",
        "resident_until",
        "result_of_testing",
        "retirement_number",
        "revision_date",
        "room_number",
        "sbh_integrity_options",
        "sbh_security_options",
        "seat_number",
        "second_name",
        "second_surname",
        "section",
        "selectee_indicator",
        "sequence_number",
        "serial_number",
        "sex",
        "short_flight_number",
        "signature",
        "skin_color",
        "social_security_number",
        "sp_code",
        "special_notes",
        "sponsor",
        "sponsor_service",
        "sponsor_ssn",
        "sponsor_status",
        "stamp_number",
        "status_date_of_expiry",
        "surname",
        "surname_and_given_names",
        "surname_and_given_names_check_digit",
        "surname_and_given_names_checksum",
        "surname_and_given_names_rus",
        "surname_at_birth",
        "surname_of_husband_after_registration",
        "surname_of_spouse",
        "surname_of_wife_after_registration",
        "tax",
        "tax_number",
        "telex_code",
        "territorial_validity",
        "third_name",
        "ticket_number",
        "title",
        "to_airport_code",
        "tracking_number",
        "trailer_hitch",
        "transaction_number",
        "transmission_type",
        "type_approval_number",
        "type_of_testing",
        "unique_certificate_identifier",
        "unique_customer_identifier",
        "url",
        "uscis",
        "vaccination_certificate_identifier",
        "validity_period",
        "vehicle_category",
        "veteran",
        "visa_class",
        "visa_id",
        "visa_id_check_digit",
        "visa_id_checksum",
        "visa_id_rus",
        "visa_number",
        "visa_number_check_digit",
        "visa_number_checksum",
        "visa_subclass",
        "visa_type",
        "visa_valid_from",
        "visa_valid_until",
        "visa_valid_until_check_digit",
        "visa_valid_until_checksum",
        "voter",
        "voter_key",
        "voucher_number",
        "vrc_data_object_entry",
        "weight",
        "weight_pounds",
        "year",
        "year_of_birth",
        "year_of_expiry",
        "years_since_issue"
      ]
    },
    "Transaction": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "readOnly": true
        },
        "state": {
          "$ref": "#/$defs/TransactionState",
          "readOnly": true
        },
        "tasks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TaskType"
          },
          "description": "The tasks to be performed by the user. The `face_liveness` task can only be performed when the `document_scan` task is added. For the `face_match` task both the `document_scan` task and `face_liveness` task must be added."
        },
        "settings": {
          "$ref": "#/$defs/Settings"
        },
        "locale": {
          "$ref": "#/$defs/Locale",
          "description": "The language of the ID Scan process. Currently supports English, Dutch, French.",
          "default": "en-US"
        },
        "url": {
          "type": "string",
          "description": "The URL to start the transaction.",
          "readOnly": true
        },
        "mobileOnly": {
          "type": "boolean",
          "description": "When this is set to true, the user must complete the transaction on their mobile device.",
          "default": false
        },
        "returnUrl": {
          "type": "string",
          "description": "The URL to redirect the user to after the transaction is completed. The `trxid`, `state` and `resultid` will be added as a query parameter. If the URL is not set a default page is shown.",
          "default": null
        },
        "scanReturnUrl": {
          "type": "string",
          "description": "The URL to redirect the user to in case the transaction is transferred to a mobile device (by scanning the QR code) and the transaction is completed. The `trxid` and `state` will be added as a query parameter. If the URL is not set a default page is shown.",
          "default": null
        },
        "expires": {
          "type": "string",
          "format": "date-time",
          "description": "The date the transaction expires.",
          "readOnly": true
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "description": "The date the transaction was created.",
          "readOnly": true
        }
      },
      "required": [
        "tasks"
      ]
    },
    "TransactionState": {
      "type": "string",
      "description": "Current state of the transaction",
      "enum": [
        "pending",
        "completed",
        "failed"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/cm-com-create-transaction"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.