Skip to main content
POST
/
organizations
/
{orgId}
/
business-verification
Submit business verification
curl --request POST \
  --url https://api.helloannie.com/v1/organizations/{orgId}/business-verification \
  --header 'Content-Type: application/json' \
  --data '
{
  "business": {
    "legalBusinessName": "<string>",
    "ein": "<string>",
    "businessType": "llc",
    "dba": "<string>",
    "websiteUrl": "<string>",
    "address": {
      "addressLine1": "<string>",
      "city": "<string>",
      "state": "<string>",
      "zip": "<string>",
      "country": "US",
      "addressLine2": "<string>"
    }
  },
  "authorizedRepresentative": {
    "firstName": "<string>",
    "lastName": "<string>",
    "email": "<string>",
    "phone": "<string>",
    "businessTitle": "<string>",
    "jobPosition": "Director"
  },
  "messaging": {
    "documents": {
      "privacyPolicyUrl": "<string>",
      "termsAndConditionsUrl": "<string>",
      "patientIntakeFormUrl": "<string>"
    },
    "attestations": {
      "hasPrivacyPolicyOptIn": true,
      "hasTcpaCompliance": true
    }
  },
  "calling": {
    "cnamDisplayName": "<string>"
  }
}
'
import requests

url = "https://api.helloannie.com/v1/organizations/{orgId}/business-verification"

payload = {
"business": {
"legalBusinessName": "<string>",
"ein": "<string>",
"businessType": "llc",
"dba": "<string>",
"websiteUrl": "<string>",
"address": {
"addressLine1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"country": "US",
"addressLine2": "<string>"
}
},
"authorizedRepresentative": {
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phone": "<string>",
"businessTitle": "<string>",
"jobPosition": "Director"
},
"messaging": {
"documents": {
"privacyPolicyUrl": "<string>",
"termsAndConditionsUrl": "<string>",
"patientIntakeFormUrl": "<string>"
},
"attestations": {
"hasPrivacyPolicyOptIn": True,
"hasTcpaCompliance": True
}
},
"calling": { "cnamDisplayName": "<string>" }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
business: {
legalBusinessName: '<string>',
ein: '<string>',
businessType: 'llc',
dba: '<string>',
websiteUrl: '<string>',
address: {
addressLine1: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>',
country: 'US',
addressLine2: '<string>'
}
},
authorizedRepresentative: {
firstName: '<string>',
lastName: '<string>',
email: '<string>',
phone: '<string>',
businessTitle: '<string>',
jobPosition: 'Director'
},
messaging: {
documents: {
privacyPolicyUrl: '<string>',
termsAndConditionsUrl: '<string>',
patientIntakeFormUrl: '<string>'
},
attestations: {hasPrivacyPolicyOptIn: true, hasTcpaCompliance: true}
},
calling: {cnamDisplayName: '<string>'}
})
};

fetch('https://api.helloannie.com/v1/organizations/{orgId}/business-verification', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.helloannie.com/v1/organizations/{orgId}/business-verification",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'business' => [
'legalBusinessName' => '<string>',
'ein' => '<string>',
'businessType' => 'llc',
'dba' => '<string>',
'websiteUrl' => '<string>',
'address' => [
'addressLine1' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>',
'country' => 'US',
'addressLine2' => '<string>'
]
],
'authorizedRepresentative' => [
'firstName' => '<string>',
'lastName' => '<string>',
'email' => '<string>',
'phone' => '<string>',
'businessTitle' => '<string>',
'jobPosition' => 'Director'
],
'messaging' => [
'documents' => [
'privacyPolicyUrl' => '<string>',
'termsAndConditionsUrl' => '<string>',
'patientIntakeFormUrl' => '<string>'
],
'attestations' => [
'hasPrivacyPolicyOptIn' => true,
'hasTcpaCompliance' => true
]
],
'calling' => [
'cnamDisplayName' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.helloannie.com/v1/organizations/{orgId}/business-verification"

payload := strings.NewReader("{\n \"business\": {\n \"legalBusinessName\": \"<string>\",\n \"ein\": \"<string>\",\n \"businessType\": \"llc\",\n \"dba\": \"<string>\",\n \"websiteUrl\": \"<string>\",\n \"address\": {\n \"addressLine1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"country\": \"US\",\n \"addressLine2\": \"<string>\"\n }\n },\n \"authorizedRepresentative\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"businessTitle\": \"<string>\",\n \"jobPosition\": \"Director\"\n },\n \"messaging\": {\n \"documents\": {\n \"privacyPolicyUrl\": \"<string>\",\n \"termsAndConditionsUrl\": \"<string>\",\n \"patientIntakeFormUrl\": \"<string>\"\n },\n \"attestations\": {\n \"hasPrivacyPolicyOptIn\": true,\n \"hasTcpaCompliance\": true\n }\n },\n \"calling\": {\n \"cnamDisplayName\": \"<string>\"\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.helloannie.com/v1/organizations/{orgId}/business-verification")
.header("Content-Type", "application/json")
.body("{\n \"business\": {\n \"legalBusinessName\": \"<string>\",\n \"ein\": \"<string>\",\n \"businessType\": \"llc\",\n \"dba\": \"<string>\",\n \"websiteUrl\": \"<string>\",\n \"address\": {\n \"addressLine1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"country\": \"US\",\n \"addressLine2\": \"<string>\"\n }\n },\n \"authorizedRepresentative\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"businessTitle\": \"<string>\",\n \"jobPosition\": \"Director\"\n },\n \"messaging\": {\n \"documents\": {\n \"privacyPolicyUrl\": \"<string>\",\n \"termsAndConditionsUrl\": \"<string>\",\n \"patientIntakeFormUrl\": \"<string>\"\n },\n \"attestations\": {\n \"hasPrivacyPolicyOptIn\": true,\n \"hasTcpaCompliance\": true\n }\n },\n \"calling\": {\n \"cnamDisplayName\": \"<string>\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.helloannie.com/v1/organizations/{orgId}/business-verification")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"business\": {\n \"legalBusinessName\": \"<string>\",\n \"ein\": \"<string>\",\n \"businessType\": \"llc\",\n \"dba\": \"<string>\",\n \"websiteUrl\": \"<string>\",\n \"address\": {\n \"addressLine1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"country\": \"US\",\n \"addressLine2\": \"<string>\"\n }\n },\n \"authorizedRepresentative\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"businessTitle\": \"<string>\",\n \"jobPosition\": \"Director\"\n },\n \"messaging\": {\n \"documents\": {\n \"privacyPolicyUrl\": \"<string>\",\n \"termsAndConditionsUrl\": \"<string>\",\n \"patientIntakeFormUrl\": \"<string>\"\n },\n \"attestations\": {\n \"hasPrivacyPolicyOptIn\": true,\n \"hasTcpaCompliance\": true\n }\n },\n \"calling\": {\n \"cnamDisplayName\": \"<string>\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "success": true,
  "data": {
    "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "status": "missing_information",
    "canUpdate": true,
    "reason": "<string>",
    "issues": [
      {
        "field": "<string>",
        "code": "<string>",
        "message": "<string>"
      }
    ],
    "steps": {
      "businessProfile": {
        "status": "missing_information",
        "reason": "<string>",
        "providerStatus": "<string>"
      },
      "calling": {
        "status": "missing_information",
        "reason": "<string>",
        "providerStatus": "<string>"
      },
      "messaging": {
        "status": "missing_information",
        "reason": "<string>",
        "providerStatus": "<string>"
      }
    },
    "submittedAt": "2023-11-07T05:31:56Z",
    "reviewedAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}
{
"success": false,
"data": {},
"message": "<string>"
}
{
"success": false,
"data": {},
"message": "<string>"
}
{
"success": false,
"data": {},
"message": "<string>"
}
{
"success": false,
"data": {},
"message": "<string>"
}
{
"success": false,
"data": {},
"message": "<string>"
}

Path Parameters

orgId
string<uuid>
required

Organization ID

Body

Business verification proves the legal organization, responsible representative, calling identity, and messaging consent materials before Annie can complete carrier setup for calls and SMS. Submit this payload to create the org's single verification request or update it when the current status allows changes.

business
object
required

Legal business identity. Verification providers and carriers require this information to confirm the sender/caller is a real organization before approving telephony and messaging.

authorizedRepresentative
object
required

Person authorized to submit the business for provider/carrier verification.

messaging
object
required

Messaging registration details. Carriers require consent, terms, and privacy materials before approving application-to-person SMS traffic.

calling
object

Calling configuration tied to business verification. Calling setup lets outbound calls display a verified business identity.

Response

Response returned when submitting or checking business verification. Use the top-level status for product logic and steps/issues for user-facing detail.

success
enum<boolean>
required
Available options:
true
data
object
required

Business verification proves the legal organization, responsible representative, calling identity, and messaging consent materials before Annie can complete carrier setup for calls and SMS. This object is designed for polling after submission and for showing users what action, if any, is required.