# 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:

1. **List all kyc-forms:**  Australian kyc-formID is 4d74e9c0-3f3b-4d5f-8983-b343ecac3986
2. **Get upload token:**  This action gets info to upload image to bucket.
3. **Upload proof of address image**: This action submits image to bucket.
4. **Link Proof Of Address information**: This action links Proof Of Address.
5. **Link Local Brand Identification:**  This action links Brand identification.

## 1- List all kyc-forms

## GET /kyc-forms

> List KYC forms

```json
{"openapi":"3.0.3","info":{"title":"Accounts","version":"v1"},"tags":[{"description":"Manage the know-your-customer process.","name":"kyc"}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"parameters":{"limit":{"name":"limit","description":"Limits the number of results to return","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":10}},"direction":{"name":"reverse","description":"Order in which to retrieve the results","in":"query","schema":{"type":"boolean","default":false}},"cursor":{"name":"pageToken","description":"Pagination token that keeps of track of the current position in the list","in":"query","schema":{"type":"string"}}},"schemas":{"scope":{"type":"string","enum":["number","organization","channel"]},"responseBody":{"type":"object","title":"PaginatedList","description":"A list of results that supports pagination.","properties":{"nextPageToken":{"type":"string","description":"The token to fetch the next page of results. If empty, there are no more results to fetch."}}},"FormList":{"type":"array","title":"KycFormList","items":{"$ref":"#/components/schemas/Form"}},"Form":{"type":"object","title":"KycForm","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scope":{"$ref":"#/components/schemas/scope"},"countryCode":{"$ref":"#/components/schemas/countryCode"},"conditions":{"$ref":"#/components/schemas/conditions"},"status":{"$ref":"#/components/schemas/status-2"},"defaultLocale":{"$ref":"#/components/schemas/locale"},"questions":{"$ref":"#/components/schemas/questions"},"gracePeriodDays":{"type":"integer","format":"int64","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","scope","status","defaultLocale","questions","createdAt","updatedAt"]},"countryCode":{"type":"string","format":"iso3166-1"},"conditions":{"type":"object","additionalProperties":{"type":"string"}},"status-2":{"type":"string","enum":["draft","active","deactivated"]},"locale":{"type":"string","format":"locale-bcp47"},"questions":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["locale","questions"],"properties":{"locale":{"type":"string","format":"locale-bcp47"},"questions":{"type":"array","items":{"$ref":"#/components/schemas/question"}}}}},"question":{"oneOf":[{"$ref":"#/components/schemas/generic"},{"$ref":"#/components/schemas/string"},{"$ref":"#/components/schemas/int"}],"discriminator":{"propertyName":"type","mapping":{"string":"#/components/schemas/string","stringArray":"#/components/schemas/string","bool":"#/components/schemas/generic","boolArray":"#/components/schemas/generic","float":"#/components/schemas/generic","floatArray":"#/components/schemas/generic","int":"#/components/schemas/int","intArray":"#/components/schemas/generic"}}},"generic":{"type":"object","additionalProperties":false,"required":["type","key","displayName","format"],"properties":{"type":{"type":"string","enum":["bool","boolArray","intArray","float","floatArray"]},"key":{"type":"string"},"description":{"type":"string"},"placeholder":{"type":"string"},"displayName":{"type":"string"},"required":{"type":"boolean"},"mapping":{"description":"Map the answer to a contact attribute. If not set, the answer will not be mapped.","type":"string"},"format":{"type":"string","enum":["none"]},"conditions":{"type":"array","nullable":true,"items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}}},"options":{"type":"array","nullable":true,"items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}}},"timezone":{"format":"timezone","nullable":true,"type":"string"}}},"string":{"type":"object","required":["type","key","displayName","format","ui:type"],"properties":{"type":{"type":"string","enum":["string","stringArray"]},"ui:type":{"type":"string","description":"hint the UI what form to show if `type` isn't sufficient","enum":["shortText","longText","dropdown","radio","checkboxSelect"]},"key":{"type":"string"},"description":{"type":"string"},"placeholder":{"type":"string"},"displayName":{"type":"string"},"required":{"type":"boolean"},"mapping":{"description":"Map the answer to a contact attribute. If not set, the answer will not be mapped.","type":"string"},"format":{"type":"string","enum":["none","email","msisdn","url","datetime","emoji","enum","countryCode","s3object","custom"]},"conditions":{"type":"array","nullable":true,"items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}}},"options":{"type":"array","nullable":true,"items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}}},"timezone":{"format":"timezone","nullable":true,"type":"string"},"formQuestionConfig":{"type":"object","discriminator":{"propertyName":"type","mapping":{"stringMsisdn":"#/components/schemas/stringMsisdnConfig","stringDatetime":"#/components/schemas/stringDatetimeConfig","stringEmoji":"#/components/schemas/stringEmojiConfig","stringEnum":"#/components/schemas/stringEnumConfig","stringS3Object":"#/components/schemas/stringS3ObjectConfig","stringCustom":"#/components/schemas/stringCustomConfig"}},"oneOf":[{"$ref":"#/components/schemas/stringDatetimeConfig"},{"$ref":"#/components/schemas/stringMsisdnConfig"},{"$ref":"#/components/schemas/stringEmojiConfig"},{"$ref":"#/components/schemas/stringEnumConfig"},{"$ref":"#/components/schemas/stringS3ObjectConfig"},{"$ref":"#/components/schemas/stringCustomConfig"}]}}},"stringDatetimeConfig":{"properties":{"type":{"type":"string","enum":["stringDatetime"]},"stringDatetimeConfig":{"type":"object","required":["datetimeRange"],"additionalProperties":false,"properties":{"datetimeRange":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["any","future","past"]}}},"timeFormat":{"type":"string","enum":["am-pm","24h"]},"includeTime":{"type":"boolean"},"localeOverride":{"type":"string","format":"locale-bcp47"},"defaultTimezone":{"type":"string","format":"timezone"},"allowTimezoneSelectionByUser":{"type":"boolean"},"timePlaceholder":{"type":"string"}}}}},"stringMsisdnConfig":{"properties":{"type":{"type":"string","enum":["stringMsisdn"]},"stringMsisdnConfig":{"type":"object","required":["defaultCountryCode"],"additionalProperties":false,"properties":{"defaultCountryCode":{"type":"string","format":"iso3166-1"}}}}},"stringEmojiConfig":{"properties":{"type":{"type":"string","enum":["stringEmoji"]},"stringEmojiConfig":{"type":"object","required":["options"],"additionalProperties":false,"properties":{"options":{"type":"array","items":{"type":"object","required":["emoji","text"],"properties":{"emoji":{"type":"string"},"text":{"type":"string"}}}}}}}},"stringEnumConfig":{"properties":{"type":{"type":"string","enum":["stringEnum"]},"stringEnumConfig":{"type":"object","required":["allowedValues"],"additionalProperties":false,"properties":{"withImages":{"type":"boolean"},"showLabels":{"type":"boolean"},"singleSelect":{"type":"boolean"},"columns":{"type":"integer","maximum":8},"cornerRadius":{"type":"string","enum":["none","normal","full"]},"optionSize":{"type":"string","enum":["small","medium","large"]},"allowedValues":{"type":"array","items":{"type":"object","required":["displayName","value"],"properties":{"displayName":{"type":"string"},"value":{"type":"string"},"imageUrl":{"type":"string"}}}}}}}},"stringS3ObjectConfig":{"properties":{"type":{"type":"string","enum":["stringS3Object"]},"stringS3ObjectConfig":{"type":"object","additionalProperties":false,"properties":{"allowedMimeType":{"type":"string","description":"Allowed type to upload. Supports wildcards."},"maxFileSize":{"type":"integer","format":"int32"}},"required":["allowedMimeType","maxFileSize"]}}},"stringCustomConfig":{"properties":{"type":{"type":"string","enum":["stringCustom"]},"stringCustomConfig":{"type":"object","additionalProperties":false,"properties":{"regexp":{"type":"string","description":"Regular expression to validate the input against."},"title":{"type":"string","description":"Validation title."},"message":{"type":"string","description":"Validation message to show when validation fails."}},"required":["regexp","title"]}}},"int":{"type":"object","required":["type","key","displayName","format"],"properties":{"type":{"type":"string","enum":["int"]},"key":{"type":"string"},"description":{"type":"string"},"placeholder":{"type":"string"},"displayName":{"type":"string"},"required":{"type":"boolean"},"mapping":{"description":"Map the answer to a contact attribute. If not set, the answer will not be mapped.","type":"string"},"format":{"type":"string","enum":["none","rating"]},"conditions":{"type":"array","nullable":true,"items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}}},"options":{"type":"array","nullable":true,"items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}}},"timezone":{"format":"timezone","nullable":true,"type":"string"},"formQuestionConfig":{"type":"object","discriminator":{"propertyName":"type","mapping":{"intRating":"#/components/schemas/intRatingConfig"}},"oneOf":[{"$ref":"#/components/schemas/intRatingConfig"}]}}},"intRatingConfig":{"properties":{"type":{"type":"string","enum":["intRating"]},"intRatingConfig":{"type":"object","required":["ratingMax"],"additionalProperties":false,"properties":{"ratingMax":{"type":"number","default":5}}}}}}},"paths":{"/kyc-forms":{"get":{"operationId":"listKycForms","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/direction"},{"$ref":"#/components/parameters/cursor"},{"description":"Filter KYC forms by target country.","in":"query","name":"countryCode","required":false,"schema":{"format":"iso3166-1","type":"string"}},{"description":"Filter KYC forms by scope.","in":"query","name":"scope","schema":{"$ref":"#/components/schemas/scope"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/responseBody"},{"properties":{"results":{"$ref":"#/components/schemas/FormList"}},"required":["results"],"type":"object"}]}}},"description":"OK"}},"summary":"List KYC forms","tags":["kyc"]}}}}
```

## 2- Get upload token

## Generate upload token

> Generate a pre-signed token that allows a user to upload a file in response to a question.

```json
{"openapi":"3.0.3","info":{"title":"Accounts","version":"v1"},"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"PreSignedUpload":{"type":"object","title":"PreSignedUploadToken","description":"Url and Form data needed to upload an image","additionalProperties":false,"properties":{"url":{"type":"string","description":"URL to post the image to","maxLength":5000},"formData":{"type":"object","additionalProperties":{"type":"string"}},"expectedFields":{"type":"array","items":{"type":"string"}}},"required":["url","formData"]},"Error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"}}},"DetailedError":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"},"details":{"type":"object","description":"Detailed information on where the error exists, usually the field name on the request payload","additionalProperties":{"type":"array","description":"The error description for the specific detail","items":{"type":"string"}}}}}},"responses":{"forbidden":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Forbidden operation"},"notFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"invalidRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailedError"}}},"description":"Request validation failed"}}},"paths":{"/organizations/{organizationId}/kyc-forms/{kycFormId}/files":{"post":{"description":"Generate a pre-signed token that allows a user to upload a file in response to a question.","operationId":"createOrganizationKYCFormFileUploadToken","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"key":{"description":"The question key to upload the file for.","type":"string"}},"required":["key"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreSignedUpload"}}},"description":"OK"},"403":{"$ref":"#/components/responses/forbidden"},"404":{"$ref":"#/components/responses/notFound"},"422":{"$ref":"#/components/responses/invalidRequest"}},"summary":"Generate upload token"}}}}
```

**Example request**

{% code fullWidth="true" %}

```
POST https://api.bird.com/organizations/{organizationId}/kyc-forms/4d74e9c0-3f3b-4d5f-8983-b343ecac3986/files
```

{% endcode %}

**Example body request**

```json
{
    "key":"proofOfAddress"
}
```

## 3- Upload proof of Address image

**Example request**

{% code fullWidth="false" %}

```
POST https://global--kyc-file-uploads--151603429280--use1.s3.us-east-1.amazonaws.com
```

{% endcode %}

**Example body form-data request**

> acl text <mark style="color:orange;">required</mark>
>
> bucket text <mark style="color:orange;">required</mark>
>
> key text <mark style="color:orange;">required</mark>
>
> policy text <mark style="color:orange;">required</mark>
>
> x-amz-algorithm text <mark style="color:orange;">required</mark>
>
> x-amz-credential text <mark style="color:orange;">required</mark>
>
> x-amz-date text <mark style="color:orange;">required</mark>
>
> x-amz-security-token text <mark style="color:orange;">required</mark>
>
> x-amz-signature text <mark style="color:orange;">required</mark>
>
> Content-Type text <mark style="color:orange;">required</mark>
>
> file File <mark style="color:orange;">required</mark>

<figure><img src="/files/qSX9uVumYzUYDGjU2pBK" alt=""><figcaption></figcaption></figure>

## 4- **Link Proof Of Address information**

## POST /organizations/{organizationId}/kyc-forms/{kycFormId}/entries

> Create KYC Form Entry

```json
{"openapi":"3.0.3","info":{"title":"Accounts","version":"v1"},"tags":[{"description":"Manage the know-your-customer process.","name":"kyc"}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"CreateFormEntry":{"type":"object","title":"CreateKycFormEntry","additionalProperties":false,"properties":{"locale":{"$ref":"#/components/schemas/locale"},"businessProfileId":{"type":"string","format":"uuid","description":"The ID of an existing Business Profile."},"answers":{"type":"array","items":{"$ref":"#/components/schemas/answer"}},"status":{"$ref":"#/components/schemas/formEntryStatus"},"displayName":{"type":"string"}},"required":["locale"],"anyOf":[{"required":["answers"]},{"required":["businessProfileId"]}]},"locale":{"type":"string","format":"locale-bcp47"},"answer":{"oneOf":[{"$ref":"#/components/schemas/string-2"},{"$ref":"#/components/schemas/stringArray"},{"$ref":"#/components/schemas/boolean"},{"$ref":"#/components/schemas/booleanArray"},{"$ref":"#/components/schemas/integer"},{"$ref":"#/components/schemas/integerArray"},{"$ref":"#/components/schemas/float"},{"$ref":"#/components/schemas/floatArray"}]},"string-2":{"type":"object","additionalProperties":false,"required":["key","valueString"],"properties":{"key":{"type":"string"},"valueString":{"type":"string"},"isDefault":{"type":"boolean","nullable":true}}},"stringArray":{"type":"object","additionalProperties":false,"required":["key","valueStringArray"],"properties":{"key":{"type":"string"},"valueStringArray":{"type":"array","items":{"type":"string"}},"isDefault":{"type":"boolean","nullable":true}}},"boolean":{"type":"object","additionalProperties":false,"required":["key","valueBoolean"],"properties":{"key":{"type":"string"},"valueBoolean":{"type":"boolean"},"isDefault":{"type":"boolean","nullable":true}}},"booleanArray":{"type":"object","additionalProperties":false,"required":["key","valueBooleanArray"],"properties":{"key":{"type":"string"},"valueBooleanArray":{"type":"array","items":{"type":"boolean"}},"isDefault":{"type":"boolean","nullable":true}}},"integer":{"type":"object","additionalProperties":false,"required":["key","valueInteger"],"properties":{"key":{"type":"string"},"valueInteger":{"type":"number"},"isDefault":{"type":"boolean","nullable":true}}},"integerArray":{"type":"object","additionalProperties":false,"required":["key","valueIntegerArray"],"properties":{"key":{"type":"string"},"valueIntegerArray":{"type":"array","items":{"type":"number"}},"isDefault":{"type":"boolean","nullable":true}}},"float":{"type":"object","additionalProperties":false,"required":["key","valueFloat"],"properties":{"key":{"type":"string"},"floatValue":{"type":"number","format":"float"},"isDefault":{"type":"boolean","nullable":true}}},"floatArray":{"type":"object","additionalProperties":false,"required":["key","valueFloatArray"],"properties":{"key":{"type":"string"},"floatValueArray":{"type":"array","items":{"type":"number","format":"float"}},"isDefault":{"type":"boolean","nullable":true}}},"formEntryStatus":{"type":"string","description":"The status of the form entry.","enum":["draft","submitted","approved","rejected","expired"]},"FormEntry":{"type":"object","title":"KycFormEntry","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"formId":{"type":"string","format":"uuid"},"locale":{"$ref":"#/components/schemas/locale"},"status":{"$ref":"#/components/schemas/formEntryStatus"},"businessProfileId":{"type":"string","format":"uuid","description":"The ID of an existing Business Profile."},"businessProfileVersion":{"type":"integer","description":"The version of the Business Profile."},"answers":{"type":"array","items":{"$ref":"#/components/schemas/answer"}},"reviewComment":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"displayName":{"type":"string"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/KYCFormEntryTag"}},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","formId","organizationId","locale","answers","status","createdAt","updatedAt"]},"KYCFormEntryTag":{"type":"object","required":["key","value"],"additionalProperties":false,"properties":{"key":{"type":"string"},"value":{"type":"string"}}},"Error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"}}},"DetailedError":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"},"details":{"type":"object","description":"Detailed information on where the error exists, usually the field name on the request payload","additionalProperties":{"type":"array","description":"The error description for the specific detail","items":{"type":"string"}}}}}},"responses":{"forbidden":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Forbidden operation"},"notFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"invalidRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailedError"}}},"description":"Request validation failed"}}},"paths":{"/organizations/{organizationId}/kyc-forms/{kycFormId}/entries":{"post":{"operationId":"createOrganizationKycFormEntry","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFormEntry"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormEntry"}}},"description":"OK"},"403":{"$ref":"#/components/responses/forbidden"},"404":{"$ref":"#/components/responses/notFound"},"422":{"$ref":"#/components/responses/invalidRequest"}},"summary":"Create KYC Form Entry","tags":["kyc"]}}}}
```

**Example request**

organizationId string - uuid <mark style="color:orange;">required</mark>

{% code fullWidth="true" %}

```
POST https://api.bird.com/organizations/{organizationsId}/kyc-forms/4d74e9c0-3f3b-4d5f-8983-b343ecac3986/entries
```

{% endcode %}

**Example body request**

Path parameters

organizationId string - uuid <mark style="color:orange;">required</mark>

proofOfAddress string - uuid <mark style="color:orange;">required</mark>

{% code fullWidth="true" %}

```json
{
  "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"
}
```

{% endcode %}

{% hint style="info" %}
proofOfAddressId in (2- Get upload token) response
{% endhint %}

## 5- Link Local Brand identification

## Update Workspace Endpoint Compliance Requirement

> 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).<br>

```json
{"openapi":"3.0.3","info":{"title":"Numbers","version":"v1"},"tags":[{"description":"Manage endpoints.","name":"endpoints"}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token","scheme":"AccessKey","type":"http"}},"schemas":{"UpdateEndpointComplianceRequirementRequest":{"type":"object","discriminator":{"propertyName":"type","mapping":{"kyc-form":"#/components/schemas/EndpointComplianceRequirementKycFormInputRequest","use-case":"#/components/schemas/EndpointComplianceRequirementUseCaseInputRequest","ten-dlc":"#/components/schemas/EndpointComplianceRequirementTenDlcInputRequest"}},"oneOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementKycFormInputRequest"},{"$ref":"#/components/schemas/EndpointComplianceRequirementUseCaseInputRequest"},{"$ref":"#/components/schemas/EndpointComplianceRequirementTenDlcInputRequest"}]},"EndpointComplianceRequirementKycFormInputRequest":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementKycFormInput"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["kyc-form"]}}}]},"EndpointComplianceRequirementKycFormInput":{"type":"object","description":"The input for a Know Your Customer (KYC) requirement. It contains the form ID (which defines the form structure) and the form entry ID (which contains the user's input).\n","properties":{"formId":{"type":"string","format":"uuid"},"formEntryId":{"type":"string","format":"uuid"}}},"EndpointComplianceRequirementUseCaseInputRequest":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementUseCaseInput"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["use-case"]}}}]},"EndpointComplianceRequirementUseCaseInput":{"type":"object","properties":{"useCaseId":{"type":"string","format":"uuid"}}},"EndpointComplianceRequirementTenDlcInputRequest":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementTenDlcInput"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["ten-dlc"]}}}]},"EndpointComplianceRequirementTenDlcInput":{"type":"object","properties":{"brandId":{"type":"string","nullable":true,"format":"uuid"},"campaignId":{"type":"string","nullable":true,"format":"uuid"}}},"EndpointComplianceRequirement":{"type":"object","description":"The compliance requirements associated to the endpoint that must be satisfied.","discriminator":{"propertyName":"type","mapping":{"kyc-form":"#/components/schemas/EndpointComplianceRequirementKycForm","use-case":"#/components/schemas/EndpointComplianceRequirementUseCase","tfn-verification":"#/components/schemas/EndpointComplianceRequirementZipwhipVerification","ten-dlc":"#/components/schemas/EndpointComplianceRequirementTenDlc","sms-originator":"#/components/schemas/EndpointComplianceRequirementSMSOriginator"}},"oneOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementKycForm"},{"$ref":"#/components/schemas/EndpointComplianceRequirementUseCase"},{"$ref":"#/components/schemas/EndpointComplianceRequirementZipwhipVerification"},{"$ref":"#/components/schemas/EndpointComplianceRequirementTenDlc"},{"$ref":"#/components/schemas/EndpointComplianceRequirementSMSOriginator"}]},"EndpointComplianceRequirementKycForm":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementFields"},{"$ref":"#/components/schemas/EndpointComplianceRequirementKycFormDefinition"},{"$ref":"#/components/schemas/EndpointComplianceRequirementKycFormInput"},{"type":"object","description":"A Know Your Customer (KYC) requirement description. A KYC Form is considered mandatory to send traffic some countries to guarantee compliance with local regulations. to be filled out by the user.\n","required":["type"],"properties":{"type":{"type":"string","enum":["kyc-form"]},"formEntry":{"$ref":"#/components/schemas/kyc.form.entry"}}}]},"EndpointComplianceRequirementFields":{"type":"object","required":["status","mutable"],"properties":{"status":{"$ref":"#/components/schemas/EndpointComplianceRequirementStatus"},"mutable":{"type":"boolean"},"immutableReason":{"$ref":"#/components/schemas/EndpointComplianceRequirementImmutableReason"},"message":{"type":"string"},"evaluatedAt":{"type":"string","format":"date-time"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/EndpointIssue"}},"userId":{"type":"string","format":"uuid"}}},"EndpointComplianceRequirementStatus":{"type":"string","enum":["satisfied","pending","unsatisfied"]},"EndpointComplianceRequirementImmutableReason":{"type":"string","enum":["managed","dependency","none"]},"EndpointIssue":{"type":"string","description":"The issue of the endpoint. It indicates what's wrong with the endpoint and the reason why traffic is deactivated in that case.","enum":["subscription-is-not-active","setup-fee-is-not-paid","capability-is-not-supported","compliance-requirement-not-satisfied","brand-not-ready","destination-brand-not-ready","use-case-not-ready","kyc-form-grace-period-has-ended","whatsapp-not-pre-verified"]},"EndpointComplianceRequirementKycFormDefinition":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementDefinitionFields"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["kyc-form"]},"forms":{"type":"array","items":{"$ref":"#/components/schemas/kyc.form"}},"formOptions":{"type":"object","additionalProperties":{"type":"string","format":"uuid"}}}}]},"EndpointComplianceRequirementDefinitionFields":{"type":"object","required":["name","type","capabilities"],"properties":{"name":{"type":"string"},"type":{"$ref":"#/components/schemas/EndpointComplianceRequirementType"},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/EndpointCapabilityName"}},"destinations":{"type":"array","items":{"type":"string","format":"iso3166-1"}},"managedBy":{"type":"string"},"appliesTo":{"type":"string","enum":["endpoint","destination"],"description":"Specifies whether this requirement applies to endpoint-level or destination-level evaluation. Empty means both."}}},"EndpointComplianceRequirementType":{"type":"string","enum":["kyc-form","use-case","tfn-verification","ten-dlc","sms-originator"]},"EndpointCapabilityName":{"type":"string","enum":["voice","sms","mms","whatsapp","email","rcs-google"]},"kyc.form":{"additionalProperties":false,"properties":{"conditions":{"additionalProperties":{"type":"string"},"type":"object"},"countryCode":{"format":"iso3166-1","type":"string"},"createdAt":{"format":"date-time","type":"string"},"defaultLocale":{"$ref":"#/components/schemas/locale"},"gracePeriodDays":{"format":"int64","nullable":true,"type":"integer"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"questions":{"items":{"additionalProperties":false,"properties":{"locale":{"format":"locale-bcp47","type":"string"},"questions":{"items":{"$ref":"#/components/schemas/forms.question"},"type":"array"}},"required":["locale","questions"],"type":"object"},"type":"array"},"scope":{"enum":["number","organization","channel"],"type":"string"},"status":{"enum":["draft","active","deactivated"],"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","name","scope","status","defaultLocale","questions","createdAt","updatedAt"],"title":"KycForm","type":"object"},"locale":{"format":"locale-bcp47","type":"string"},"forms.question":{"discriminator":{"mapping":{"bool":"#/components/schemas/forms.question.generic","boolArray":"#/components/schemas/forms.question.generic","float":"#/components/schemas/forms.question.generic","floatArray":"#/components/schemas/forms.question.generic","int":"#/components/schemas/forms.question.int","intArray":"#/components/schemas/forms.question.generic","string":"#/components/schemas/forms.question.string","stringArray":"#/components/schemas/forms.question.string"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/forms.question.generic"},{"$ref":"#/components/schemas/forms.question.string"},{"$ref":"#/components/schemas/forms.question.int"}]},"forms.question.generic":{"additionalProperties":false,"properties":{"conditions":{"items":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"description":{"type":"string"},"displayName":{"type":"string"},"format":{"enum":["none"],"type":"string"},"key":{"type":"string"},"mapping":{"description":"Map the answer to a contact attribute. If not set, the answer will not be mapped.","type":"string"},"options":{"items":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"placeholder":{"type":"string"},"required":{"type":"boolean"},"timezone":{"format":"timezone","nullable":true,"type":"string"},"type":{"enum":["bool","boolArray","intArray","float","floatArray"],"type":"string"}},"required":["type","key","displayName","format"],"type":"object"},"forms.question.string":{"properties":{"conditions":{"items":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"description":{"type":"string"},"displayName":{"type":"string"},"formQuestionConfig":{"discriminator":{"mapping":{"stringCustom":"#/components/schemas/forms.question.string.config.custom","stringDatetime":"#/components/schemas/forms.question.string.config.datetime","stringEmoji":"#/components/schemas/forms.question.string.config.emoji","stringEnum":"#/components/schemas/forms.question.string.config.enum","stringMsisdn":"#/components/schemas/forms.question.string.config.msisdn","stringS3Object":"#/components/schemas/forms.question.string.config.s3_object"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/forms.question.string.config.datetime"},{"$ref":"#/components/schemas/forms.question.string.config.msisdn"},{"$ref":"#/components/schemas/forms.question.string.config.emoji"},{"$ref":"#/components/schemas/forms.question.string.config.enum"},{"$ref":"#/components/schemas/forms.question.string.config.s3_object"},{"$ref":"#/components/schemas/forms.question.string.config.custom"}],"type":"object"},"format":{"enum":["none","email","msisdn","url","datetime","emoji","enum","countryCode","s3object","custom"],"type":"string"},"key":{"type":"string"},"mapping":{"description":"Map the answer to a contact attribute. If not set, the answer will not be mapped.","type":"string"},"options":{"items":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"placeholder":{"type":"string"},"required":{"type":"boolean"},"timezone":{"format":"timezone","nullable":true,"type":"string"},"type":{"enum":["string","stringArray"],"type":"string"},"ui:type":{"description":"hint the UI what form to show if `type` isn't sufficient","enum":["shortText","longText","dropdown","radio","checkboxSelect"],"type":"string"}},"required":["type","key","displayName","format","ui:type"],"type":"object"},"forms.question.string.config.datetime":{"properties":{"stringDatetimeConfig":{"additionalProperties":false,"properties":{"allowTimezoneSelectionByUser":{"type":"boolean"},"datetimeRange":{"additionalProperties":false,"properties":{"type":{"enum":["any","future","past"],"type":"string"}},"type":"object"},"defaultTimezone":{"format":"timezone","type":"string"},"includeTime":{"type":"boolean"},"localeOverride":{"format":"locale-bcp47","type":"string"},"timeFormat":{"enum":["am-pm","24h"],"type":"string"},"timePlaceholder":{"type":"string"}},"required":["datetimeRange"],"type":"object"},"type":{"enum":["stringDatetime"],"type":"string"}}},"forms.question.string.config.msisdn":{"properties":{"stringMsisdnConfig":{"additionalProperties":false,"properties":{"defaultCountryCode":{"format":"iso3166-1","type":"string"}},"required":["defaultCountryCode"],"type":"object"},"type":{"enum":["stringMsisdn"],"type":"string"}}},"forms.question.string.config.emoji":{"properties":{"stringEmojiConfig":{"additionalProperties":false,"properties":{"options":{"items":{"properties":{"emoji":{"type":"string"},"text":{"type":"string"}},"required":["emoji","text"],"type":"object"},"type":"array"}},"required":["options"],"type":"object"},"type":{"enum":["stringEmoji"],"type":"string"}}},"forms.question.string.config.enum":{"properties":{"stringEnumConfig":{"additionalProperties":false,"properties":{"allowedValues":{"items":{"properties":{"displayName":{"type":"string"},"imageUrl":{"type":"string"},"value":{"type":"string"}},"required":["displayName","value"],"type":"object"},"type":"array"},"columns":{"maximum":8,"type":"integer"},"cornerRadius":{"enum":["none","normal","full"],"type":"string"},"optionSize":{"enum":["small","medium","large"],"type":"string"},"showLabels":{"type":"boolean"},"singleSelect":{"type":"boolean"},"withImages":{"type":"boolean"}},"required":["allowedValues"],"type":"object"},"type":{"enum":["stringEnum"],"type":"string"}}},"forms.question.string.config.s3_object":{"properties":{"stringS3ObjectConfig":{"additionalProperties":false,"properties":{"allowedMimeType":{"description":"Allowed type to upload. Supports wildcards.","type":"string"},"maxFileSize":{"format":"int32","type":"integer"},"templateFileUrl":{"description":"URL to a template file that can be downloaded by the user and uploaded back.","type":"string"}},"required":["allowedMimeType","maxFileSize"],"type":"object"},"type":{"enum":["stringS3Object"],"type":"string"}}},"forms.question.string.config.custom":{"properties":{"stringCustomConfig":{"additionalProperties":false,"properties":{"message":{"description":"Validation message to show when validation fails.","type":"string"},"regexp":{"description":"Regular expression to validate the input against.","type":"string"},"title":{"description":"Validation title.","type":"string"}},"required":["regexp","title"],"type":"object"},"type":{"enum":["stringCustom"],"type":"string"}}},"forms.question.int":{"properties":{"conditions":{"items":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"description":{"type":"string"},"displayName":{"type":"string"},"formQuestionConfig":{"discriminator":{"mapping":{"intRating":"#/components/schemas/forms.question.int.config.rating"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/forms.question.int.config.rating"}],"type":"object"},"format":{"enum":["none","rating"],"type":"string"},"key":{"type":"string"},"mapping":{"description":"Map the answer to a contact attribute. If not set, the answer will not be mapped.","type":"string"},"options":{"items":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object"},"nullable":true,"type":"array"},"placeholder":{"type":"string"},"required":{"type":"boolean"},"timezone":{"format":"timezone","nullable":true,"type":"string"},"type":{"enum":["int"],"type":"string"}},"required":["type","key","displayName","format"],"type":"object"},"forms.question.int.config.rating":{"properties":{"intRatingConfig":{"additionalProperties":false,"properties":{"ratingMax":{"default":5,"type":"number"}},"required":["ratingMax"],"type":"object"},"type":{"enum":["intRating"],"type":"string"}}},"kyc.form.entry":{"additionalProperties":false,"properties":{"answers":{"items":{"$ref":"#/components/schemas/forms.answer"},"type":"array"},"businessProfileId":{"description":"The ID of an existing Business Profile.","format":"uuid","type":"string"},"businessProfileVersion":{"description":"The version of the Business Profile.","type":"integer"},"createdAt":{"format":"date-time","type":"string"},"displayName":{"type":"string"},"formId":{"format":"uuid","type":"string"},"id":{"format":"uuid","type":"string"},"locale":{"$ref":"#/components/schemas/locale"},"organizationId":{"format":"uuid","type":"string"},"reviewComment":{"type":"string"},"status":{"description":"The status of the form entry.","enum":["draft","submitted","approved","rejected","expired"],"type":"string"},"tags":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"type":"object"},"type":"array"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","formId","organizationId","locale","answers","status","createdAt","updatedAt"],"title":"KycFormEntry","type":"object"},"forms.answer":{"oneOf":[{"$ref":"#/components/schemas/forms.value.string"},{"$ref":"#/components/schemas/forms.value.string_array"},{"$ref":"#/components/schemas/forms.value.boolean"},{"$ref":"#/components/schemas/forms.value.boolean_array"},{"$ref":"#/components/schemas/forms.value.integer"},{"$ref":"#/components/schemas/forms.value.integer_array"},{"$ref":"#/components/schemas/forms.value.float"},{"$ref":"#/components/schemas/forms.value.float_array"}]},"forms.value.string":{"additionalProperties":false,"properties":{"isDefault":{"nullable":true,"type":"boolean"},"key":{"type":"string"},"valueString":{"type":"string"}},"required":["key","valueString"],"type":"object"},"forms.value.string_array":{"additionalProperties":false,"properties":{"isDefault":{"nullable":true,"type":"boolean"},"key":{"type":"string"},"valueStringArray":{"items":{"type":"string"},"type":"array"}},"required":["key","valueStringArray"],"type":"object"},"forms.value.boolean":{"additionalProperties":false,"properties":{"isDefault":{"nullable":true,"type":"boolean"},"key":{"type":"string"},"valueBoolean":{"type":"boolean"}},"required":["key","valueBoolean"],"type":"object"},"forms.value.boolean_array":{"additionalProperties":false,"properties":{"isDefault":{"nullable":true,"type":"boolean"},"key":{"type":"string"},"valueBooleanArray":{"items":{"type":"boolean"},"type":"array"}},"required":["key","valueBooleanArray"],"type":"object"},"forms.value.integer":{"additionalProperties":false,"properties":{"isDefault":{"nullable":true,"type":"boolean"},"key":{"type":"string"},"valueInteger":{"type":"number"}},"required":["key","valueInteger"],"type":"object"},"forms.value.integer_array":{"additionalProperties":false,"properties":{"isDefault":{"nullable":true,"type":"boolean"},"key":{"type":"string"},"valueIntegerArray":{"items":{"type":"number"},"type":"array"}},"required":["key","valueIntegerArray"],"type":"object"},"forms.value.float":{"additionalProperties":false,"properties":{"floatValue":{"format":"float","type":"number"},"isDefault":{"nullable":true,"type":"boolean"},"key":{"type":"string"}},"required":["key","valueFloat"],"type":"object"},"forms.value.float_array":{"additionalProperties":false,"properties":{"floatValueArray":{"items":{"format":"float","type":"number"},"type":"array"},"isDefault":{"nullable":true,"type":"boolean"},"key":{"type":"string"}},"required":["key","valueFloatArray"],"type":"object"},"EndpointComplianceRequirementUseCase":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementFields"},{"$ref":"#/components/schemas/EndpointComplianceRequirementUseCaseDefinition"},{"$ref":"#/components/schemas/EndpointComplianceRequirementUseCaseInput"},{"type":"object","required":["type"],"description":"A Use Case requirement description, which describes how the number will be used. It is considered mandatory to send traffic.\n","properties":{"type":{"type":"string","enum":["use-case"]},"useCase":{"$ref":"#/components/schemas/channels.usecases.use_case"}}}]},"EndpointComplianceRequirementUseCaseDefinition":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementDefinitionFields"},{"type":"object","required":["type","definition"],"properties":{"type":{"type":"string","enum":["use-case"]},"definition":{"$ref":"#/components/schemas/channels.usecases.definition"}}}]},"channels.usecases.definition":{"properties":{"fallback":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"schema":{"additionalProperties":true,"type":"object"},"selectors":{"$ref":"#/components/schemas/channels.usecases.definition_selectors"},"uiSchema":{"additionalProperties":true,"type":"object"},"version":{"type":"string"}},"required":["id","name","version","uiSchema","schema","fallback","selectors"],"title":"Use Case Definition","type":"object"},"channels.usecases.definition_selectors":{"properties":{"countryCodes":{"items":{"type":"string"},"type":"array"},"numberTypes":{"items":{"type":"string"},"type":"array"},"platforms":{"items":{"type":"string"},"type":"array"}},"title":"Use Case Definition Selectors","type":"object"},"channels.usecases.use_case":{"properties":{"additionalFields":{"additionalProperties":true,"type":"object"},"caseType":{"enum":["default","tendlc","tfn-verification"],"type":"string"},"createdAt":{"format":"date-time","type":"string"},"definitionDescription":{"type":"string"},"definitionVersion":{"type":"string"},"description":{"type":"string"},"id":{"format":"uuid","type":"string"},"integrationState":{"$ref":"#/components/schemas/channels.usecases.integration_state"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/channels.usecases.status"},"tags":{"items":{"$ref":"#/components/schemas/channels.usecases.tag"},"type":"array"},"updatedAt":{"format":"date-time","type":"string"},"use":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["id","use","caseType","definitionVersion","definitionDescription","description","additionalFields","integrationState","createdAt","updatedAt","version","name","status"],"title":"Use Case","type":"object"},"channels.usecases.integration_state":{"properties":{"additionalFields":{"additionalProperties":true,"type":"object"},"externalId":{"type":"string"},"status":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["externalId","status","updatedAt","additionalFields"],"title":"Use Case Integration State","type":"object"},"channels.usecases.status":{"enum":["created","cancelled","error","deleted","declined","approved"],"type":"string"},"channels.usecases.tag":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"title":"Use Case Tag","type":"object"},"EndpointComplianceRequirementZipwhipVerification":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementFields"},{"$ref":"#/components/schemas/EndpointComplianceRequirementZipwhipVerificationDefinition"},{"type":"object","required":["type"],"description":"A Toll-Free Number Verification requirement, which describes how the number will be used.\n","properties":{"type":{"type":"string","enum":["tfn-verification"]},"tfnVerification":{"$ref":"#/components/schemas/TfnVerification"}}}]},"EndpointComplianceRequirementZipwhipVerificationDefinition":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementDefinitionFields"},{"type":"object","properties":{"type":{"type":"string","enum":["tfn-verification"]}}}]},"TfnVerification":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"verificationRequestId":{"type":"string"},"longCodeNumberIds":{"type":"array","items":{"type":"string","format":"uuid"}},"verificationRequestData":{"type":"object","allOf":[{"$ref":"#/components/schemas/TfnVerificationFields"}]},"status":{"type":"string","enum":["submitted","in-progress","verified","rejected"]},"statusMessage":{"$ref":"#/components/schemas/StatusMessage"},"testMode":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"TfnVerificationFields":{"type":"object","required":["businessName","businessAddr1","businessZip","businessCity","businessState","businessCountry","businessContactFirstName","businessContactLastName","businessContactEmail","businessContactPhone","corporateWebsite","messageVolume","useCase","useCaseSummary","productionMessageContent","optInWorkflowDescription","optInWorkflowImageUrLs"],"properties":{"phoneNumbers":{"type":"array","items":{"type":"string"}},"businessName":{"type":"string","maxLength":500},"businessRegistrationNumber":{"type":"string","maxLength":100,"description":"Optional business registration number (TaxID). Used for toll-free verification."},"businessRegistrationIssuingCountry":{"type":"string","enum":["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"],"description":"Country that issued the business registration (ISO 3166-1 alpha-2 code). Any valid country code is accepted."},"businessRegistrationType":{"type":"string","enum":["EIN","CBN","NEQ","PROVINCIAL_NUMBER","CRN","VAT","ACN","ABN","BRN","SIREN","SIRET","NZBN","UST_IDNR","CIF","NIF","CNPJ","UID","OTHER"],"description":"Type of business registration:\n- EIN: Employer Identification Number (US)\n- CBN: Canada Business Number (CA)\n- NEQ: Quebec Enterprise Number (CA)\n- PROVINCIAL_NUMBER: Provincial Business Number (CA)\n- CRN: Company Registration Number (GB, HK)\n- VAT: Value-added Tax Identification Number (GB, IE, BR, NL)\n- ACN: Australian Company Number (AU)\n- ABN: Australian Business Number (AU)\n- BRN: Business Registration Number (HK)\n- SIREN: INSEE identification number (FR)\n- SIRET: Establishment identification number (FR)\n- NZBN: New Zealand Business Number (NZ)\n- UST_IDNR: Umsatzsteuer-Identifikationsnummer (DE)\n- CIF: Código de Identificación Fiscal (ES)\n- NIF: Número de Identificación Fiscal (ES)\n- CNPJ: Cadastro Nacional Da Pessoa Jurídica (BR)\n- UID: Unternehmens-Identifikationsnummer (CH)\n- OTHER: Other registration types (covers additional countries including SE)\n"},"entityType":{"type":"string","enum":["SOLE_PROPRIETOR","PRIVATE_PROFIT","PUBLIC_PROFIT","NON_PROFIT","GOVERNMENT"],"description":"Type of business entity. Required if businessRegistrationNumber is provided."},"businessAddr1":{"type":"string","maxLength":500},"businessAddr2":{"type":"string","maxLength":500},"businessZip":{"type":"string","maxLength":500},"businessCity":{"type":"string","maxLength":500},"businessState":{"type":"string","maxLength":500},"businessCountry":{"type":"string","maxLength":500},"businessContactFirstName":{"type":"string","maxLength":500},"businessContactLastName":{"type":"string","maxLength":500},"businessContactEmail":{"type":"string","maxLength":500},"businessContactPhone":{"type":"string","maxLength":500},"corporateWebsite":{"type":"string","maxLength":500},"messageVolume":{"type":"string","enum":["10","100","1000","10000","100000","250000","500000","750000","1000000","5000000","10000000+"]},"useCase":{"type":"string","maxLength":500},"useCaseSummary":{"type":"string","maxLength":500},"productionMessageContent":{"type":"string","maxLength":1000},"optInWorkflowDescription":{"type":"string","maxLength":500},"optInWorkflowImageUrLs":{"type":"array","items":{"type":"string","maxLength":1000}},"additionalInformation":{"type":"string","maxLength":500},"isvReseller":{"type":"string","maxLength":500}}},"StatusMessage":{"type":"object","properties":{"statusCode":{"type":"string"},"declineReasonDescription":{"type":"string"},"resubmitAllowed":{"type":"boolean"}}},"EndpointComplianceRequirementTenDlc":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementFields"},{"$ref":"#/components/schemas/EndpointComplianceRequirementTenDlcDefinition"},{"$ref":"#/components/schemas/EndpointComplianceRequirementTenDlcInput"},{"type":"object","required":["type"],"description":"A Ten DLC requirement description, which describes how the number will be used. This is mandatory for US Long Code numbers.\n","properties":{"type":{"type":"string","enum":["ten-dlc"]},"brand":{"$ref":"#/components/schemas/WorkspaceTCRBrand"},"campaign":{"$ref":"#/components/schemas/Campaign"},"linkingStatus":{"$ref":"#/components/schemas/TCRNumberLinkingStatus"},"reseller":{"$ref":"#/components/schemas/WorkspaceTCRReseller"}}}]},"EndpointComplianceRequirementTenDlcDefinition":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementDefinitionFields"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["ten-dlc"]}}}]},"WorkspaceTCRBrand":{"type":"object","additionalProperties":false,"required":["country","displayName","email","entityType","phone","street","city","state","postalCode","companyName","ein","einIssuingCountry","website"],"properties":{"id":{"type":"string","description":"The ID of the number.","format":"uuid"},"tcrBrandId":{"type":"string","description":"The Campaign Registry brand ID."},"organizationId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","description":"Timestamp (UTC) when the brand was created.","format":"date-time"},"updatedAt":{"type":"string","description":"Timestamp (UTC) when the brand was last updated.","nullable":true,"format":"date-time"},"status":{"$ref":"#/components/schemas/BrandStatus"},"authPlusStatus":{"$ref":"#/components/schemas/BrandAuthPlusStatus"},"entityType":{"$ref":"#/components/schemas/BrandEntityType"},"firstName":{"maxLength":100,"type":"string","description":"First or given name. Applicable to entity type."},"lastName":{"maxLength":100,"type":"string","description":"Last or Surname. Applicable to entity type."},"displayName":{"maxLength":255,"type":"string","description":"Display or marketing name your brand."},"companyName":{"maxLength":255,"type":"string","description":"Legal company name. This should match the legal company name used to register your EIN/Tax ID."},"ein":{"maxLength":21,"type":"string","description":"Government assigned corporate tax ID. EIN is 9-digits in the U.S."},"einIssuingCountry":{"maxLength":2,"type":"string","description":"The 2 letter ISO country of registration submitted with your EIN / Tax ID registration."},"phone":{"maxLength":20,"type":"string","description":"Valid phone number in e.164 international format."},"street":{"maxLength":100,"type":"string","description":"Street number and name."},"city":{"maxLength":100,"type":"string","description":"City name"},"state":{"maxLength":20,"type":"string","description":"State. Must be a 2 letter state code for US states."},"postalCode":{"maxLength":10,"type":"string","description":"Postal code. Must be a 5 digit zip code for the United States."},"country":{"maxLength":2,"type":"string","description":"ISO 2 character country code."},"email":{"maxLength":100,"type":"string","description":"Valid email address of brand support contact."},"stockSymbol":{"maxLength":10,"type":"string","description":"Stock symbol."},"stockExchange":{"$ref":"#/components/schemas/BrandStockExchange"},"website":{"maxLength":255,"type":"string","description":"Brand website URL."},"vertical":{"maxLength":50,"type":"string","description":"Vertical or industry segment of the brand."},"altBusinessId":{"maxLength":50,"type":"string","description":"Alternate business identifier."},"altBusinessIdType":{"$ref":"#/components/schemas/BrandAltBusinessIdType"},"businessContactEmail":{"description":"Business contact email.","oneOf":[{"type":"string","format":"email"},{"type":"string","minLength":0,"maxLength":0}]},"businessContactEmailVerifiedDate":{"type":"string","description":"Timestamp (UTC) when the brand businessContactEmail was verified.","format":"date-time"},"rejection":{"type":"object","description":"Rejection details","required":["description"],"properties":{"description":{"type":"string","description":"Rejection description"},"code":{"type":"string","description":"Rejection code"}}}}},"BrandStatus":{"type":"string","description":"Brand status","enum":["FAILED","PENDING","REJECTED","APPROVED","DELETED","DRAFT"]},"BrandAuthPlusStatus":{"type":"string","description":"Brand Auth+ status","enum":["NOT_APPLICABLE","NEEDS_CHARGE","NEEDS_TRIGGER","DONE"]},"BrandEntityType":{"type":"string","description":"Legal entity type. It can't be updated when the brand is approved.","enum":["PRIVATE_PROFIT","PUBLIC_PROFIT","NON_PROFIT","GOVERNMENT",""]},"BrandStockExchange":{"type":"string","description":"Stock exchange. Required for entityType PUBLIC.","enum":["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",""]},"BrandAltBusinessIdType":{"type":"string","description":"Alternate business identifier type. Required if altBusinessId is provided.","enum":["NONE","DUNS","GIIN","LEI",""]},"Campaign":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"UUID of the campaign.","format":"uuid"},"name":{"type":"string","description":"Campaign name"},"subscription":{"$ref":"#/components/schemas/CampaignSubscription"},"status":{"type":"string","description":"Campaign status","enum":["DRAFT","FAILED","PENDING","REJECTED","APPROVED","DECLINED","SUSPENDED","DELETED","EXPIRED"]},"usecase":{"type":"string","description":"A use case that best matches the purpose of the campaign."},"subUsecases":{"type":"array","description":"If use case is MIXED or LOW_VOLUME mixed an array of 2-5 use cases.","items":{"type":"string"},"nullable":true},"description":{"type":"string","description":"A detailed description of what the campaign is for."},"embeddedLink":{"type":"boolean","description":"Whether messages will contain links. Provide at least one sample containing a link."},"embeddedPhone":{"type":"boolean","description":"Whether messages will contain phone number. Provide at least one sample containing a phone number."},"numberPool":{"type":"boolean","description":"Whether a campaign will be associated with more than 50 numbers e.g. customer service use case."},"ageGated":{"type":"boolean","description":"Whether a campaign contains age-gated content based on carrier/ctia guidelines."},"directLending":{"type":"boolean","description":"Whether a campaign includes content related to direct lending or loan arrangements."},"subscriberOptin":{"type":"boolean","description":"Confirm customer opt in is collected and processed."},"subscriberOptout":{"type":"boolean","description":"Confirm customer opt out is collected and processed."},"subscriberHelp":{"type":"boolean","description":"Confirm an info message is returned if a customer sends \"HELP\"."},"samples":{"type":"array","description":"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.","maxItems":5,"items":{"type":"string","maxLength":1024}},"messageFlow":{"type":"string","description":"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."},"helpMessage":{"type":"string","description":"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."},"helpKeywords":{"type":"string","description":"A comma separated list of keywords. Support of the word HELP is the minimum requirement for requesting help/info."},"optoutKeywords":{"type":"string","description":"A comma separated list of keywords. Support of the word STOP is the minimum requirement for OPT OUT."},"optinKeywords":{"type":"string","description":"A comma separated list of keywords. Support of the word START is the minimum requirement for OPT OUT."},"optinMessage":{"type":"string","description":"Provide an example of the message that will be sent after a customer has opted in."},"optoutMessage":{"type":"string","description":"Provide an example of the message that will be sent after a customer has opted out."},"termsAndConditions":{"type":"boolean","description":"Indicates the campaign follows CTIA messaging principles and best practices."},"brandId":{"type":"string","description":"UUID of the brand associated with this campaign. The specified brand MUST be APPROVED.","format":"uuid"},"resellerId":{"type":"string","description":"UUID of the reseller associated with this campaign. The specified reseller MUST be ACTIVE.","nullable":true},"rejection":{"type":"object","description":"Rejection details","required":["description"],"properties":{"description":{"type":"string","description":"Rejection description"},"code":{"type":"string","description":"Rejection code"}}},"attachments":{"type":"array","description":"Attachments associated with this campaign.","items":{"$ref":"#/components/schemas/Attachment"}},"createdAt":{"type":"string","description":"Timestamp (UTC) when the campaign was created.","format":"date-time"},"updatedAt":{"type":"string","description":"Timestamp (UTC) when the campaign was last updated.","format":"date-time"}}},"CampaignSubscription":{"type":"object","title":"CampaignSubscription","additionalProperties":false,"description":"Describes status of Campaign Subscription","nullable":true,"properties":{"status":{"type":"string","enum":["active","inactive","canceling"]},"subscribedAt":{"type":"string","description":"Timestamp (UTC) when the subscription became active.","format":"date-time"},"updatedAt":{"type":"string","description":"Timestamp (UTC) when the subscription was last updated.","nullable":true,"format":"date-time"},"cancelledAt":{"type":"string","description":"Timestamp (UTC) when the subscription was cancelled.","nullable":true,"format":"date-time"}}},"Attachment":{"type":"object","additionalProperties":false,"required":["id","status","filename","contentType","createdAt","updatedAt"],"properties":{"id":{"type":"string","description":"The ID of the attachment.","format":"uuid"},"status":{"$ref":"#/components/schemas/AttachmentStatus"},"createdAt":{"type":"string","description":"Timestamp (UTC) when the attachment was created.","format":"date-time"},"updatedAt":{"type":"string","description":"Timestamp (UTC) when the attachment was last updated.","nullable":true,"format":"date-time"},"filename":{"type":"string","description":"The original name of the file when it was uploaded."},"mediaUrl":{"type":"string","description":"The URL to download the attachment."},"contentType":{"type":"string","description":"The detected MIME type of the file."}}},"AttachmentStatus":{"type":"string","description":"Attachment status","enum":["PENDING","ACTIVE","PENDING_DELETION","DELETED","FAILED","FAILED_DELETION"]},"TCRNumberLinkingStatus":{"type":"string","enum":["DEFAULT","INACTIVE","PENDING_ACTIVE","ACTIVE","PENDING_INACTIVE","LINK_FAILED","UNLINK_FAILED","ACTIVE_P2P"]},"WorkspaceTCRReseller":{"type":"object","additionalProperties":false,"required":["email","phone","companyName"],"properties":{"id":{"type":"string","description":"UUID of the reseller.","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/ResellerStatus"},"companyName":{"maxLength":255,"type":"string","description":"Legal company name. This should match the legal company name used to register your EIN/Tax ID."},"phone":{"maxLength":20,"type":"string","description":"Valid phone number in e.164 international format."},"email":{"maxLength":100,"type":"string","description":"Valid email address of support contact."},"createdAt":{"type":"string","description":"Timestamp (UTC) when the reseller was created.","format":"date-time"},"updatedAt":{"type":"string","description":"Timestamp (UTC) when the reseller was last updated.","format":"date-time"}}},"ResellerStatus":{"type":"string","description":"Reseller status","enum":["FAILED","PENDING","ACTIVE","DELETED"]},"EndpointComplianceRequirementSMSOriginator":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementFields"},{"$ref":"#/components/schemas/EndpointComplianceRequirementSMSOriginatorDefinition"},{"type":"object","required":["type"],"description":"A SMS Originator requirement groups all requirements to be approved by a Bird specialist.\n","properties":{"type":{"type":"string","enum":["sms-originator"]},"brandStatus":{"$ref":"#/components/schemas/EndpointComplianceRequirementStatus"},"destinationBrandStatus":{"$ref":"#/components/schemas/EndpointComplianceRequirementStatus"},"useCaseStatus":{"$ref":"#/components/schemas/EndpointComplianceRequirementStatus"},"smsOriginatorRequest":{"$ref":"#/components/schemas/SMSOriginatorRequest"}}}]},"EndpointComplianceRequirementSMSOriginatorDefinition":{"allOf":[{"$ref":"#/components/schemas/EndpointComplianceRequirementDefinitionFields"},{"type":"object","properties":{"type":{"type":"string","enum":["sms-originator"]}}}]},"SMSOriginatorRequest":{"type":"object","allOf":[{"$ref":"#/components/schemas/SMSOriginatorRequestFragment"},{"type":"object","required":["organizationId","workspaceId","endpointId"],"properties":{"organizationId":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"endpointId":{"type":"string","format":"uuid"},"smsOriginatorID":{"type":"string","format":"uuid"}}}]},"SMSOriginatorRequestFragment":{"type":"object","required":["id","senderId","status","destinationCountry","destinationType","originatorRequestType","createdAt","updatedAt"],"properties":{"id":{"type":"string","format":"uuid"},"senderId":{"type":"string"},"destinationCountry":{"type":"string","format":"iso3166-1"},"destinationType":{"$ref":"#/components/schemas/SMSOriginatorDestinationType"},"originatorRequestType":{"$ref":"#/components/schemas/SMSOriginatorRequestType"},"status":{"$ref":"#/components/schemas/SMSOriginatorRequestStatus"},"statusMessage":{"type":"string"},"contactEmail":{"type":"string"},"endpointReferenceKey":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"SMSOriginatorDestinationType":{"type":"string","enum":["international","local"]},"SMSOriginatorRequestType":{"type":"string","enum":["short-code","alphanumeric","toll-free","mobile","local","national"]},"SMSOriginatorRequestStatus":{"type":"string","enum":["pending","approved","rejected","canceled"]},"error.detailed":{"additionalProperties":false,"description":"An error returned from the API that includes additional details about the error. The `details` property can contain any additional information about the error that may be helpful for debugging or understanding the error.\n","properties":{"code":{"description":"A unique code that identifies the error. This code can be used to programmatically identify the error.","minLength":3,"type":"string"},"details":{"additionalProperties":true,"description":"Any additional information about the error that may be helpful for debugging or understanding the error.","type":"object"},"message":{"description":"A human-readable message that describes the error.","minLength":1,"type":"string"}},"required":["code","message"],"title":"DetailedError","type":"object"},"error.validation":{"additionalProperties":false,"description":"A validation error returned from the API. The `details` map keys are JSON paths\npointing into the request body / parameters; values are arrays of human-readable\nmessages describing each problem with that path.\n","properties":{"code":{"description":"A unique code that identifies the error. This code can be used to programmatically identify the error.","minLength":3,"type":"string"},"details":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"description":"Per-field validation messages keyed by JSON path.","type":"object"},"message":{"description":"A human-readable message that describes the error.","minLength":1,"type":"string"}},"required":["code","message"],"title":"ValidationError","type":"object"}},"responses":{"error.response.forbidden":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.detailed"}}},"description":"The caller is not allowed to access the resource."},"error.response.not_found":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.detailed"}}},"description":"The requested resource was not found."},"error.response.invalid_request":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.validation"}}},"description":"The request contains invalid parameters or body fields."}}},"paths":{"/workspaces/{workspaceId}/endpoints/{endpointId}/compliance-requirements/{requirementName}":{"put":{"operationId":"updateWorkspaceEndpointComplianceRequirement","description":"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).\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEndpointComplianceRequirementRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointComplianceRequirement"}}},"description":"OK"},"403":{"$ref":"#/components/responses/error.response.forbidden"},"404":{"$ref":"#/components/responses/error.response.not_found"},"422":{"$ref":"#/components/responses/error.response.invalid_request"}},"summary":"Update Workspace Endpoint Compliance Requirement","tags":["endpoints"]}}}}
```

**Example request**

Get **formEntryId from kyc-forms**

{% code fullWidth="true" %}

```
GET https://api.bird.com/organizations/{organizationId}/kyc-forms/4d74e9c0-3f3b-4d5f-8983-b343ecac3986/entries
```

{% endcode %}

organizationId string <mark style="color:orange;">required</mark>

**Example request to link Local Brand Identification**

{% code fullWidth="true" %}

```
PUT https://api.bird.com/workspaces/{workspaceId}/endpoints/{endpointId}/compliance-requirements/brand:au
```

{% endcode %}

workspaceId string <mark style="color:orange;">required</mark>

endpointId string <mark style="color:orange;">required</mark>

```json
{
    "formEntryId":"{formEntryId}",
    "formId":"4d74e9c0-3f3b-4d5f-8983-b343ecac3986",
    "type":"kyc-form"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/api/know-your-customer-kyc-api/local-brand-identification.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
