Registration
Authentication
Section titled “Authentication”All API requests must include a universal API key as a bearer token in the Authorization header:
Authorization: Bearer YOUR_API_KEY_HEREIf the key is missing, invalid, inactive, or not a universal-typed key, the server will respond with a 401 or 403.
Base URL
Section titled “Base URL”https://api.outboundiq.cloud/registrationEndpoints
Section titled “Endpoints”Get Registration
Section titled “Get Registration”Returns the company’s saved registration in the same shape the submit endpoint accepts. Fields that have never been provided are omitted, and document slots are returned exactly as they were submitted.
- Method:
GET - URL:
/ - Headers:
Authorization: Bearer YOUR_API_KEY_HERE
Response:
type GetRegistrationResult = { success: boolean; // The saved registration, or null if nothing has been submitted yet. // Same shape as the Submit Registration body, with every field optional. registration: Partial<SubmitRegistration> | null; // Present on failure message?: string;};Submit Registration
Section titled “Submit Registration”Submits the company registration form. Submitting again updates the existing registration — fields you include overwrite the saved values, fields you omit are left unchanged, and sending an empty string clears a previously saved value.
- Method:
POST - URL:
/ - Headers:
Authorization: Bearer YOUR_API_KEY_HEREContent-Type: application/json
Body Schema:
type SubmitRegistration = { // --- Company information (required) --- // Company legal name companyName: string; businessCategory: BusinessCategory; ein: string; // Your ANI (caller ID number) provider aniProvider: string; companyPhone: string;
// --- Company information (optional) --- // DBA (Doing Business As) companyDba?: string; // Number of employees employees?: string; website?: string; // Required when businessCategory is "Insurance" or "Real Estate" insuranceLicenseNumber?: string;
// --- Company headquarters address (required) --- street: string; city: string; state: string; zip: string;
// --- Primary contact (required) --- contactFirstName: string; contactLastName: string; contactPhone: string; contactEmail: string;
// --- Primary contact (optional) --- contactTitle?: string;
// --- Hiya Connect portal (optional) --- // Fill these out if you want us to manage your Hiya Connect portal hiyaEmail?: string; hiyaPassword?: string; hiyaDuns?: string;
// --- Compliance contact (optional) --- // Who carriers should reach about compliance questions complianceContactName?: string; complianceContactEmail?: string; complianceContactPhone?: string;
// --- Business overview (optional) --- // Detailed description of your business, products, and services businessDescription?: string; callPurposes?: MultiSelect<CallPurpose>;
// --- Audience & lead sources (optional) --- targetAudience?: MultiSelect<TargetAudience>; leadSources?: MultiSelect<LeadSource>;
// --- Consent & compliance (optional) --- // How consumers provide consent to be contacted consumerConsentProcess?: string; // The complete customer journey before a consumer receives a call consumerJourney?: string; // Consumers expressly consent to calls callConsent?: boolean; // The consent language used (when callConsent is true) callConsentLanguage?: string; // Consumers expressly consent to SMS smsConsent?: boolean; // The SMS consent process (when smsConsent is true) smsConsentProcess?: string;
// --- Dialing, DNC & opt-out (optional) --- monthlyCallVolume?: MonthlyCallVolume; dialingMethods?: MultiSelect<DialingMethod>; // How DNC requests are handled dncHandlingProcess?: string; // How quickly DNC requests are honored, e.g. "Within 24 hours" dncHonorTimeframe?: string; // Opt-out process across all channels optOutProcess?: string;
// --- Recording & reputation (optional) --- callsRecorded?: boolean; // Call recording notification method (when callsRecorded is true) callRecordingNotification?: string; // Why calls may be incorrectly marked spam spamMisflagExplanation?: string; // Business reputation information businessReputationInfo?: string;
// --- Licensing & carrier info (optional) --- // Licensed / certified / regulated business isLicensed?: boolean; // Licensing details (when isLicensed is true) licensingDetails?: string; // Anything else carriers, analytics providers, or spam mitigation // partners should know about your business additionalCarrierInfo?: string;
// --- Supporting documents (optional) --- documents?: Documents;
// --- Certification (optional) --- // Certify that the information provided is accurate and complete certificationAgreed?: boolean; certificationName?: string; certificationTitle?: string; // Date in YYYY-MM-DD format certificationDate?: string; // Signature (typed name) signature?: string;};Multi-select fields:
type MultiSelect<Option> = { selected: Option[]; // Required when "other" is among the selected options — // explain your selection otherText?: string;};
type CallPurpose = | "leadFollowUp" | "existingCustomerService" | "appointmentScheduling" | "appointmentReminders" | "salesOutreach" | "customerRetention" | "mortgageServices" | "insuranceServices" | "healthcareServices" | "financialServices" | "collections" | "other";
type TargetAudience = | "existingCustomers" | "recentWebsiteInquiries" | "leadFormSubmissions" | "referralLeads" | "purchasedLeads" | "previousCustomers" | "prospectiveCustomers" | "currentApplicants" | "other";
type LeadSource = | "companyWebsite" | "landingPages" | "advertisingCampaigns" | "googleAds" | "facebookAds" | "affiliateMarketing" | "referralPartners" | "purchasedLeads" | "existingCustomerDatabase" | "socialMedia" | "other";
type DialingMethod = | "manualDialing" | "previewDialing" | "progressiveDialing" | "powerDialing" | "predictiveDialing" | "other";Single-select fields:
type BusinessCategory = | "Account Service" | "Attorney/Law" | "Financial Service" | "First Responder" | "Charity/Fundraising" | "Customer Service" | "Government" | "Healthcare/Hospital" | "Informational" | "Insurance" | "Other" | "Pharmacy/Medical Supply" | "Political/Campaign" | "Real Estate" | "Sales" | "School/College" | "Survey/Research" | "Telemarketing/Solicitations" | "Travel/Hospitality";
type MonthlyCallVolume = | "under10k" // Under 10,000 | "from10kTo50k" // 10,000 – 50,000 | "from50kTo100k" // 50,000 – 100,000 | "from100kTo500k" // 100,000 – 500,000 | "over500k"; // Over 500,000Documents:
Each document is provided as a publicly reachable https:// URL (max 512 characters). All slots are optional.
type Documents = { companyLogo?: string; termsAndConditions?: string; privacyPolicy?: string; sampleConsentLanguage?: string; // Example web form where consumers request contact exampleWebForm?: string; // Screenshot of the consent disclosure shown to consumers consentDisclosureScreenshot?: string; // Screenshot of the lead capture process leadCaptureScreenshot?: string; businessLicense?: string; industryCertifications?: string; sampleMarketingMaterial?: string; customerReviewReport?: string;};Response:
type SubmitRegistrationResult = { success: boolean; // Present on failure message?: string;};Status Codes
Section titled “Status Codes”| Code | Meaning |
|---|---|
200 | Registration fetched or saved. |
400 | Validation failed — a required field is missing, or a field value is invalid. |
401 | Missing, invalid, or inactive API key. |
403 | API key is not a universal-typed key. |
500 | The registration could not be saved. See message. |