# QubitOn API — Complete Tool Reference # https://www.qubiton.com # Generated from MCP tool registry (122 tools) > This file contains the complete schema for every tool in the QubitOn API. > For a summary, see: https://www.qubiton.com/llms.txt > OpenAPI spec: https://www.qubiton.com/api/portal/openapi.json ## Validation (42 tools) ### validate_address - **Title**: Address Validation - **Description**: Validate and standardize a physical mailing address. Returns corrected address components, deliverability status, and geocoding data. IMPORTANT: Always parse the user's freeform address into separate fields (addressLine1, city, state, postalCode, country). Derive the country from context (e.g. US state abbreviations or ZIP codes → US, UK postcodes → GB). For US addresses, always include city+state or postalCode — street alone will fail. Example: '7603 Braelands Dr, Houston TX 77071' → addressLine1='7603 Braelands Dr', city='Houston', state='TX', postalCode='77071', country='US'. - **Method**: POST - **Endpoint**: /api/address/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "addressLine1": { "description": "Street address only (number + street name). Parse from freeform input — do NOT include city/state/ZIP here.", "type": "string" }, "addressLine2": { "description": "Secondary address line (suite, apartment, floor)", "type": "string" }, "city": { "description": "City name. ALWAYS parse from the address if present — critical for US addresses.", "type": "string" }, "companyName": { "description": "Company name at this address", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 code (e.g. US, GB, DE). ALWAYS derive from address context — US state abbreviations or ZIP codes → US, UK postcodes → GB, etc.", "type": "string" }, "postalCode": { "description": "Postal/ZIP code. ALWAYS parse from the address if present — critical for US addresses.", "type": "string" }, "state": { "description": "State/province code (e.g. TX, CA, NC). ALWAYS parse from the address if present — critical for US addresses.", "type": "string" } }, "required": [ "country" ], "type": "object" } ``` ### validate_email - **Title**: Email Validation - **Description**: Validate an email address for deliverability and risk - **Method**: POST - **Endpoint**: /api/email/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "emailAddress": { "description": "Full email address to validate, e.g. user@example.com", "type": "string" } }, "required": [ "emailAddress" ], "type": "object" } ``` ### validate_phone - **Title**: Phone Validation - **Description**: Validate a phone number against carrier databases - **Method**: POST - **Endpoint**: /api/phone/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "country": { "description": "ISO 3166-1 alpha-2 country code. Derive from dialing code when present — e.g. +1 → US, +44 → GB, +49 → DE, +33 → FR, +91 → IN.", "type": "string" }, "phoneExtension": { "description": "Phone extension number", "type": "string" }, "phoneNumber": { "description": "Phone number to validate, e.g. +1-555-123-4567", "type": "string" } }, "required": [ "phoneNumber", "country" ], "type": "object" } ``` ### check_sanctions - **Title**: Sanctions Screening - **Description**: Screen a company against 100+ global sanctions and watchlists including OFAC, EU, and UN lists. Returns match details, list source, and match confidence score. Providing address details (addressLine1, city, state, postalCode) significantly improves match accuracy. - **Method**: POST - **Endpoint**: /api/prohibited/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "addressLine1": { "description": "Primary street address line — include if available, significantly improves match accuracy", "type": "string" }, "addressLine2": { "description": "Secondary address line", "type": "string" }, "city": { "description": "City or locality name — include if available for better matching", "type": "string" }, "companyName": { "description": "Legal entity name to screen against sanctions lists", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code. Derive from address or company context if not stated.", "type": "string" }, "postalCode": { "description": "Postal or ZIP code", "type": "string" }, "state": { "description": "State, province, or region", "type": "string" } }, "required": [ "companyName", "country" ], "type": "object" } ``` ### screen_pep - **Title**: PEP Screening - **Description**: Screen against Politically Exposed Person databases - **Method**: POST - **Endpoint**: /api/pep/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US, GB, DE", "type": "string" }, "name": { "description": "Name of the person or entity to screen", "type": "string" } }, "required": [ "name", "country" ], "type": "object" } ``` ### check_directors - **Title**: Disqualified Directors Check - **Description**: Check for disqualified directors - **Method**: POST - **Endpoint**: /api/disqualifieddirectors/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US, GB, AU", "type": "string" }, "firstName": { "description": "Director's first name", "type": "string" }, "lastName": { "description": "Director's last name", "type": "string" }, "middlename": { "description": "Director's middle name for more precise matching", "type": "string" } }, "required": [ "firstName", "lastName", "country" ], "type": "object" } ``` ### check_epa_prosecution - **Title**: EPA Prosecution Check - **Description**: Screen against EPA criminal prosecution records - **Method**: POST - **Endpoint**: /api/criminalprosecution/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "fiscalYear": { "description": "Fiscal year to filter results (e.g. 2024). If omitted, returns results across all years.", "type": "string" }, "name": { "description": "Name of person or entity to screen", "type": "string" }, "state": { "description": "2-character US state code, e.g. NY, CA", "type": "string" } }, "required": [], "type": "object" } ``` ### lookup_epa_prosecution - **Title**: EPA Prosecution Lookup - **Description**: Look up EPA criminal prosecution details - **Method**: POST - **Endpoint**: /api/criminalprosecution/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "fiscalYear": { "description": "Fiscal year to filter results (e.g. 2024). If omitted, returns results across all years.", "type": "string" }, "name": { "description": "Name of person or entity to look up", "type": "string" }, "state": { "description": "2-character US state code, e.g. NY, CA", "type": "string" } }, "required": [], "type": "object" } ``` ### check_healthcare_exclusion - **Title**: Healthcare Exclusion Check - **Description**: Screen against healthcare provider exclusion lists - **Method**: POST - **Endpoint**: /api/providerexclusion/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "address": { "description": "Street address", "type": "string" }, "city": { "description": "City", "type": "string" }, "entityName": { "description": "Entity/organization name", "type": "string" }, "firstName": { "description": "First name for individual providers", "type": "string" }, "healthCareType": { "description": "Healthcare type: HCO (organization) or HCP (individual provider)", "enum": [ "HCO", "HCP" ], "type": "string" }, "lastName": { "description": "Last name for individual providers", "type": "string" }, "state": { "description": "2-character US state code, e.g. NY, CA", "type": "string" }, "zipCode": { "description": "5-digit US ZIP code", "type": "string" } }, "required": [ "healthCareType" ], "type": "object" } ``` ### lookup_healthcare_exclusion - **Title**: Healthcare Exclusion Lookup - **Description**: Look up healthcare provider exclusion details - **Method**: POST - **Endpoint**: /api/providerexclusion/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "address": { "description": "Street address", "type": "string" }, "city": { "description": "City", "type": "string" }, "entityName": { "description": "Entity/organization name", "type": "string" }, "firstName": { "description": "First name for individual providers", "type": "string" }, "healthCareType": { "description": "Healthcare type: HCO (organization) or HCP (individual provider)", "enum": [ "HCO", "HCP" ], "type": "string" }, "lastName": { "description": "Last name for individual providers", "type": "string" }, "state": { "description": "2-character US state code, e.g. NY, CA", "type": "string" }, "zipCode": { "description": "5-digit US ZIP code", "type": "string" } }, "required": [ "healthCareType" ], "type": "object" } ``` ### lookup_credit_analysis - **Title**: Credit Analysis - **Description**: Perform credit analysis on a business entity. Returns credit score, payment behavior, and credit limit recommendations. Requires companyName, addressLine1, city, state, and country. Alternatively, provide dunsNumber for a direct match. - **Method**: POST - **Endpoint**: /api/creditanalysis/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "addressLine1": { "description": "Primary street address", "type": "string" }, "addressLine2": { "description": "Secondary address line", "type": "string" }, "city": { "description": "City name", "type": "string" }, "companyName": { "description": "Company name", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US, GB, DE", "type": "string" }, "dunsNumber": { "description": "DUNS number for direct match", "type": "string" }, "postalCode": { "description": "Postal or ZIP code", "type": "string" }, "state": { "description": "State or province", "type": "string" } }, "required": [ "companyName", "addressLine1", "city", "state", "country" ], "type": "object" } ``` ### lookup_esg_score - **Title**: ESG Score Lookup - **Description**: Look up ESG (Environmental, Social, Governance) scores - **Method**: POST - **Endpoint**: /api/esg/Scores - **Read-only**: yes - **Input Schema**: ```json { "properties": { "companyName": { "description": "Legal entity name to look up", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US, GB, DE", "type": "string" }, "domain": { "description": "Company website domain for improved matching, e.g. example.com", "type": "string" } }, "required": [ "companyName", "country" ], "type": "object" } ``` ### check_ip_quality - **Title**: IP Quality Check - **Description**: Check IP address quality and fraud risk - **Method**: POST - **Endpoint**: /api/ipquality/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "ipAddress": { "description": "IP address to check, e.g. 192.168.1.1 or 2001:db8::1", "type": "string" }, "userAgent": { "description": "User agent string for enhanced detection", "type": "string" } }, "required": [ "ipAddress" ], "type": "object" } ``` ### lookup_beneficial_ownership - **Title**: Beneficial Ownership Lookup - **Description**: Look up beneficial ownership for corporate transparency - **Method**: POST - **Endpoint**: /api/beneficialownership/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "companyName": { "description": "Company name to look up", "type": "string" }, "countryIso2": { "description": "ISO 3166-1 alpha-2 country code (49 countries with dedicated coverage, global fallback for others)", "type": "string" }, "maxLayers": { "description": "Maximum layers to traverse in ownership chain", "type": "number" }, "uboThreshold": { "description": "UBO threshold percentage, e.g. 25", "type": "number" } }, "required": [ "companyName", "countryIso2" ], "type": "object" } ``` ### lookup_corporate_hierarchy - **Title**: Corporate Hierarchy Lookup - **Description**: Look up corporate hierarchy and ownership structure for a US company. US only — all five parameters are required: companyName, addressLine1, city, state, and zipCode. - **Method**: POST - **Endpoint**: /api/corporatehierarchy/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "addressLine1": { "description": "Primary street address (2-35 characters)", "type": "string" }, "city": { "description": "City name (2-28 characters)", "type": "string" }, "companyName": { "description": "Company name (2-50 characters)", "type": "string" }, "state": { "description": "US state abbreviation, exactly 2 characters, e.g. NY, CA", "type": "string" }, "zipCode": { "description": "5-digit US ZIP code, e.g. 10001", "type": "string" } }, "required": [ "companyName", "addressLine1", "city", "state", "zipCode" ], "type": "object" } ``` ### lookup_duns_number - **Title**: DUNS Number Lookup - **Description**: Look up a DUNS number for company identification - **Method**: POST - **Endpoint**: /api/duns-number-lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "dunsNumber": { "description": "DUNS number to look up, e.g. 123456789", "type": "string" } }, "required": [ "dunsNumber" ], "type": "object" } ``` ### lookup_hierarchy - **Title**: Parent-Child Hierarchy Lookup - **Description**: Look up company parent-child hierarchy - **Method**: POST - **Endpoint**: /api/company/hierarchy/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "country": { "description": "ISO 3166-1 alpha-2 country code", "type": "string" }, "identifier": { "description": "Company identifier value, e.g. a DUNS number", "type": "string" }, "identifierType": { "description": "Type of identifier: DUNS, EIN, etc.", "type": "string" }, "options": { "description": "Lookup options", "type": "string" } }, "required": [ "identifier", "identifierType" ], "type": "object" } ``` ### validate_npi - **Title**: NPI Validation - **Description**: Validate US National Provider Identifier (NPI) - **Method**: POST - **Endpoint**: /api/nationalprovideridentifier/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "firstName": { "description": "First name for individual provider matching", "type": "string" }, "lastName": { "description": "Last name for individual provider matching", "type": "string" }, "middleName": { "description": "Middle name for individual provider matching", "type": "string" }, "npi": { "description": "10-digit NPI number to validate, e.g. 1234567890", "type": "string" }, "organizationName": { "description": "Organization name for matching", "type": "string" } }, "required": [ "npi" ], "type": "object" } ``` ### validate_medpass - **Title**: Medpass Validation - **Description**: Validate healthcare supplier via Medpass - **Method**: POST - **Endpoint**: /api/medpass/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "addressLine1": { "description": "Primary street address", "type": "string" }, "addressLine2": { "description": "Secondary address line", "type": "string" }, "businessEntityType": { "description": "Business entity type. Valid values: Corporation, LLC, Individual, Partnership, Non-Profit, Government", "type": "string" }, "city": { "description": "City", "type": "string" }, "companyName": { "description": "Company name", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code", "type": "string" }, "id": { "description": "Unique company identifier (numeric ID from the Medpass database)", "type": "string" }, "postalCode": { "description": "Postal or ZIP code", "type": "string" }, "state": { "description": "State or province", "type": "string" }, "taxId": { "description": "Tax ID number", "type": "string" } }, "required": [ "id", "businessEntityType" ], "type": "object" } ``` ### lookup_dot_carrier - **Title**: DOT Motor Carrier Lookup - **Description**: Look up DOT/FMCSA motor carrier safety data - **Method**: POST - **Endpoint**: /api/dot/fmcsa/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "dotNumber": { "description": "USDOT number to look up (numeric, typically 6-9 digits, e.g. 1234567)", "type": "string" }, "entityName": { "description": "Entity name for matching", "type": "string" } }, "required": [ "dotNumber" ], "type": "object" } ``` ### validate_india_identity - **Title**: India Identity Validation - **Description**: Validate Indian identity numbers (PAN, Aadhaar, GSTIN, TAN, CIN) - **Method**: POST - **Endpoint**: /api/inidentity/validate - **Read-only**: yes - **Input Schema**: ```json { "description": "Indian Driver Licence and Voter Registration validation only. DO NOT call for PAN, Aadhaar, GSTIN, TAN, or CIN — for those use validate_tax (or validate_tax_format for format-only) with country=IN and the appropriate taxType.", "properties": { "dob": { "description": "Date of birth in YYYY-MM-DD format", "type": "string" }, "entityName": { "description": "Entity name for matching", "type": "string" }, "identityNumber": { "description": "DL or Voter ID number to validate", "type": "string" }, "identityNumberType": { "description": "Identity document type. ONLY these two are accepted by this tool — for PAN/Aadhaar/GSTIN/TAN/CIN call validate_tax instead.", "enum": [ "Driver License", "Voter Registration" ], "type": "string" } }, "required": [ "identityNumber", "identityNumberType" ], "type": "object" } ``` ### validate_certification - **Title**: Certification Validation - **Description**: Validate a business certification - **Method**: POST - **Endpoint**: /api/certification/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "addressLine1": { "description": "Primary street address", "type": "string" }, "addressLine2": { "description": "Secondary address line", "type": "string" }, "certificationGroup": { "description": "Certification group", "type": "string" }, "certificationNumber": { "description": "Certification number", "type": "string" }, "certificationType": { "description": "Certification type, e.g. MBE, WBE, DBE", "type": "string" }, "city": { "description": "City", "type": "string" }, "companyName": { "description": "Company name", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US", "type": "string" }, "identityType": { "description": "Identity type for company matching (e.g., TIN, EIN, VAT, GST, ABN)", "type": "string" }, "state": { "description": "State or province", "type": "string" }, "zipCode": { "description": "Postal or ZIP code", "type": "string" } }, "required": [ "companyName", "country" ], "type": "object" } ``` ### lookup_certification - **Title**: Certification Lookup - **Description**: Look up business certifications (diversity, small business) - **Method**: POST - **Endpoint**: /api/certification/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "addressLine1": { "description": "Primary street address", "type": "string" }, "addressLine2": { "description": "Secondary address line", "type": "string" }, "city": { "description": "City", "type": "string" }, "companyName": { "description": "Company name", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US", "type": "string" }, "identityType": { "description": "Identity type for company matching (e.g., TIN, EIN, VAT, GST, ABN)", "type": "string" }, "state": { "description": "State or province", "type": "string" }, "zipCode": { "description": "Postal or ZIP code", "type": "string" } }, "required": [ "companyName", "country" ], "type": "object" } ``` ### lookup_business_classification - **Title**: Business Classification Lookup - **Description**: Look up NAICS/SIC business classification codes - **Method**: POST - **Endpoint**: /api/businessclassification/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "address1": { "description": "Primary street address", "type": "string" }, "address2": { "description": "Secondary address line", "type": "string" }, "city": { "description": "City name", "type": "string" }, "companyName": { "description": "Company name", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US, GB, DE", "type": "string" }, "phone": { "description": "Phone number", "type": "string" }, "postalCode": { "description": "Postal or ZIP code", "type": "string" }, "state": { "description": "State or province", "type": "string" } }, "required": [ "companyName", "city", "state", "country" ], "type": "object" } ``` ### analyze_payment_terms - **Title**: Payment Terms Analysis - **Description**: Analyze payment terms for optimization and early-pay discounts - **Method**: POST - **Endpoint**: /api/paymentterms/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "annualSpend": { "description": "Annual spend amount with this vendor", "type": "number" }, "avgDaysPay": { "description": "Average number of days to pay invoices for this vendor", "type": "number" }, "country": { "description": "ISO 3166-1 alpha-2 country code", "type": "string" }, "currentPayTerm": { "description": "Current payment term in days, e.g. 30", "type": "number" }, "savingsRate": { "description": "Annual savings rate as a percentage (0-100), e.g. 2.5 for 2.5%", "type": "number" }, "threshold": { "description": "Minimum annual spend threshold (in dollars) below which optimization is not recommended", "type": "number" }, "vendorName": { "description": "Vendor name", "type": "string" } }, "required": [ "currentPayTerm", "annualSpend", "avgDaysPay", "savingsRate", "threshold" ], "type": "object" } ``` ### lookup_supplier_profile - **Title**: Supplier Profile Lookup - **Description**: Look up SAP Ariba supplier profile - **Method**: POST - **Endpoint**: /api/aribasupplierprofile/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "anid": { "description": "Ariba Network ID (ANID) of the supplier", "type": "string" } }, "required": [ "anid" ], "type": "object" } ``` ### validate_supplier_profile - **Title**: Supplier Profile Validation - **Description**: Validate SAP Ariba supplier profile - **Method**: POST - **Endpoint**: /api/aribasupplierprofile/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "anid": { "description": "Ariba Network ID (ANID) of the supplier", "type": "string" } }, "required": [ "anid" ], "type": "object" } ``` ### identify_gender - **Title**: Gender Identification - **Description**: Identify gender from a person's name - **Method**: POST - **Endpoint**: /api/genderize/identifygender - **Read-only**: yes - **Input Schema**: ```json { "properties": { "country": { "description": "ISO 3166-1 alpha-2 country code for localized prediction", "type": "string" }, "name": { "description": "First name to analyze", "type": "string" } }, "required": [ "name" ], "type": "object" } ``` ### validate_business_registration - **Title**: Business Registration Lookup - **Description**: Look up a company's business registration records. Returns legal name, entity type, registration date, and registered agent. For US and CA lookups, always provide the state parameter — registrations are managed at the state/province level. - **Method**: POST - **Endpoint**: /api/businessregistration/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "city": { "description": "City name to further narrow results", "type": "string" }, "companyName": { "description": "Legal entity name to look up", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US, GB, DE", "type": "string" }, "state": { "description": "State or province code — REQUIRED for US and CA (e.g. DE, CA, NY, ON). Optional for other countries.", "type": "string" } }, "required": [ "companyName", "country" ], "type": "object" } ``` ### check_bankruptcy_risk - **Title**: Bankruptcy Risk Check - **Description**: Check if a company has filed for or is in bankruptcy proceedings. Returns bankruptcy status, filing dates, and risk score. Both companyName and country are required. - **Method**: POST - **Endpoint**: /api/risk/riskcontrol - **Read-only**: yes - **Input Schema**: ```json { "properties": { "companyName": { "description": "Legal entity name to check", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US, GB, DE", "type": "string" } }, "required": [ "companyName", "country" ], "type": "object" } ``` ### lookup_credit_score - **Title**: Credit Score Lookup - **Description**: Look up commercial credit score and financial stability - **Method**: POST - **Endpoint**: /api/risk/riskcontrol - **Read-only**: yes - **Input Schema**: ```json { "properties": { "companyName": { "description": "Legal entity name to look up", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US, GB, DE", "type": "string" } }, "required": [ "companyName", "country" ], "type": "object" } ``` ### lookup_fail_rate - **Title**: Fail Rate Lookup - **Description**: Look up payment failure rate and risk classification - **Method**: POST - **Endpoint**: /api/risk/riskcontrol - **Read-only**: yes - **Input Schema**: ```json { "properties": { "companyName": { "description": "Legal entity name to look up", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code, e.g. US, GB, DE", "type": "string" } }, "required": [ "companyName", "country" ], "type": "object" } ``` ### validate_tax - **Title**: Tax ID Validation - **Description**: Validate a tax identification number against government authority databases (60+ countries). Provide companyName for full authority validation; omit it for format-only validation. - **Method**: POST - **Endpoint**: /api/tax/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "businessEntityType": { "description": "Business entity classification, e.g. LLC, Corporation, Partnership", "type": "string" }, "companyName": { "description": "Legal entity name to match against tax authority records", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code. Derive from tax ID prefix when possible — e.g. GB prefix → GB, DE prefix → DE.", "type": "string" }, "taxNumber": { "description": "Tax identification number to validate, e.g. 12-3456789 for US EIN", "type": "string" }, "taxType": { "description": "Type of tax ID: EIN, VAT, GST, TIN, ABN, etc. Derive from format when clear — e.g. XX-XXXXXXX → EIN, GBXXXXXXXXX → VAT, DEXXXXXXXXX → VAT.", "type": "string" } }, "required": [ "taxNumber", "taxType", "country", "companyName" ], "type": "object" } ``` ### validate_tax_format - **Title**: Tax ID Format Validation - **Description**: Tax ID format validation — regex + 20 checksum algorithms for 193 countries, 242 tax types. 61 countries also have live authority-backed validation across 52 unique tax types. - **Method**: POST - **Endpoint**: /api/tax/format-validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "country": { "description": "ISO 3166-1 alpha-2 country code. Derive from tax ID prefix when possible — e.g. GB prefix → GB, DE prefix → DE.", "type": "string" }, "taxNumber": { "description": "Tax identification number to validate, e.g. 12-3456789 for US EIN", "type": "string" }, "taxType": { "description": "Type of tax ID: EIN, VAT, GST, TIN, ABN, CNPJ, PAN, etc. Derive from format when clear — e.g. XX-XXXXXXX → EIN, GBXXXXXXXXX → VAT.", "type": "string" } }, "required": [ "taxNumber", "taxType", "country" ], "type": "object" } ``` ### detect_tax_format - **Title**: Tax ID Format Detection - **Description**: Auto-detect the country and tax type from a tax identification number. Returns possible matches with confidence levels. Useful when the user provides a tax number without specifying the type or country. - **Method**: POST - **Endpoint**: /api/tax/format-validate/detect - **Read-only**: yes - **Input Schema**: ```json { "properties": { "taxNumber": { "description": "Tax identification number to auto-detect, e.g. GB123456789, 12-3456789, DE123456789", "type": "string" } }, "required": [ "taxNumber" ], "type": "object" } ``` ### validate_bank_account - **Title**: Bank Account Validation - **Description**: Validate bank accounts across 180+ countries — IBAN, SWIFT/BIC, routing numbers (ABA, sort code, BSB, IFSC, CLABE), account verification. - **Method**: POST - **Endpoint**: /api/bank/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "accountNumber": { "description": "Bank account number", "type": "string" }, "bankAccountHolder": { "description": "Account holder's full name", "type": "string" }, "bankCode": { "description": "Bank routing number (US/CA: 9 digits), sort code (UK/IE: 6 digits), or country-specific bank code", "type": "string" }, "businessEntityType": { "description": "Entity type: Individual or Business. Default to 'Business' unless context clearly indicates an individual.", "type": "string" }, "businessName": { "description": "Business legal name, if applicable", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 code. Derive from IBAN prefix (e.g. GB29... → GB, DE89... → DE) or routing number format (9-digit → US).", "type": "string" }, "iban": { "description": "International Bank Account Number for non-US accounts", "type": "string" }, "swiftCode": { "description": "SWIFT/BIC code for international wire transfers", "type": "string" }, "taxIdNumber": { "description": "Tax identification number for account holder verification", "type": "string" }, "taxType": { "description": "Type of tax ID: EIN, VAT, GST, etc.", "type": "string" } }, "required": [ "businessEntityType", "country", "bankAccountHolder" ], "type": "object" } ``` ### validate_bankpro - **Title**: BankPro Validation - **Description**: Premium bank account analytics — ownership verification, confidence scoring, risk assessment, fraud indicators. - **Method**: POST - **Endpoint**: /api/bankaccount/pro/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "accountNumber": { "description": "Bank account number", "type": "string" }, "bankAccountHolder": { "description": "Account holder's full name", "type": "string" }, "bankCode": { "description": "Bank routing number (US/CA: 9 digits), sort code (UK/IE: 6 digits), or country-specific bank code", "type": "string" }, "businessEntityType": { "description": "Entity type: Individual or Business", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2, alpha-3, or full country name", "type": "string" }, "iban": { "description": "International Bank Account Number", "type": "string" }, "swiftCode": { "description": "SWIFT/BIC code", "type": "string" } }, "required": [ "businessEntityType", "country", "bankAccountHolder" ], "type": "object" } ``` ### assess_entity_risk - **Title**: Entity Risk Assessment - **Description**: Adverse-media / ESG news risk lookup for an entity (returns risk score, adverse media findings, fraud indicators). NOT a KYC / due-diligence tool — for entity vetting use the QubEx prompt or the QubEx tool dispatch (sanctions, PEP, business registration, certification). Country resolution uses entityAddresses; the optional countryOfIncorporation field is reflected on the response but does NOT drive risk geography on its own. - **Method**: POST - **Endpoint**: /api/entity/fraud/lookup - **Read-only**: yes - **Input Schema**: ```json { "properties": { "businessEntityType": { "description": "Business entity classification, e.g. LLC, Corporation. Default to corporation for companies if unsure.", "type": "string" }, "category": { "description": "Risk category to focus on", "enum": [ "Financial", "Operational", "Geographic", "Reputational", "Regulatory" ], "type": "string" }, "companyName": { "description": "Company name to assess", "type": "string" }, "countryOfIncorporation": { "description": "ISO 3166-1 alpha-2 country of incorporation, e.g. US, GB, DE. Reflected on the response; does not drive risk geography by itself.", "type": "string" }, "url": { "description": "Company website URL for improved matching — include if known", "type": "string" } }, "required": [ "companyName" ], "type": "object" } ``` ### lookup_exchange_rates - **Title**: Exchange Rate Lookup - **Description**: Look up currency exchange rates for specific dates - **Method**: POST - **Endpoint**: /api/currency/exchange-rates/{baseCurrency} - **Read-only**: yes - **Input Schema**: ```json { "properties": { "baseCurrency": { "description": "Base currency ISO 4217 code, e.g. USD, EUR, GBP. Sent as a URL path parameter, not in the body.", "type": "string" }, "dates": { "description": "One or more ISO-8601 dates to look up rates for, e.g. [\"2024-01-15\", \"2024-02-15\"]. Sent as the JSON request body.", "items": { "description": "ISO-8601 date, e.g. 2024-01-15", "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "baseCurrency", "dates" ], "type": "object" } ``` ### domain_security_report - **Title**: Domain Security Report - **Description**: Assess domain cybersecurity posture and threat intelligence. Returns security ratings, SSL/TLS status, and threat indicators. - **Method**: POST - **Endpoint**: /api/itsecurity/domainreport - **Read-only**: yes - **Input Schema**: ```json { "properties": { "domainName": { "description": "Fully qualified domain name to assess, e.g. example.com", "type": "string" } }, "required": [ "domainName" ], "type": "object" } ``` ### lookup_known_vendor - **Title**: QubitOn Known Vendor Lookup - **Description**: Look up an entity in the QubitOn known-vendor database (~300M supplier records aggregated from buying organisations). Returns whether the supplier is present and any matched records — useful as a first-pass identity anchor before running deeper validation or screening checks. - **Method**: POST - **Endpoint**: /api/qubitonknownentity/validate - **Read-only**: yes - **Input Schema**: ```json { "description": "Look up an entity in the QubitOn known-vendor database (~300M supplier records). Returns whether the supplier is present and any matched records. Useful as a first-pass identity anchor before deeper KYC checks (QubEx prompt step 0).", "properties": { "clientName": { "description": "Optional: scope the search to a specific client's vendor list", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2, alpha-3, or full country name (resolved server-side)", "type": "string" }, "entityName": { "description": "Legal vendor / customer / partner name to look up", "type": "string" }, "taxNumber": { "description": "Tax ID number (PAN, EIN, VAT, etc.) — significantly improves match precision", "type": "string" } }, "required": [ "entityName", "country" ], "type": "object" } ``` ### validate_peppol - **Title**: Peppol Participant ID Validation - **Description**: Validate a Peppol participant ID. Checks format (ICD:identifier) and optionally verifies against the live Peppol Directory. Supports 70+ ISO 6523 ICD schemes across 40+ countries. - **Method**: POST - **Endpoint**: /api/peppol/validate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "directoryLookup": { "description": "Whether to verify against the live Peppol Directory (true) or only check format (false). Default: true", "type": "boolean" }, "participantId": { "description": "Peppol participant ID in ICD:identifier format, e.g. '0192:997049309' (Norwegian org)", "type": "string" } }, "required": [ "participantId" ], "type": "object" } ``` ## Reference (8 tools) ### get_supported_tax_formats - **Title**: Supported Tax Formats - **Description**: List all supported country + tax type combinations for tax format validation. Returns 193 countries and 242 tax types (20 checksum algorithms) with format descriptions, checksum availability, example formats, and whether real authority validation exists. 61 countries have live authority-backed validation across 85 entries (52 unique tax types). - **Method**: GET - **Endpoint**: /api/tax/format-validate/countries - **Read-only**: yes ### get_peppol_schemes - **Title**: Peppol Supported ICD Schemes - **Description**: List all supported Peppol ICD (International Code Designator) schemes. Returns 70+ schemes across 40+ countries with scheme names, descriptions, and validation rules. - **Method**: GET - **Endpoint**: /api/peppol/schemes - **Read-only**: yes - **Input Schema**: ```json { "properties": {}, "required": [], "type": "object" } ``` ### country_lookup - **Title**: Country Lookup - **Description**: Look up country information by name or ISO code. Returns ISO alpha-2/3, numeric code, currency, phone code, region, and which QubitOn APIs support it. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "query": { "description": "Country name, ISO alpha-2 code, or ISO alpha-3 code", "type": "string" } }, "required": [ "query" ], "type": "object" } ``` ### iban_format_check - **Title**: IBAN Format Check - **Description**: Validate an IBAN's structure offline (country prefix, length, check digits). For full bank account validation, use validate_bank_account. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "iban": { "description": "IBAN to validate", "type": "string" } }, "required": [ "iban" ], "type": "object" } ``` ### industry_codes - **Title**: Industry Code Lookup - **Description**: Look up NAICS or SIC industry classification codes by code number or keyword search. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "query": { "description": "NAICS/SIC code number or keyword to search", "type": "string" }, "system": { "description": "Classification system (default: naics)", "enum": [ "naics", "sic" ], "type": "string" } }, "required": [ "query" ], "type": "object" } ``` ### supported_countries - **Title**: Supported Countries - **Description**: List which countries are supported by a specific QubitOn API capability, or find which APIs support a specific country. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "api": { "description": "API name to check country support for", "type": "string" }, "country": { "description": "Country name or ISO code to find supported APIs for", "type": "string" } }, "type": "object" } ``` ### api_catalog_search - **Title**: API Catalog Search - **Description**: Search the QubitOn API catalog by keyword, category, or use case. Returns matching APIs with descriptions. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "category": { "description": "Filter by category: Validation, Compliance, Risk, Corporate, Identity, ESG, Supply Chain", "type": "string" }, "query": { "description": "Search keyword or phrase", "type": "string" } }, "required": [ "query" ], "type": "object" } ``` ### field_reference - **Title**: API Field Reference - **Description**: Get documentation for request/response fields of a specific QubitOn API endpoint. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "api": { "description": "API tool name (e.g., validate_address, validate_tax, validate_bank_account, check_sanctions)", "type": "string" } }, "required": [ "api" ], "type": "object" } ``` ## Subscriber Portal (49 tools) ### list_api_keys - **Title**: List API Keys - **Description**: List all API keys for your account with status and metadata - **Method**: GET - **Endpoint**: /api/portal/keys - **Read-only**: yes ### get_key_ip_allowlist - **Title**: Get Key IP Allowlist - **Description**: Get the IP allowlist for a specific API key - **Method**: GET - **Endpoint**: /api/portal/keys/{id}/allowed-ips - **Read-only**: yes - **Input Schema**: ```json { "properties": { "id": { "description": "API key ID", "type": "string" } }, "required": [ "id" ], "type": "object" } ``` ### get_current_plan - **Title**: Get Current Plan - **Description**: Get your current subscription plan details including quota and limits - **Method**: GET - **Endpoint**: /api/portal/subscription/current - **Read-only**: yes ### list_plans - **Title**: List Plans - **Description**: List all available subscription plans with pricing and features - **Method**: GET - **Endpoint**: /api/portal/subscription/plans - **Read-only**: yes ### get_plan_apis - **Title**: Get Plan APIs - **Description**: Get the list of APIs included in your current plan - **Method**: GET - **Endpoint**: /api/portal/subscription/plan-apis - **Read-only**: yes ### calculate_price - **Title**: Calculate Price - **Description**: Calculate pricing for a plan based on estimated volume and billing period - **Method**: POST - **Endpoint**: /api/portal/subscription/calculate-price - **Read-only**: yes - **Input Schema**: ```json { "properties": { "billingPeriod": { "description": "Billing period: monthly or annual", "type": "string" }, "estimatedVolume": { "description": "Estimated monthly API call volume", "type": "number" }, "planId": { "description": "Plan ID to calculate pricing for", "type": "string" } }, "required": [ "planId" ], "type": "object" } ``` ### calculate_roi - **Title**: Calculate ROI - **Description**: Calculate return on investment for using QubitOn APIs vs manual processes - **Method**: POST - **Endpoint**: /api/portal/roi/calculate - **Read-only**: yes - **Input Schema**: ```json { "properties": { "errorRate": { "description": "Current error rate as percentage (0-100)", "type": "number" }, "manualCostPerRecord": { "description": "Current manual cost per record in USD", "type": "number" }, "recordsPerMonth": { "description": "Number of records processed per month", "type": "number" }, "useCase": { "description": "Use case: vendor_onboarding, kyc, data_quality, compliance", "type": "string" } }, "required": [ "recordsPerMonth", "manualCostPerRecord" ], "type": "object" } ``` ### list_subscriptions - **Title**: List Subscriptions - **Description**: List all your subscriptions including active and expired - **Method**: GET - **Endpoint**: /api/portal/subscriptions/all - **Read-only**: yes ### get_usage_summary - **Title**: Get Usage Summary - **Description**: Get a summary of API usage including quota, trend, projection, and warning level - **Method**: GET - **Endpoint**: /api/portal/subscription/usage/summary - **Read-only**: yes ### get_usage - **Title**: Get Usage - **Description**: Get detailed API usage records for a specified time range - **Method**: GET - **Endpoint**: /api/portal/subscription/usage - **Read-only**: yes - **Input Schema**: ```json { "properties": { "endDate": { "description": "End date in YYYY-MM-DD format", "type": "string" }, "groupBy": { "description": "Group results by: day, week, month, api", "type": "string" }, "startDate": { "description": "Start date in YYYY-MM-DD format", "type": "string" } }, "type": "object" } ``` ### get_usage_history - **Title**: Get Usage History - **Description**: Get historical usage data over time for trend analysis - **Method**: GET - **Endpoint**: /api/portal/subscription/usage/history - **Read-only**: yes - **Input Schema**: ```json { "properties": { "endDate": { "description": "End date in YYYY-MM-DD format", "type": "string" }, "period": { "description": "Time period: 7d, 30d, 90d, 1y", "type": "string" }, "startDate": { "description": "Start date in YYYY-MM-DD format", "type": "string" } }, "type": "object" } ``` ### get_usage_per_key - **Title**: Get Usage Per Key - **Description**: Get usage breakdown by individual API key - **Method**: GET - **Endpoint**: /api/portal/subscription/usage/per-key - **Read-only**: yes - **Input Schema**: ```json { "properties": { "endDate": { "description": "End date in YYYY-MM-DD format", "type": "string" }, "startDate": { "description": "Start date in YYYY-MM-DD format", "type": "string" } }, "type": "object" } ``` ### export_usage - **Title**: Export Usage - **Description**: Export usage data as downloadable CSV or JSON - **Method**: GET - **Endpoint**: /api/portal/subscription/usage/export - **Read-only**: yes - **Input Schema**: ```json { "properties": { "endDate": { "description": "End date in YYYY-MM-DD format", "type": "string" }, "format": { "description": "Export format: csv or json", "type": "string" }, "startDate": { "description": "Start date in YYYY-MM-DD format", "type": "string" } }, "type": "object" } ``` ### get_mcp_usage - **Title**: Get MCP Usage - **Description**: Get MCP-specific usage analytics including tool call counts - **Method**: GET - **Endpoint**: /api/portal/subscription/mcp-usage - **Read-only**: yes ### get_overview_stats - **Title**: Get Overview Stats - **Description**: Get dashboard overview statistics for your account - **Method**: GET - **Endpoint**: /api/portal/stats/overview - **Read-only**: yes ### get_request_logs - **Title**: Get Request Logs - **Description**: Get per-request logs with filtering by status, endpoint, and time range. Supports pagination via page and pageSize parameters. - **Method**: GET - **Endpoint**: /api/portal/logs - **Read-only**: yes - **Input Schema**: ```json { "properties": { "endDate": { "description": "End date in YYYY-MM-DD format", "type": "string" }, "endpoint": { "description": "Filter by API endpoint path", "type": "string" }, "page": { "description": "Page number (default: 1)", "type": "number" }, "pageSize": { "description": "Results per page (default: 20, max: 100)", "type": "number" }, "startDate": { "description": "Start date in YYYY-MM-DD format", "type": "string" }, "status": { "description": "Filter by HTTP status: success, error, or a specific code like 200, 401", "type": "string" } }, "type": "object" } ``` ### get_subscription_logs - **Title**: Get Subscription Logs - **Description**: Get aggregated subscription-level logs - **Method**: GET - **Endpoint**: /api/portal/subscription/logs - **Read-only**: yes ### get_error_summary - **Title**: Get Error Summary - **Description**: Get a summary of recent API errors grouped by type and endpoint - **Method**: GET - **Endpoint**: /api/portal/errors/summary - **Read-only**: yes ### get_recent_errors - **Title**: Get Recent Errors - **Description**: Get detailed information about recent API errors for debugging - **Method**: GET - **Endpoint**: /api/portal/errors/recent - **Read-only**: yes ### get_rate_limits - **Title**: Get Rate Limits - **Description**: Get current rate limit status and remaining quota per endpoint - **Method**: GET - **Endpoint**: /api/portal/rate-limits - **Read-only**: yes ### get_billing - **Title**: Get Billing - **Description**: Get current billing information including plan, period, and charges - **Method**: GET - **Endpoint**: /api/portal/billing/current - **Read-only**: yes ### get_invoices - **Title**: Get Invoices - **Description**: Get invoice history with amounts, dates, and download links - **Method**: GET - **Endpoint**: /api/portal/billing/invoices - **Read-only**: yes ### get_payment_method - **Title**: Get Payment Method - **Description**: Get the current payment method on file - **Method**: GET - **Endpoint**: /api/portal/billing/payment-method - **Read-only**: yes ### list_webhooks - **Title**: List Webhooks - **Description**: List all configured webhooks and their status - **Method**: GET - **Endpoint**: /api/portal/webhooks - **Read-only**: yes ### get_webhook_deliveries - **Title**: Get Webhook Deliveries - **Description**: Get delivery history for a webhook including success/failure status - **Method**: GET - **Endpoint**: /api/portal/webhooks/{webhookId}/deliveries - **Read-only**: yes - **Input Schema**: ```json { "properties": { "webhookId": { "description": "Webhook ID to get deliveries for", "type": "string" } }, "required": [ "webhookId" ], "type": "object" } ``` ### list_alerts - **Title**: List Alerts - **Description**: List all configured alert rules for usage thresholds and errors - **Method**: GET - **Endpoint**: /api/portal/alerts - **Read-only**: yes ### get_team - **Title**: Get Team - **Description**: Get your team members and their roles - **Method**: GET - **Endpoint**: /api/portal/team - **Read-only**: yes ### get_team_subscription - **Title**: Get Team Subscription - **Description**: Get the shared team subscription details - **Method**: GET - **Endpoint**: /api/portal/team/subscription - **Read-only**: yes ### get_profile - **Title**: Get Profile - **Description**: Get your account profile information - **Method**: GET - **Endpoint**: /api/portal/account/profile - **Read-only**: yes ### get_connected_accounts - **Title**: Get Connected Accounts - **Description**: Get OAuth providers linked to your account - **Method**: GET - **Endpoint**: /api/portal/account/connected - **Read-only**: yes ### get_notifications - **Title**: Get Notifications - **Description**: Get your notification items including alerts and system messages - **Method**: GET - **Endpoint**: /api/portal/notifications/items - **Read-only**: yes ### get_unread_count - **Title**: Get Unread Count - **Description**: Get the count of unread notifications - **Method**: GET - **Endpoint**: /api/portal/notifications/unread-count - **Read-only**: yes ### get_activity_log - **Title**: Get Activity Log - **Description**: Get audit log of account actions (logins, key changes, plan upgrades) - **Method**: GET - **Endpoint**: /api/portal/activity - **Read-only**: yes ### create_api_key - **Title**: Create API Key - **Description**: Create a new API key for accessing QubitOn APIs - **Method**: POST - **Endpoint**: /api/portal/keys - **Input Schema**: ```json { "properties": { "name": { "description": "Display name for the API key, e.g. 'Production', 'Staging'", "type": "string" } }, "required": [ "name" ], "type": "object" } ``` ### rotate_api_key - **Title**: Rotate API Key - **Description**: Rotate an API key to generate a new key value - **Method**: POST - **Endpoint**: /api/portal/keys/{id}/rotate - **Input Schema**: ```json { "properties": { "id": { "description": "API key ID to rotate", "type": "string" } }, "required": [ "id" ], "type": "object" } ``` ### revoke_api_key - **Title**: Revoke API Key - **Description**: Permanently revoke an API key - **Method**: POST - **Endpoint**: /api/portal/keys/{id}/revoke - **Destructive**: yes - **Input Schema**: ```json { "properties": { "id": { "description": "API key ID to revoke — this is permanent and cannot be undone", "type": "string" } }, "required": [ "id" ], "type": "object" } ``` ### set_key_ip_allowlist - **Title**: Set Key IP Allowlist - **Description**: Set the IP allowlist to restrict which IPs can use an API key - **Method**: PUT - **Endpoint**: /api/portal/keys/{id}/allowed-ips - **Input Schema**: ```json { "properties": { "id": { "description": "API key ID", "type": "string" }, "ips": { "description": "List of allowed IP addresses or CIDR ranges, e.g. ['203.0.113.0/24', '198.51.100.5']. Empty array removes all restrictions.", "items": { "type": "string" }, "type": "array" } }, "required": [ "id", "ips" ], "type": "object" } ``` ### create_webhook - **Title**: Create Webhook - **Description**: Create a new webhook to receive event notifications - **Method**: POST - **Endpoint**: /api/portal/webhooks - **Input Schema**: ```json { "properties": { "events": { "description": "Event types to subscribe to: usage.threshold, usage.quota_exceeded, key.created, key.revoked, key.rotated, subscription.upgraded, subscription.downgraded, subscription.expired, invoice.created, payment.failed, team.member_added, team.member_removed", "items": { "type": "string" }, "type": "array" }, "secret": { "description": "Shared secret for HMAC-SHA256 signature verification (auto-generated if omitted)", "type": "string" }, "url": { "description": "HTTPS URL that will receive webhook POST requests", "type": "string" } }, "required": [ "url", "events" ], "type": "object" } ``` ### update_webhook - **Title**: Update Webhook - **Description**: Update an existing webhook's URL, events, or status - **Method**: PUT - **Endpoint**: /api/portal/webhooks/{id} - **Input Schema**: ```json { "properties": { "active": { "description": "Enable (true) or disable (false) the webhook", "type": "boolean" }, "events": { "description": "Updated event types to subscribe to", "items": { "type": "string" }, "type": "array" }, "id": { "description": "Webhook ID to update", "type": "string" }, "url": { "description": "New HTTPS URL", "type": "string" } }, "required": [ "id" ], "type": "object" } ``` ### delete_webhook - **Title**: Delete Webhook - **Description**: Delete a webhook and stop receiving notifications - **Method**: DELETE - **Endpoint**: /api/portal/webhooks/{id} - **Destructive**: yes - **Input Schema**: ```json { "properties": { "id": { "description": "Webhook ID to delete — this is permanent", "type": "string" } }, "required": [ "id" ], "type": "object" } ``` ### test_webhook - **Title**: Test Webhook - **Description**: Send a test event to a webhook to verify delivery - **Method**: POST - **Endpoint**: /api/portal/webhooks/{id}/test - **Input Schema**: ```json { "properties": { "id": { "description": "Webhook ID to send a test event to", "type": "string" } }, "required": [ "id" ], "type": "object" } ``` ### create_alert - **Title**: Create Alert - **Description**: Create a new alert rule for threshold notifications - **Method**: POST - **Endpoint**: /api/portal/alerts - **Input Schema**: ```json { "properties": { "metric": { "description": "Metric to monitor: usage_percent, error_rate, latency_p95, daily_calls", "type": "string" }, "name": { "description": "Display name for the alert rule", "type": "string" }, "operator": { "description": "Comparison operator: gt (greater than), lt (less than), eq (equal)", "type": "string" }, "threshold": { "description": "Threshold value that triggers the alert", "type": "number" } }, "required": [ "metric", "operator", "threshold" ], "type": "object" } ``` ### update_alert - **Title**: Update Alert - **Description**: Update an existing alert rule's threshold or notification settings - **Method**: PUT - **Endpoint**: /api/portal/alerts/{id} - **Input Schema**: ```json { "properties": { "enabled": { "description": "Enable (true) or disable (false) the alert", "type": "boolean" }, "id": { "description": "Alert rule ID to update", "type": "string" }, "metric": { "description": "Updated metric to monitor", "type": "string" }, "name": { "description": "Updated display name", "type": "string" }, "operator": { "description": "Updated comparison operator", "type": "string" }, "threshold": { "description": "Updated threshold value", "type": "number" } }, "required": [ "id" ], "type": "object" } ``` ### delete_alert - **Title**: Delete Alert - **Description**: Delete an alert rule - **Method**: DELETE - **Endpoint**: /api/portal/alerts/{id} - **Destructive**: yes - **Input Schema**: ```json { "properties": { "id": { "description": "Alert rule ID to delete", "type": "string" } }, "required": [ "id" ], "type": "object" } ``` ### invite_team_member - **Title**: Invite Team Member - **Description**: Invite a new member to your team by email - **Method**: POST - **Endpoint**: /api/portal/team/invite - **Input Schema**: ```json { "properties": { "email": { "description": "Email address of the person to invite", "type": "string" }, "role": { "description": "Role to assign: member or admin", "type": "string" } }, "required": [ "email" ], "type": "object" } ``` ### remove_team_member - **Title**: Remove Team Member - **Description**: Remove a member from your team - **Method**: DELETE - **Endpoint**: /api/portal/team/members - **Destructive**: yes - **Input Schema**: ```json { "properties": { "memberId": { "description": "Team member ID to remove", "type": "string" } }, "required": [ "memberId" ], "type": "object" } ``` ### update_profile - **Title**: Update Profile - **Description**: Update your account profile (name, company) - **Method**: PUT - **Endpoint**: /api/portal/account/profile - **Input Schema**: ```json { "properties": { "company": { "description": "Company or organization name", "type": "string" }, "firstName": { "description": "First name", "type": "string" }, "lastName": { "description": "Last name", "type": "string" } }, "type": "object" } ``` ### mark_notifications_read - **Title**: Mark Notifications Read - **Description**: Mark specific notifications as read - **Method**: POST - **Endpoint**: /api/portal/notifications/read - **Input Schema**: ```json { "properties": { "notificationIds": { "description": "List of notification IDs to mark as read", "items": { "type": "string" }, "type": "array" } }, "required": [ "notificationIds" ], "type": "object" } ``` ### test_mcp_connection - **Title**: Test MCP Connection - **Description**: Test MCP server connectivity and list available tools/prompts/resources - **Method**: POST - **Endpoint**: /api/portal/mcp/test ## Utility (10 tools) ### calculator - **Title**: Calculator - **Description**: Evaluate a mathematical expression. Supports +, -, *, /, ^, %, parentheses, and common functions (sqrt, abs, ceil, floor, round, log, log10, sin, cos, tan, pi, e). Example: '(100 * 12) + 50 * 0.08' - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "expression": { "description": "Math expression to evaluate", "type": "string" } }, "required": [ "expression" ], "type": "object" } ``` ### date_calculator - **Title**: Date Calculator - **Description**: Calculate date differences, add/subtract days, or convert between time zones. Operations: 'diff' (between two dates), 'add' (add days to a date), 'now' (current time in a timezone), 'business_days' (count business days between dates) - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "date": { "description": "Date in YYYY-MM-DD format", "type": "string" }, "date2": { "description": "Second date for diff/business_days operations", "type": "string" }, "days": { "description": "Number of days to add (negative to subtract)", "type": "number" }, "operation": { "description": "Operation to perform", "enum": [ "diff", "add", "now", "business_days" ], "type": "string" }, "timezone": { "description": "Timezone name (e.g., 'America/New_York', 'Europe/London', 'UTC')", "type": "string" } }, "required": [ "operation" ], "type": "object" } ``` ### json_formatter - **Title**: JSON Formatter - **Description**: Format, validate, or minify a JSON string. Returns formatted JSON or validation errors. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "action": { "description": "Action to perform (default: format)", "enum": [ "format", "minify", "validate" ], "type": "string" }, "json": { "description": "JSON string to format or validate", "type": "string" } }, "required": [ "json" ], "type": "object" } ``` ### jwt_decoder - **Title**: JWT Decoder - **Description**: Decode a JWT token and display its header and payload claims. Does NOT verify the signature — this is a utility decoder for inspection only. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "token": { "description": "JWT token to decode", "type": "string" } }, "required": [ "token" ], "type": "object" } ``` ### uuid_generator - **Title**: UUID Generator - **Description**: Generate one or more cryptographically random UUIDv4 values. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "count": { "description": "Number of UUIDs to generate (1-20, default: 1)", "type": "integer" } }, "type": "object" } ``` ### base64_codec - **Title**: Base64 Encode/Decode - **Description**: Encode a string to Base64, or decode a Base64 string. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "action": { "description": "Action to perform", "enum": [ "encode", "decode" ], "type": "string" }, "input": { "description": "String to encode or Base64 string to decode", "type": "string" } }, "required": [ "input", "action" ], "type": "object" } ``` ### hash_generator - **Title**: Hash Generator - **Description**: Generate cryptographic hashes (SHA-256, SHA-512, MD5) for a given input string. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "algorithm": { "description": "Hash algorithm (default: sha256)", "enum": [ "sha256", "sha512", "md5" ], "type": "string" }, "input": { "description": "String to hash", "type": "string" } }, "required": [ "input" ], "type": "object" } ``` ### regex_tester - **Title**: Regex Tester - **Description**: Test a regular expression against an input string. Returns all matches and capture groups. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "input": { "description": "String to test against", "type": "string" }, "pattern": { "description": "Regular expression pattern", "type": "string" } }, "required": [ "pattern", "input" ], "type": "object" } ``` ### url_encoder - **Title**: URL Encode/Decode - **Description**: URL-encode or URL-decode a string. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "action": { "description": "Action to perform", "enum": [ "encode", "decode" ], "type": "string" }, "input": { "description": "String to encode/decode", "type": "string" } }, "required": [ "input", "action" ], "type": "object" } ``` ### currency_converter - **Title**: Currency Converter - **Description**: Convert between currencies using approximate exchange rates. Rates are indicative only — for live rates, use the lookup_exchange_rates tool. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "amount": { "description": "Amount to convert", "type": "number" }, "from": { "description": "Source currency code (e.g., USD, EUR, GBP)", "type": "string" }, "to": { "description": "Target currency code", "type": "string" } }, "required": [ "amount", "from", "to" ], "type": "object" } ``` ## Developer (8 tools) ### generate_curl - **Title**: Generate cURL Command - **Description**: Generate a ready-to-use cURL command for calling any QubitOn API endpoint. Includes proper headers, authentication, and request body. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "api": { "description": "API tool name (e.g., 'validate_address', 'validate_tax', 'check_sanctions', 'validate_bank_account')", "type": "string" }, "apiKey": { "description": "API key placeholder (default: YOUR_API_KEY)", "type": "string" }, "baseUrl": { "description": "Base URL (default: https://api.qubiton.com)", "type": "string" }, "params": { "description": "Request parameters to include in the body", "type": "object" } }, "required": [ "api" ], "type": "object" } ``` ### generate_code_snippet - **Title**: Generate Code Snippet - **Description**: Generate a code snippet for calling a QubitOn API in Python, JavaScript/Node.js, Go, C#, Java, or Ruby. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "api": { "description": "API tool name (e.g., 'validate_address', 'validate_tax', 'check_sanctions')", "type": "string" }, "language": { "description": "Programming language", "enum": [ "python", "javascript", "go", "csharp", "java", "ruby" ], "type": "string" }, "params": { "description": "Example request parameters", "type": "object" } }, "required": [ "api", "language" ], "type": "object" } ``` ### generate_webhook_payload - **Title**: Generate Webhook Payload - **Description**: Generate a sample webhook event payload for a specific event type to help test your webhook endpoint. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "event": { "description": "Webhook event type", "enum": [ "usage.threshold", "usage.quota_exceeded", "key.created", "key.revoked", "key.rotated", "subscription.upgraded", "subscription.downgraded", "subscription.expired", "invoice.created", "payment.failed", "team.member_added", "team.member_removed" ], "type": "string" } }, "required": [ "event" ], "type": "object" } ``` ### explain_error_code - **Title**: Explain Error Code - **Description**: Explain an HTTP status code or QubitOn-specific error code, including common causes and how to fix it. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "code": { "description": "HTTP status code (e.g., 401, 403, 429)", "type": "integer" }, "message": { "description": "Error message from the API response (optional, for more specific advice)", "type": "string" } }, "required": [ "code" ], "type": "object" } ``` ### search_docs - **Title**: Search Documentation - **Description**: Search QubitOn API documentation by keyword. Returns matching API descriptions, endpoints, and usage information. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "query": { "description": "Search keyword or phrase", "type": "string" } }, "required": [ "query" ], "type": "object" } ``` ### compare_plans - **Title**: Compare Plans - **Description**: Compare QubitOn subscription plans side by side — pricing, quotas, features, and included APIs. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "plans": { "description": "Plan names to compare (e.g., ['Free', 'Starter', 'Professional']). Leave empty for all plans.", "items": { "type": "string" }, "type": "array" } }, "type": "object" } ``` ### build_api_request - **Title**: Build API Request - **Description**: Build a complete API request (URL, headers, body) for a QubitOn API endpoint. Validates parameters and shows what will be sent. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "api": { "description": "API tool name (e.g., 'validate_address', 'validate_tax')", "type": "string" }, "params": { "description": "Request parameters", "type": "object" } }, "required": [ "api", "params" ], "type": "object" } ``` ### search_changelog - **Title**: Search Changelog - **Description**: Search QubitOn portal release notes and changelog entries by keyword or date. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "query": { "description": "Search keyword (e.g., 'bank', 'MCP', 'rate limit')", "type": "string" } }, "required": [ "query" ], "type": "object" } ``` ## Analytics (5 tools) ### cost_estimator - **Title**: Cost Estimator - **Description**: Estimate monthly and annual cost based on projected API call volume. Recommends the best plan and shows overage costs. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "apis": { "description": "Which APIs you plan to use (optional, for plan selection)", "items": { "type": "string" }, "type": "array" }, "monthlyVolume": { "description": "Estimated number of API calls per month", "type": "integer" } }, "required": [ "monthlyVolume" ], "type": "object" } ``` ### usage_forecast - **Title**: Usage Forecast - **Description**: Project future API usage based on current consumption. Predicts when you'll hit quota and suggests actions. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "currentUsage": { "description": "Current API calls used this period", "type": "integer" }, "daysElapsed": { "description": "Days elapsed in current billing period", "type": "integer" }, "daysInPeriod": { "description": "Total days in billing period (default: 30)", "type": "integer" }, "previousMonthly": { "description": "Previous months' usage (most recent first) for trend analysis", "items": { "type": "integer" }, "type": "array" }, "quota": { "description": "Monthly quota limit", "type": "integer" } }, "required": [ "currentUsage", "quota", "daysElapsed" ], "type": "object" } ``` ### quota_calculator - **Title**: Quota Calculator - **Description**: Calculate daily API call budget to stay within quota, remaining capacity, and burst limits. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "currentUsage": { "description": "API calls used so far this period", "type": "integer" }, "daysRemaining": { "description": "Days remaining in billing period", "type": "integer" }, "quota": { "description": "Monthly quota limit", "type": "integer" }, "rateLimit": { "description": "Rate limit (requests per minute)", "type": "integer" } }, "required": [ "quota", "currentUsage", "daysRemaining" ], "type": "object" } ``` ### compliance_advisor - **Title**: Compliance Advisor - **Description**: Recommend which QubitOn APIs to use for specific compliance requirements (KYC, AML, SOX, GDPR, OFAC, etc.). - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "industry": { "description": "Your industry (optional, for tailored recommendations): finance, healthcare, government, manufacturing, technology", "type": "string" }, "requirement": { "description": "Compliance requirement or use case (e.g., 'KYC', 'AML', 'vendor onboarding', 'SOX compliance', 'GDPR', 'OFAC screening')", "type": "string" } }, "required": [ "requirement" ], "type": "object" } ``` ### integration_advisor - **Title**: Integration Advisor - **Description**: Get architecture recommendations for integrating QubitOn APIs based on your tech stack and use case. - **Method**: - **Endpoint**: - **Read-only**: yes - **Input Schema**: ```json { "properties": { "dataCount": { "description": "Number of records to process (for batch recommendations)", "type": "integer" }, "stack": { "description": "Your tech stack (e.g., 'Python + AWS Lambda', '.NET + Azure', 'Node.js + Express')", "type": "string" }, "useCase": { "description": "Integration use case: real-time, batch, event-driven, MCP agent", "type": "string" }, "volume": { "description": "Expected volume: low (\u003c1K/mo), medium (1K-10K/mo), high (10K-100K/mo), very high (100K+/mo)", "type": "string" } }, "required": [ "useCase" ], "type": "object" } ```