Local Brand Identification
This article describe how to upload Proof of Address image that confirms your address of registration. For example, a utility bill.
Step-by-step process of upload Proof of Address image with API.
To upload there are a few steps:
- List all kyc-forms: Australian kyc-formID is 4d74e9c0-3f3b-4d5f-8983-b343ecac3986
- Get upload token: This action gets info to upload image to bucket.
- Upload proof of address image: This action submits image to bucket.
- Link Proof Of Address information: This action links Proof Of Address.
- Link Local Brand Identification: This action links Brand identification.
1- List all kyc-forms
GET
/kyc-forms
List KYC forms
Parametri di query
limit
integer
Limits the number of results to return.
reverse
boolean
Reverses the order in which the results are returned.
pageToken
string
The cursor that keeps track of the current position in the results.
countryCode
string
Filter KYC forms by target country.
scope
string
Filter KYC forms by scope.
Possible values: number, organization, channel
Payload della risposta
nextPageToken
string
The token to fetch the next page of results. If empty, there are no more results to fetch.
results
array of object
obbligatorio
Mostra attributi secondari
results.conditions
object
results.countryCode
string
results.createdAt
string
obbligatorio
results.defaultLocale
string
obbligatorio
results.gracePeriodDays
integer
results.id
string
obbligatorio
results.name
string
obbligatorio
results.questions
array of object
obbligatorio
Mostra attributi secondari
results.questions.locale
string
obbligatorio
results.questions.questions
array of object
obbligatorio
Mostra attributi secondari
results.questions.questions.conditions
array of object
Mostra attributi secondari
results.questions.questions.conditions.key
string
results.questions.questions.conditions.value
string
results.questions.questions.description
string
results.questions.questions.displayName
string
obbligatorio
results.questions.questions.format
string
obbligatorio
Possible values: none
results.questions.questions.key
string
obbligatorio
results.questions.questions.mapping
string
Map the answer to a contact attribute. If not set, the answer will not be mapped.
results.questions.questions.options
array of object
Mostra attributi secondari
results.questions.questions.options.key
string
results.questions.questions.options.value
string
results.questions.questions.placeholder
string
results.questions.questions.required
boolean
results.questions.questions.timezone
string
results.questions.questions.type
string
obbligatorio
Possible values: bool, boolArray, intArray, float, floatArray
results.questions.questions.formQuestionConfig
object
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringDatetimeConfig
object
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringDatetimeConfig.allowTimezoneSelectionByUser
boolean
results.questions.questions.formQuestionConfig.stringDatetimeConfig.datetimeRange
object
obbligatorio
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringDatetimeConfig.datetimeRange.type
string
Possible values: any, future, past
results.questions.questions.formQuestionConfig.stringDatetimeConfig.defaultTimezone
string
results.questions.questions.formQuestionConfig.stringDatetimeConfig.includeTime
boolean
results.questions.questions.formQuestionConfig.stringDatetimeConfig.localeOverride
string
results.questions.questions.formQuestionConfig.stringDatetimeConfig.timeFormat
string
Possible values: am-pm, 24h
results.questions.questions.formQuestionConfig.stringDatetimeConfig.timePlaceholder
string
results.questions.questions.formQuestionConfig.type
string
Possible values: stringDatetime
results.questions.questions.formQuestionConfig.stringMsisdnConfig
object
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringMsisdnConfig.defaultCountryCode
string
obbligatorio
results.questions.questions.formQuestionConfig.type
string
Possible values: stringMsisdn
results.questions.questions.formQuestionConfig.stringEmojiConfig
object
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringEmojiConfig.options
array of object
obbligatorio
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringEmojiConfig.options.emoji
string
obbligatorio
results.questions.questions.formQuestionConfig.stringEmojiConfig.options.text
string
obbligatorio
results.questions.questions.formQuestionConfig.type
string
Possible values: stringEmoji
results.questions.questions.formQuestionConfig.stringEnumConfig
object
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringEnumConfig.allowedValues
array of object
obbligatorio
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringEnumConfig.allowedValues.displayName
string
obbligatorio
results.questions.questions.formQuestionConfig.stringEnumConfig.allowedValues.imageUrl
string
results.questions.questions.formQuestionConfig.stringEnumConfig.allowedValues.value
string
obbligatorio
results.questions.questions.formQuestionConfig.stringEnumConfig.columns
integer
results.questions.questions.formQuestionConfig.stringEnumConfig.cornerRadius
string
Possible values: none, normal, full
results.questions.questions.formQuestionConfig.stringEnumConfig.optionSize
string
Possible values: small, medium, large
results.questions.questions.formQuestionConfig.stringEnumConfig.showLabels
boolean
results.questions.questions.formQuestionConfig.stringEnumConfig.singleSelect
boolean
results.questions.questions.formQuestionConfig.stringEnumConfig.withImages
boolean
results.questions.questions.formQuestionConfig.type
string
Possible values: stringEnum
results.questions.questions.formQuestionConfig.stringS3ObjectConfig
object
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringS3ObjectConfig.allowedMimeType
string
obbligatorio
Allowed type to upload. Supports wildcards.
results.questions.questions.formQuestionConfig.stringS3ObjectConfig.maxFileSize
integer
obbligatorio
results.questions.questions.formQuestionConfig.stringS3ObjectConfig.templateFileUrl
string
URL to a template file that can be downloaded by the user and uploaded back.
results.questions.questions.formQuestionConfig.type
string
Possible values: stringS3Object
results.questions.questions.formQuestionConfig.stringCustomConfig
object
Mostra attributi secondari
results.questions.questions.formQuestionConfig.stringCustomConfig.message
string
Validation message to show when validation fails.
results.questions.questions.formQuestionConfig.stringCustomConfig.regexp
string
obbligatorio
Regular expression to validate the input against.
results.questions.questions.formQuestionConfig.stringCustomConfig.title
string
obbligatorio
Validation title.
results.questions.questions.formQuestionConfig.type
string
Possible values: stringCustom
results.questions.questions.ui:type
string
hint the UI what form to show if type isn't sufficient
Possible values: shortText, longText, dropdown, radio, checkboxSelect
results.scope
string
obbligatorio
Possible values: number, organization, channel
results.status
string
obbligatorio
Possible values: draft, active, deactivated
results.updatedAt
string
obbligatorio
Esempio di codice
curl -X GET 'https://api.bird.com/kyc-forms' \
-H 'Authorization: AccessKey YOUR_ACCESS_KEY'2- Get upload token
POST
/organizations/{organizationId}/kyc-forms/{kycFormId}/files
Generate a pre-signed token that allows a user to upload a file in response to a question.
Payload della richiesta
key
string
obbligatorio
The question key to upload the file for.
Payload della risposta
url
string
obbligatorio
URL to post the image to
formData
object
obbligatorio
expectedFields
array of string
Esempio di codice
curl -X POST 'https://api.bird.com/organizations/{organizationId}/kyc-forms/{kycFormId}/files' \
-H 'Authorization: AccessKey YOUR_ACCESS_KEY'Example request
Esempio di codice
POST https://api.bird.com/organizations/{organizationId}/kyc-forms/4d74e9c0-3f3b-4d5f-8983-b343ecac3986/files
Example body request
Esempio di codice
{
"key":"proofOfAddress"
}3- Upload proof of Address image
Example request
Esempio di codice
POST https://global--kyc-file-uploads--151603429280--use1.s3.us-east-1.amazonaws.com
Example body form-data request
acl text requiredbucket text requiredkey text requiredpolicy text requiredx-amz-algorithm text requiredx-amz-credential text requiredx-amz-date text requiredx-amz-security-token text requiredx-amz-signature text requiredContent-Type text requiredfile File required
4- Link Proof Of Address information
POST
/organizations/{organizationId}/kyc-forms/{kycFormId}/entries
Create KYC Form Entry
Payload della richiesta
locale
string
obbligatorio
answers
array of object
obbligatorio
Mostra parametri secondari
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueString
string
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueStringArray
array of string
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueBoolean
boolean
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueBooleanArray
array of boolean
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueInteger
number
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueIntegerArray
array of number
obbligatorio
answers.floatValue
number
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.floatValueArray
array of number
answers.isDefault
boolean
answers.key
string
obbligatorio
status
string
The status of the form entry.
Possible values: draft, submitted, approved, rejected, expired
displayName
string
locale
string
obbligatorio
businessProfileId
string
obbligatorio
The ID of an existing Business Profile.
status
string
The status of the form entry.
Possible values: draft, submitted, approved, rejected, expired
displayName
string
Payload della risposta
answers
array of object
obbligatorio
Mostra attributi secondari
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueString
string
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueStringArray
array of string
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueBoolean
boolean
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueBooleanArray
array of boolean
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueInteger
number
obbligatorio
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.valueIntegerArray
array of number
obbligatorio
answers.floatValue
number
answers.isDefault
boolean
answers.key
string
obbligatorio
answers.floatValueArray
array of number
answers.isDefault
boolean
answers.key
string
obbligatorio
businessProfileId
string
The ID of an existing Business Profile.
businessProfileVersion
integer
The version of the Business Profile.
createdAt
string
obbligatorio
displayName
string
formId
string
obbligatorio
id
string
obbligatorio
locale
string
obbligatorio
organizationId
string
obbligatorio
reviewComment
string
status
string
obbligatorio
The status of the form entry.
Possible values: draft, submitted, approved, rejected, expired
tags
array of object
Mostra attributi secondari
tags.key
string
obbligatorio
tags.value
string
obbligatorio
updatedAt
string
obbligatorio
Esempio di codice
curl -X POST 'https://api.bird.com/organizations/{organizationId}/kyc-forms/{kycFormId}/entries' \
-H 'Authorization: AccessKey YOUR_ACCESS_KEY'Example request
organizationId string - uuid required
Esempio di codice
POST https://api.bird.com/organizations/{organizationsId}/kyc-forms/4d74e9c0-3f3b-4d5f-8983-b343ecac3986/entries
Example body request
Path parameters
organizationId string - uuid required
proofOfAddress string - uuid required
Esempio di codice
{
"locale": "en",
"answers": [
{
"key": "proofOfAddress",
"valueString": "https://global--kyc-file-uploads--151603429280--use1.s3.us-east-1.amazonaws.com/organization:{organizationId}/kycForm:4d74e9c0-3f3b-4d5f-8983-b343ecac3986/question:proofOfAddress/{proofOfAddressId}"
}
],
"status": "submitted"
}proofOfAddressId in (2- Get upload token) response
5- Link Local Brand identification
PUT
/workspaces/{workspaceId}/endpoints/{endpointId}/compliance-requirements/{requirementName}
Update a specific compliance requirement for an endpoint. An example of requirement name is use-case-sms, kyc-form, brand (general brand identification) and brand:nl (specific, country-level brand identification requirement).
Payload della richiesta
formId
string
formEntryId
string
type
string
obbligatorio
Possible values: kyc-form
useCaseId
string
type
string
obbligatorio
Possible values: use-case
brandId
string
campaignId
string
type
string
obbligatorio
Possible values: ten-dlc
Payload della risposta
status
string
obbligatorio
Possible values: satisfied, pending, unsatisfied
mutable
boolean
obbligatorio
immutableReason
string
Possible values: managed, dependency, none
message
string
evaluatedAt
string
issues
array of string
userId
string
name
string
obbligatorio
type
string
obbligatorio
Possible values: kyc-form
capabilities
array of string
obbligatorio
destinations
array of string
managedBy
string
appliesTo
string
Specifies whether this requirement applies to endpoint-level or destination-level evaluation. Empty means both.
Possible values: endpoint, destination
forms
array of object
Mostra attributi secondari
forms.conditions
object
forms.countryCode
string
forms.createdAt
string
obbligatorio
forms.defaultLocale
string
obbligatorio
forms.gracePeriodDays
integer
forms.id
string
obbligatorio
forms.name
string
obbligatorio
forms.questions
array of object
obbligatorio
Mostra attributi secondari
forms.questions.locale
string
obbligatorio
forms.questions.questions
array of object
obbligatorio
Mostra attributi secondari
forms.questions.questions.conditions
array of object
Mostra attributi secondari
forms.questions.questions.conditions.key
string
forms.questions.questions.conditions.value
string
forms.questions.questions.description
string
forms.questions.questions.displayName
string
obbligatorio
forms.questions.questions.format
string
obbligatorio
Possible values: none
forms.questions.questions.key
string
obbligatorio
forms.questions.questions.mapping
string
Map the answer to a contact attribute. If not set, the answer will not be mapped.
forms.questions.questions.options
array of object
Mostra attributi secondari
forms.questions.questions.options.key
string
forms.questions.questions.options.value
string
forms.questions.questions.placeholder
string
forms.questions.questions.required
boolean
forms.questions.questions.timezone
string
forms.questions.questions.type
string
obbligatorio
Possible values: bool, boolArray, intArray, float, floatArray
forms.questions.questions.formQuestionConfig
object
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringDatetimeConfig
object
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringDatetimeConfig.allowTimezoneSelectionByUser
boolean
forms.questions.questions.formQuestionConfig.stringDatetimeConfig.datetimeRange
object
obbligatorio
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringDatetimeConfig.datetimeRange.type
string
Possible values: any, future, past
forms.questions.questions.formQuestionConfig.stringDatetimeConfig.defaultTimezone
string
forms.questions.questions.formQuestionConfig.stringDatetimeConfig.includeTime
boolean
forms.questions.questions.formQuestionConfig.stringDatetimeConfig.localeOverride
string
forms.questions.questions.formQuestionConfig.stringDatetimeConfig.timeFormat
string
Possible values: am-pm, 24h
forms.questions.questions.formQuestionConfig.stringDatetimeConfig.timePlaceholder
string
forms.questions.questions.formQuestionConfig.type
string
Possible values: stringDatetime
forms.questions.questions.formQuestionConfig.stringMsisdnConfig
object
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringMsisdnConfig.defaultCountryCode
string
obbligatorio
forms.questions.questions.formQuestionConfig.type
string
Possible values: stringMsisdn
forms.questions.questions.formQuestionConfig.stringEmojiConfig
object
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringEmojiConfig.options
array of object
obbligatorio
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringEmojiConfig.options.emoji
string
obbligatorio
forms.questions.questions.formQuestionConfig.stringEmojiConfig.options.text
string
obbligatorio
forms.questions.questions.formQuestionConfig.type
string
Possible values: stringEmoji
forms.questions.questions.formQuestionConfig.stringEnumConfig
object
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringEnumConfig.allowedValues
array of object
obbligatorio
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringEnumConfig.allowedValues.displayName
string
obbligatorio
forms.questions.questions.formQuestionConfig.stringEnumConfig.allowedValues.imageUrl
string
forms.questions.questions.formQuestionConfig.stringEnumConfig.allowedValues.value
string
obbligatorio
forms.questions.questions.formQuestionConfig.stringEnumConfig.columns
integer
forms.questions.questions.formQuestionConfig.stringEnumConfig.cornerRadius
string
Possible values: none, normal, full
forms.questions.questions.formQuestionConfig.stringEnumConfig.optionSize
string
Possible values: small, medium, large
forms.questions.questions.formQuestionConfig.stringEnumConfig.showLabels
boolean
forms.questions.questions.formQuestionConfig.stringEnumConfig.singleSelect
boolean
forms.questions.questions.formQuestionConfig.stringEnumConfig.withImages
boolean
forms.questions.questions.formQuestionConfig.type
string
Possible values: stringEnum
forms.questions.questions.formQuestionConfig.stringS3ObjectConfig
object
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringS3ObjectConfig.allowedMimeType
string
obbligatorio
Allowed type to upload. Supports wildcards.
forms.questions.questions.formQuestionConfig.stringS3ObjectConfig.maxFileSize
integer
obbligatorio
forms.questions.questions.formQuestionConfig.stringS3ObjectConfig.templateFileUrl
string
URL to a template file that can be downloaded by the user and uploaded back.
forms.questions.questions.formQuestionConfig.type
string
Possible values: stringS3Object
forms.questions.questions.formQuestionConfig.stringCustomConfig
object
Mostra attributi secondari
forms.questions.questions.formQuestionConfig.stringCustomConfig.message
string
Validation message to show when validation fails.
forms.questions.questions.formQuestionConfig.stringCustomConfig.regexp
string
obbligatorio
Regular expression to validate the input against.
forms.questions.questions.formQuestionConfig.stringCustomConfig.title
string
obbligatorio
Validation title.
forms.questions.questions.formQuestionConfig.type
string
Possible values: stringCustom
forms.questions.questions.ui:type
string
hint the UI what form to show if type isn't sufficient
Possible values: shortText, longText, dropdown, radio, checkboxSelect
forms.scope
string
obbligatorio
Possible values: number, organization, channel
forms.status
string
obbligatorio
Possible values: draft, active, deactivated
forms.updatedAt
string
obbligatorio
formOptions
object
formId
string
formEntryId
string
formEntry
object
Mostra attributi secondari
formEntry.answers
array of object
obbligatorio
Mostra attributi secondari
formEntry.answers.isDefault
boolean
formEntry.answers.key
string
obbligatorio
formEntry.answers.valueString
string
obbligatorio
formEntry.answers.isDefault
boolean
formEntry.answers.key
string
obbligatorio
formEntry.answers.valueStringArray
array of string
obbligatorio
formEntry.answers.isDefault
boolean
formEntry.answers.key
string
obbligatorio
formEntry.answers.valueBoolean
boolean
obbligatorio
formEntry.answers.isDefault
boolean
formEntry.answers.key
string
obbligatorio
formEntry.answers.valueBooleanArray
array of boolean
obbligatorio
formEntry.answers.isDefault
boolean
formEntry.answers.key
string
obbligatorio
formEntry.answers.valueInteger
number
obbligatorio
formEntry.answers.isDefault
boolean
formEntry.answers.key
string
obbligatorio
formEntry.answers.valueIntegerArray
array of number
obbligatorio
formEntry.answers.floatValue
number
formEntry.answers.isDefault
boolean
formEntry.answers.key
string
obbligatorio
formEntry.answers.floatValueArray
array of number
formEntry.answers.isDefault
boolean
formEntry.answers.key
string
obbligatorio
formEntry.businessProfileId
string
The ID of an existing Business Profile.
formEntry.businessProfileVersion
integer
The version of the Business Profile.
formEntry.createdAt
string
obbligatorio
formEntry.displayName
string
formEntry.formId
string
obbligatorio
formEntry.id
string
obbligatorio
formEntry.locale
string
obbligatorio
formEntry.organizationId
string
obbligatorio
formEntry.reviewComment
string
formEntry.status
string
obbligatorio
The status of the form entry.
Possible values: draft, submitted, approved, rejected, expired
formEntry.tags
array of object
Mostra attributi secondari
formEntry.tags.key
string
obbligatorio
formEntry.tags.value
string
obbligatorio
formEntry.updatedAt
string
obbligatorio
status
string
obbligatorio
Possible values: satisfied, pending, unsatisfied
mutable
boolean
obbligatorio
immutableReason
string
Possible values: managed, dependency, none
message
string
evaluatedAt
string
issues
array of string
userId
string
name
string
obbligatorio
type
string
obbligatorio
Possible values: use-case
capabilities
array of string
obbligatorio
destinations
array of string
managedBy
string
appliesTo
string
Specifies whether this requirement applies to endpoint-level or destination-level evaluation. Empty means both.
Possible values: endpoint, destination
definition
object
obbligatorio
Mostra attributi secondari
definition.fallback
boolean
obbligatorio
definition.id
string
obbligatorio
definition.name
string
obbligatorio
definition.schema
object
obbligatorio
definition.selectors
object
obbligatorio
Mostra attributi secondari
definition.selectors.countryCodes
array of string
definition.selectors.numberTypes
array of string
definition.selectors.platforms
array of string
definition.uiSchema
object
obbligatorio
definition.version
string
obbligatorio
useCaseId
string
useCase
object
Mostra attributi secondari
useCase.additionalFields
object
obbligatorio
useCase.caseType
string
obbligatorio
Possible values: default, tendlc, tfn-verification
useCase.createdAt
string
obbligatorio
useCase.definitionDescription
string
obbligatorio
useCase.definitionVersion
string
obbligatorio
useCase.description
string
obbligatorio
useCase.id
string
obbligatorio
useCase.integrationState
object
obbligatorio
Mostra attributi secondari
useCase.integrationState.additionalFields
object
obbligatorio
useCase.integrationState.externalId
string
obbligatorio
useCase.integrationState.status
string
obbligatorio
useCase.integrationState.updatedAt
string
obbligatorio
useCase.name
string
obbligatorio
useCase.status
string
obbligatorio
Possible values: created, cancelled, error, deleted, declined, approved
useCase.tags
array of object
Mostra attributi secondari
useCase.tags.key
string
obbligatorio
useCase.tags.value
string
obbligatorio
useCase.updatedAt
string
obbligatorio
useCase.use
string
obbligatorio
useCase.version
integer
obbligatorio
status
string
obbligatorio
Possible values: satisfied, pending, unsatisfied
mutable
boolean
obbligatorio
immutableReason
string
Possible values: managed, dependency, none
message
string
evaluatedAt
string
issues
array of string
userId
string
name
string
obbligatorio
type
string
obbligatorio
Possible values: tfn-verification
capabilities
array of string
obbligatorio
destinations
array of string
managedBy
string
appliesTo
string
Specifies whether this requirement applies to endpoint-level or destination-level evaluation. Empty means both.
Possible values: endpoint, destination
tfnVerification
object
Mostra attributi secondari
tfnVerification.id
string
tfnVerification.organizationId
string
tfnVerification.workspaceId
string
tfnVerification.verificationRequestId
string
tfnVerification.longCodeNumberIds
array of string
tfnVerification.verificationRequestData
object
Mostra attributi secondari
tfnVerification.verificationRequestData.phoneNumbers
array of string
tfnVerification.verificationRequestData.businessName
string
obbligatorio
tfnVerification.verificationRequestData.businessRegistrationNumber
string
Optional business registration number (TaxID). Used for toll-free verification.
tfnVerification.verificationRequestData.businessRegistrationIssuingCountry
string
Country that issued the business registration (ISO 3166-1 alpha-2 code). Any valid country code is accepted.
Possible values: AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SY, SZ, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XK, YE, YT, ZA, ZM, ZW
tfnVerification.verificationRequestData.businessRegistrationType
string
Type of business registration:
- EIN: Employer Identification Number (US)
- CBN: Canada Business Number (CA)
- NEQ: Quebec Enterprise Number (CA)
- PROVINCIAL_NUMBER: Provincial Business Number (CA)
- CRN: Company Registration Number (GB, HK)
- VAT: Value-added Tax Identification Number (GB, IE, BR, NL)
- ACN: Australian Company Number (AU)
- ABN: Australian Business Number (AU)
- BRN: Business Registration Number (HK)
- SIREN: INSEE identification number (FR)
- SIRET: Establishment identification number (FR)
- NZBN: New Zealand Business Number (NZ)
- UST_IDNR: Umsatzsteuer-Identifikationsnummer (DE)
- CIF: Código de Identificación Fiscal (ES)
- NIF: Número de Identificación Fiscal (ES)
- CNPJ: Cadastro Nacional Da Pessoa Jurídica (BR)
- UID: Unternehmens-Identifikationsnummer (CH)
- OTHER: Other registration types (covers additional countries including SE)
Possible values: EIN, CBN, NEQ, PROVINCIAL_NUMBER, CRN, VAT, ACN, ABN, BRN, SIREN, SIRET, NZBN, UST_IDNR, CIF, NIF, CNPJ, UID, OTHER
tfnVerification.verificationRequestData.entityType
string
Type of business entity. Required if businessRegistrationNumber is provided.
Possible values: SOLE_PROPRIETOR, PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, GOVERNMENT
tfnVerification.verificationRequestData.businessAddr1
string
obbligatorio
tfnVerification.verificationRequestData.businessAddr2
string
tfnVerification.verificationRequestData.businessZip
string
obbligatorio
tfnVerification.verificationRequestData.businessCity
string
obbligatorio
tfnVerification.verificationRequestData.businessState
string
obbligatorio
tfnVerification.verificationRequestData.businessCountry
string
obbligatorio
tfnVerification.verificationRequestData.businessContactFirstName
string
obbligatorio
tfnVerification.verificationRequestData.businessContactLastName
string
obbligatorio
tfnVerification.verificationRequestData.businessContactEmail
string
obbligatorio
tfnVerification.verificationRequestData.businessContactPhone
string
obbligatorio
tfnVerification.verificationRequestData.corporateWebsite
string
obbligatorio
tfnVerification.verificationRequestData.privacyPolicyUrl
string
URL of the business's privacy policy, as presented to consumers at opt-in.
tfnVerification.verificationRequestData.termsAndConditionUrl
string
URL of the business's terms and conditions, as presented to consumers at opt-in.
tfnVerification.verificationRequestData.messageVolume
string
obbligatorio
Possible values: 10, 100, 1000, 10000, 100000, 250000, 500000, 750000, 1000000, 5000000, 10000000+
tfnVerification.verificationRequestData.useCase
string
obbligatorio
tfnVerification.verificationRequestData.useCaseSummary
string
obbligatorio
tfnVerification.verificationRequestData.productionMessageContent
string
obbligatorio
tfnVerification.verificationRequestData.optInWorkflowDescription
string
obbligatorio
tfnVerification.verificationRequestData.optInWorkflowImageUrLs
array of string
obbligatorio
tfnVerification.verificationRequestData.additionalInformation
string
tfnVerification.verificationRequestData.isvReseller
string
tfnVerification.status
string
Possible values: submitted, in-progress, verified, rejected
tfnVerification.statusMessage
object
Mostra attributi secondari
tfnVerification.statusMessage.statusCode
string
tfnVerification.statusMessage.declineReasonDescription
string
tfnVerification.statusMessage.resubmitAllowed
boolean
tfnVerification.testMode
boolean
tfnVerification.createdAt
string
tfnVerification.updatedAt
string
status
string
obbligatorio
Possible values: satisfied, pending, unsatisfied
mutable
boolean
obbligatorio
immutableReason
string
Possible values: managed, dependency, none
message
string
evaluatedAt
string
issues
array of string
userId
string
name
string
obbligatorio
type
string
obbligatorio
Possible values: ten-dlc
capabilities
array of string
obbligatorio
destinations
array of string
managedBy
string
appliesTo
string
Specifies whether this requirement applies to endpoint-level or destination-level evaluation. Empty means both.
Possible values: endpoint, destination
brandId
string
campaignId
string
brand
object
Mostra attributi secondari
brand.id
string
The ID of the number.
brand.tcrBrandId
string
The Campaign Registry brand ID.
brand.organizationId
string
brand.createdAt
string
Timestamp (UTC) when the brand was created.
brand.updatedAt
string
Timestamp (UTC) when the brand was last updated.
brand.status
string
Brand status
Possible values: FAILED, PENDING, REJECTED, APPROVED, DELETED, DRAFT
brand.authPlusStatus
string
Brand Auth+ status
Possible values: NOT_APPLICABLE, NEEDS_CHARGE, NEEDS_TRIGGER, DONE
brand.entityType
string
obbligatorio
Legal entity type. It can't be updated when the brand is approved.
Possible values: PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, GOVERNMENT, ``
brand.firstName
string
First or given name. Applicable to entity type.
brand.lastName
string
Last or Surname. Applicable to entity type.
brand.displayName
string
obbligatorio
Display or marketing name your brand.
brand.companyName
string
obbligatorio
Legal company name. This should match the legal company name used to register your EIN/Tax ID.
brand.ein
string
obbligatorio
Government assigned corporate tax ID. EIN is 9-digits in the U.S.
brand.einIssuingCountry
string
obbligatorio
The 2 letter ISO country of registration submitted with your EIN / Tax ID registration.
brand.phone
string
obbligatorio
Valid phone number in e.164 international format.
brand.street
string
obbligatorio
Street number and name.
brand.city
string
obbligatorio
City name
brand.state
string
obbligatorio
State. Must be a 2 letter state code for US states.
brand.postalCode
string
obbligatorio
Postal code. Must be a 5 digit zip code for the United States.
brand.country
string
obbligatorio
ISO 2 character country code.
brand.email
string
obbligatorio
Valid email address of brand support contact.
brand.stockSymbol
string
Stock symbol.
brand.stockExchange
string
Stock exchange. Required for entityType PUBLIC.
Possible values: NONE, NASDAQ, NYSE, AMEX, AMX, ASX, B3, BME, BSE, FRA, ICEX, JPX, JSE, KRX, LON, NSE, OMX, SEHK, SGX, SSE, STO, SWX, SZSE, TSX, TWSE, VSE, OTHER, ``
brand.website
string
obbligatorio
Brand website URL.
brand.vertical
string
Vertical or industry segment of the brand.
brand.altBusinessId
string
Alternate business identifier.
brand.altBusinessIdType
string
Alternate business identifier type. Required if altBusinessId is provided.
Possible values: NONE, DUNS, GIIN, LEI, ``
brand.businessContactEmail
string
Business contact email.
brand.businessContactEmailVerifiedDate
string
Timestamp (UTC) when the brand businessContactEmail was verified.
brand.rejection
object
Rejection details
Mostra attributi secondari
brand.rejection.description
string
obbligatorio
Rejection description
brand.rejection.code
string
Rejection code
campaign
object
Mostra attributi secondari
campaign.id
string
UUID of the campaign.
campaign.name
string
Campaign name
campaign.subscription
object
Describes status of Campaign Subscription
Mostra attributi secondari
campaign.subscription.status
string
Possible values: active, inactive, canceling
campaign.subscription.subscribedAt
string
Timestamp (UTC) when the subscription became active.
campaign.subscription.updatedAt
string
Timestamp (UTC) when the subscription was last updated.
campaign.subscription.cancelledAt
string
Timestamp (UTC) when the subscription was cancelled.
campaign.status
string
Campaign status
Possible values: DRAFT, FAILED, PENDING, REJECTED, APPROVED, DECLINED, SUSPENDED, DELETED, EXPIRED
campaign.usecase
string
A use case that best matches the purpose of the campaign.
campaign.subUsecases
array of string
If use case is MIXED or LOW_VOLUME mixed an array of 2-5 use cases.
campaign.description
string
A detailed description of what the campaign is for.
campaign.embeddedLink
boolean
Whether messages will contain links. Provide at least one sample containing a link.
campaign.embeddedPhone
boolean
Whether messages will contain phone number. Provide at least one sample containing a phone number.
campaign.numberPool
boolean
Whether a campaign will be associated with more than 50 numbers e.g. customer service use case.
campaign.ageGated
boolean
Whether a campaign contains age-gated content based on carrier/ctia guidelines.
campaign.directLending
boolean
Whether a campaign includes content related to direct lending or loan arrangements.
campaign.subscriberOptin
boolean
Confirm customer opt in is collected and processed.
campaign.subscriberOptout
boolean
Confirm customer opt out is collected and processed.
campaign.subscriberHelp
boolean
Confirm an info message is returned if a customer sends "HELP".
campaign.samples
array of string
Between 1-5 sample messages, each up to 1024 characters (empty until the campaign is submitted). If directLending, embeddedPhone, embeddedLink is true provide relevant examples.
campaign.messageFlow
string
Provide details of how the customer will opt into this campaign. If you have a live web opt-in provide the URL and ensure the page has details on the T&Cs/data collection for opting in, and how to opt out.
campaign.helpMessage
string
Help message of the campaign. A help message shall state the name of the service, contact (email or call centre), OPT IN and OPT OUT keywords.
campaign.helpKeywords
string
A comma separated list of keywords. Support of the word HELP is the minimum requirement for requesting help/info.
campaign.optoutKeywords
string
A comma separated list of keywords. Support of the word STOP is the minimum requirement for OPT OUT.
campaign.optinKeywords
string
A comma separated list of keywords. Support of the word START is the minimum requirement for OPT OUT.
campaign.optinMessage
string
Provide an example of the message that will be sent after a customer has opted in.
campaign.optoutMessage
string
Provide an example of the message that will be sent after a customer has opted out.
campaign.termsAndConditions
boolean
Indicates the campaign follows CTIA messaging principles and best practices.
campaign.brandId
string
UUID of the brand associated with this campaign. The specified brand MUST be APPROVED.
campaign.resellerId
string
UUID of the reseller associated with this campaign. The specified reseller MUST be ACTIVE.
campaign.rejection
object
Rejection details
Mostra attributi secondari
campaign.rejection.description
string
obbligatorio
Rejection description
campaign.rejection.code
string
Rejection code
campaign.attachments
array of object
Attachments associated with this campaign.
Mostra attributi secondari
campaign.attachments.id
string
obbligatorio
The ID of the attachment.
campaign.attachments.status
string
obbligatorio
Attachment status
Possible values: PENDING, ACTIVE, PENDING_DELETION, DELETED, FAILED, FAILED_DELETION
campaign.attachments.createdAt
string
obbligatorio
Timestamp (UTC) when the attachment was created.
campaign.attachments.updatedAt
string
obbligatorio
Timestamp (UTC) when the attachment was last updated.
campaign.attachments.filename
string
obbligatorio
The original name of the file when it was uploaded.
campaign.attachments.mediaUrl
string
The URL to download the attachment.
campaign.attachments.contentType
string
obbligatorio
The detected MIME type of the file.
campaign.createdAt
string
Timestamp (UTC) when the campaign was created.
campaign.updatedAt
string
Timestamp (UTC) when the campaign was last updated.
linkingStatus
string
Possible values: DEFAULT, INACTIVE, PENDING_ACTIVE, ACTIVE, PENDING_INACTIVE, LINK_FAILED, UNLINK_FAILED, ACTIVE_P2P
reseller
object
Mostra attributi secondari
reseller.id
string
UUID of the reseller.
reseller.organizationId
string
reseller.status
string
Reseller status
Possible values: FAILED, PENDING, ACTIVE, DELETED
reseller.companyName
string
obbligatorio
Legal company name. This should match the legal company name used to register your EIN/Tax ID.
reseller.phone
string
obbligatorio
Valid phone number in e.164 international format.
reseller.email
string
obbligatorio
Valid email address of support contact.
reseller.createdAt
string
Timestamp (UTC) when the reseller was created.
reseller.updatedAt
string
Timestamp (UTC) when the reseller was last updated.
status
string
obbligatorio
Possible values: satisfied, pending, unsatisfied
mutable
boolean
obbligatorio
immutableReason
string
Possible values: managed, dependency, none
message
string
evaluatedAt
string
issues
array of string
userId
string
name
string
obbligatorio
type
string
obbligatorio
Possible values: sms-originator
capabilities
array of string
obbligatorio
destinations
array of string
managedBy
string
appliesTo
string
Specifies whether this requirement applies to endpoint-level or destination-level evaluation. Empty means both.
Possible values: endpoint, destination
brandStatus
string
Possible values: satisfied, pending, unsatisfied
destinationBrandStatus
string
Possible values: satisfied, pending, unsatisfied
useCaseStatus
string
Possible values: satisfied, pending, unsatisfied
smsOriginatorRequest
object
Mostra attributi secondari
smsOriginatorRequest.id
string
obbligatorio
smsOriginatorRequest.senderId
string
obbligatorio
smsOriginatorRequest.destinationCountry
string
obbligatorio
smsOriginatorRequest.destinationType
string
obbligatorio
Possible values: international, local
smsOriginatorRequest.originatorRequestType
string
obbligatorio
Possible values: short-code, alphanumeric, toll-free, mobile, local, national
smsOriginatorRequest.status
string
obbligatorio
Possible values: pending, approved, rejected, canceled
smsOriginatorRequest.statusMessage
string
smsOriginatorRequest.contactEmail
string
smsOriginatorRequest.endpointReferenceKey
string
smsOriginatorRequest.createdAt
string
obbligatorio
smsOriginatorRequest.updatedAt
string
obbligatorio
smsOriginatorRequest.organizationId
string
obbligatorio
smsOriginatorRequest.workspaceId
string
obbligatorio
smsOriginatorRequest.endpointId
string
obbligatorio
smsOriginatorRequest.smsOriginatorID
string
Esempio di codice
curl -X PUT 'https://api.bird.com/workspaces/{workspaceId}/endpoints/{endpointId}/compliance-requirements/{requirementName}' \
-H 'Authorization: AccessKey YOUR_ACCESS_KEY'Example request
Get formEntryId from kyc-forms
Esempio di codice
GET https://api.bird.com/organizations/{organizationId}/kyc-forms/4d74e9c0-3f3b-4d5f-8983-b343ecac3986/entries
organizationId string required
Example request to link Local Brand Identification
Esempio di codice
PUT https://api.bird.com/workspaces/{workspaceId}/endpoints/{endpointId}/compliance-requirements/brand:au
workspaceId string required
endpointId string required
Esempio di codice
{
"formEntryId":"{formEntryId}",
"formId":"4d74e9c0-3f3b-4d5f-8983-b343ecac3986",
"type":"kyc-form"
}