> For the complete documentation index, see [llms.txt](https://docs.tnid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tnid.com/api-reference/003_definitions/inputtypes.md).

# Input Types

## B2cSubscriptionTopicInput

**Schema:** user, company

```graphql
input B2cSubscriptionTopicInput {
  description: String
  enable_email: Boolean
  enable_sms: Boolean
  enable_voice: Boolean
  "ID of the topic, to be supplied for existing topic"
  id: Id
  "Unique name of the topic"
  name: String!
  type: B2cSubscriptionTopicType
}
```

## CompanyAddressInput

**Schema:** user, company

```graphql
input CompanyAddressInput {
  city: String
  country: String
  id: Id
  state: String
  street: String
  type: CompanyAddressType
  types: [CompanyAddressType!]
  visibility: [CompanyVisibilityType!]
  zip_code: String
}
```

## CompanyEmailInput

**Schema:** user, company

```graphql
input CompanyEmailInput {
  email: String
  id: Id
  type: CompanyEmailType
  types: [CompanyEmailType!]
  visibility: [CompanyVisibilityType!]
}
```

## CompanyInput

**Schema:** company

```graphql
input CompanyInput {
  about_us: String
  addresses: [CompanyAddressInput]
  brand_name: String
  legal_name: String!
  tax_id: String
  year_founded: Integer
}
```

## CompanySocialMediaInput

**Schema:** user, company

```graphql
input CompanySocialMediaInput {
  id: Id
  type: InputSocialMediaType
  url: String
  visibility: [CompanyVisibilityType!]
}
```

## CompanySubscriptionSettingsInput

**Schema:** user, company

```graphql
input CompanySubscriptionSettingsInput {
  enable_email: Boolean
  enable_sms: Boolean
  enable_voice: Boolean
}
```

## CompanyTaxIdInput

**Schema:** user, company

```graphql
input CompanyTaxIdInput {
  id: Id
  "The type of the tax identifier, e.g. EIN, Sales Tax, etc."
  type: CompanyTaxIdType!
  "The US state associated with the tax identifier, if applicable, e.g. for Sales Tax IDs"
  us_state: String
  "The identifier itself, e.g. the EIN number, digits only, no dashes or spaces"
  value: String!
  "The visibility of the tax ID, default is ["PRIVATE"]"
  visibility: [CompanyVisibilityType!]
}
```

## CompanyTelephoneNumberInput

**Schema:** user, company

```graphql
input CompanyTelephoneNumberInput {
  "Country code of new telephone number, default is 1 (only used during creation)"
  country_code: String
  id: Id
  "Telephone number (only used during creation)"
  number: String
  type: CompanyTelephoneNumberType
  types: [CompanyTelephoneNumberType!]
  visibility: [CompanyVisibilityType!]
}
```

## CompanyWebpageInput

**Schema:** user, company

```graphql
input CompanyWebpageInput {
  id: Id
  type: InputWebpageType
  url: String
  visibility: [CompanyVisibilityType!]
}
```

## FormVersionFieldInput

**Schema:** company

```graphql
input FormVersionFieldInput {
  autofill_key: String
  content: String
  image_url: String
  label: String
  options: [String]
  required: Boolean
  style: Json
  type: FormBuilderFieldType!
  use_as_identifier: Boolean
}
```

## InviteUserInput

**Schema:** user, company

```graphql
input InviteUserInput {
  "Email of the user you want to create (one of email/telephone_number is required)"
  email: String
  "First name of the user you want to create"
  first_name: String
  "Last name of the user you want to create"
  last_name: String
  "Additional information"
  metadata: Json
  "Send an invitation email to the user you want to create"
  send_invite_email: Boolean
  "Send an invitation SMS to the user you want to create"
  send_invite_sms: Boolean
  "Telephone Number of the user you want to create (one of email/telephone_number is required)"
  telephone_number: String
}
```

## NavigationEntryInput

**Schema:** user, company

One place the caller can open, as they were offered it

```graphql
input NavigationEntryInput {
  "The label carried for this entry"
  label: String!
  "The path this entry opens"
  path: String!
  "Heading this entry sits under, when it sits under one"
  section: String
}
```

## RcsAuthorizationContactEmailInput

**Schema:** company

Email entry for an inline-created authorization contact

```graphql
input RcsAuthorizationContactEmailInput {
  email: String!
}
```

## RcsAuthorizationContactInput

**Schema:** company

Authorization contact created inline; pass instead of `authorization_contact_id`

```graphql
input RcsAuthorizationContactInput {
  emails: [RcsAuthorizationContactEmailInput!]
  first_name: String
  last_name: String
  telephone_numbers: [RcsAuthorizationContactTelephoneNumberInput!]
  title: String
}
```

## RcsAuthorizationContactTelephoneNumberInput

**Schema:** company

Telephone-number entry for an inline-created authorization contact

```graphql
input RcsAuthorizationContactTelephoneNumberInput {
  country_code: String!
  number: String!
}
```

## RcsSuggestedActionInput

**Schema:** company

```graphql
input RcsSuggestedActionInput {
  name: String!
}
```

## RcsSuggestedReplyInput

**Schema:** company

```graphql
input RcsSuggestedReplyInput {
  name: String!
}
```

## TenDlcRegisterBrandInput

**Schema:** company

```graphql
input TenDlcRegisterBrandInput {
  "Alternative business ID"
  alt_business_id: String
  "Alternative business ID type (NONE, DUNS, GIIN, LEI)"
  alt_business_id_type: String
  "Relationship to brand"
  brand_relationship: String!
  "Business contact email (required for public profit)"
  business_contact_email: String
  "City"
  city: String!
  "Company ID to associate with brand (required if not creating new company)"
  company_id: Id
  "Company legal name (required for non-sole proprietors)"
  company_name: String
  "Country code (2-letter ISO)"
  country: String!
  "Brand/Marketing/DBA name"
  display_name: String!
  "Employer identification number (required for non-sole proprietors)"
  ein: String
  "EIN issuing country (default: US)"
  ein_issuing_country: String
  "Contact email"
  email: String!
  "Business entity type"
  entity_type: TenDlcEntityType!
  "Contact first name (required for sole proprietors)"
  first_name: String
  "Contact last name (required for sole proprietors)"
  last_name: String
  "Mobile phone number (required for sole proprietors)"
  mobile_phone: String
  "Test/mock brand flag"
  mock: Boolean
  "Contact phone number (E.164 format)"
  phone: String!
  "Postal code"
  postal_code: String!
  "External reference ID"
  reference_id: String
  "Create new company during registration"
  register_new_company: Boolean
  "State code (required for US addresses)"
  state: String
  "Stock exchange (required for public profit)"
  stock_exchange: String
  "Stock ticker symbol (required for public profit)"
  stock_symbol: String
  "Street address"
  street: String!
  "10DLC API key ID to register the brand with"
  ten_dlc_api_key_id: Id!
  "Industry vertical code (required for non-sole proprietors)"
  vertical: String
  "Brand website URL (required for public profit)"
  website: String
}
```

## TenDlcRegisterCampaignInput

**Schema:** company

```graphql
input TenDlcRegisterCampaignInput {
  "Content is age-gated"
  age_gated: Boolean
  "Auto-renew each billing period (recommended), defaulting to true"
  auto_renewal: Boolean
  "Campaign description (min 40 chars)"
  description: String!
  "Direct lending campaign"
  direct_lending: Boolean
  "Campaign includes embedded links"
  embedded_link: Boolean
  "Sample embedded link"
  embedded_link_sample: String
  "Campaign includes embedded phone numbers"
  embedded_phone: Boolean
  "Keywords for help (default: 'HELP')"
  help_keywords: String
  "Help response message (min 20 chars)"
  help_message: String
  "Internal brand identifier (UUID)"
  internal_brand_id: Id!
  "Message flow description (min 40 chars)"
  message_flow: String!
  "Test/mock campaign flag"
  mock: Boolean
  "Number Resource Number ID"
  nnid: String!
  "Uses number pooling"
  number_pool: Boolean
  "Keywords for opt-in (e.g., 'SUBSCRIBE, JOIN')"
  optin_keywords: String
  "Opt-in confirmation message (min 20 chars)"
  optin_message: String
  "Keywords for opt-out (default: 'STOP')"
  optout_keywords: String
  "Opt-out confirmation message (min 20 chars)"
  optout_message: String
  "URL to privacy policy"
  privacy_policy_link: String
  "Internal reference identifier"
  reference_id: String
  "Reseller identifier or CSP ID"
  reseller_id: String
  "Message sample 1 (min 20 chars)"
  sample1: String
  "Message sample 2 (min 20 chars)"
  sample2: String
  "Message sample 3 (min 20 chars)"
  sample3: String
  "Message sample 4 (min 20 chars)"
  sample4: String
  "Message sample 5 (min 20 chars)"
  sample5: String
  "Sub-use case codes"
  sub_usecases: [String]
  "Requires help functionality"
  subscriber_help: Boolean
  "Requires opt-in functionality"
  subscriber_optin: Boolean
  "Requires opt-out functionality"
  subscriber_optout: Boolean
  "Telephone numbers to register"
  telephone_numbers: [TenDlcTelephoneNumberInput]
  "10DLC API key ID to register the campaign with"
  ten_dlc_api_key_id: Id!
  "CSP agrees to terms"
  terms_and_conditions: Boolean
  "URL to terms and conditions"
  terms_and_conditions_link: String
  "Use TNID's privacy policy"
  use_tnid_privacy_policy: Boolean
  "Use TNID's terms and conditions"
  use_tnid_terms_and_conditions: Boolean
  "Primary use case code"
  usecase: String!
}
```

## TenDlcTelephoneNumberInput

**Schema:** company

```graphql
input TenDlcTelephoneNumberInput {
  "Full telephone number (E.164 format)"
  number: String!
}
```

## TenDlcUpdateBrandInput

**Schema:** company

```graphql
input TenDlcUpdateBrandInput {
  "Alternative business ID"
  alt_business_id: String
  "Alternative business ID type"
  alt_business_id_type: String
  "Relationship to brand"
  brand_relationship: String
  "Business contact email"
  business_contact_email: String
  "City"
  city: String
  "Company legal name"
  company_name: String
  "Country code (2-letter ISO)"
  country: String
  "Brand/Marketing/DBA name"
  display_name: String
  "Employer identification number"
  ein: String
  "EIN issuing country"
  ein_issuing_country: String
  "Contact email"
  email: String
  "Business entity type"
  entity_type: TenDlcEntityType
  "Contact first name"
  first_name: String
  "Contact last name"
  last_name: String
  "Mobile phone number"
  mobile_phone: String
  "Test/mock brand flag"
  mock: Boolean
  "Additional custom attributes"
  optional_attributes: Json
  "Contact phone number (E.164 format)"
  phone: String
  "Postal code"
  postal_code: String
  "External reference ID"
  reference_id: String
  "State code"
  state: String
  "Stock exchange"
  stock_exchange: String
  "Stock ticker symbol"
  stock_symbol: String
  "Street address"
  street: String
  "Industry vertical code"
  vertical: String
  "Brand website URL"
  website: String
}
```

## TenDlcUpdateCampaignInput

**Schema:** company

```graphql
input TenDlcUpdateCampaignInput {
  "Content is age-gated"
  age_gated: Boolean
  "Auto-renew each billing period (recommended), defaulting to true"
  auto_renewal: Boolean
  "Campaign description (min 40 chars)"
  description: String
  "Direct lending campaign"
  direct_lending: Boolean
  "Campaign includes embedded links"
  embedded_link: Boolean
  "Sample embedded link"
  embedded_link_sample: String
  "Campaign includes embedded phone numbers"
  embedded_phone: Boolean
  "Keywords for help"
  help_keywords: String
  "Help response message (min 20 chars)"
  help_message: String
  "Message flow description (min 40 chars)"
  message_flow: String
  "Test/mock campaign flag"
  mock: Boolean
  "Number Resource Number ID"
  nnid: String
  "Uses number pooling"
  number_pool: Boolean
  "Keywords for opt-in"
  optin_keywords: String
  "Opt-in confirmation message (min 20 chars)"
  optin_message: String
  "Keywords for opt-out"
  optout_keywords: String
  "Opt-out confirmation message (min 20 chars)"
  optout_message: String
  "URL to privacy policy"
  privacy_policy_link: String
  "Internal reference identifier"
  reference_id: String
  "Reseller identifier or CSP ID"
  reseller_id: String
  "Message sample 1 (min 20 chars)"
  sample1: String
  "Message sample 2 (min 20 chars)"
  sample2: String
  "Message sample 3 (min 20 chars)"
  sample3: String
  "Message sample 4 (min 20 chars)"
  sample4: String
  "Message sample 5 (min 20 chars)"
  sample5: String
  "Sub-use case codes"
  sub_usecases: [String]
  "Requires help functionality"
  subscriber_help: Boolean
  "Requires opt-in functionality"
  subscriber_optin: Boolean
  "Requires opt-out functionality"
  subscriber_optout: Boolean
  "Telephone numbers to register"
  telephone_numbers: [TenDlcTelephoneNumberInput]
  "CSP agrees to terms"
  terms_and_conditions: Boolean
  "URL to terms and conditions"
  terms_and_conditions_link: String
  "Use TNID's privacy policy"
  use_tnid_privacy_policy: Boolean
  "Use TNID's terms and conditions"
  use_tnid_terms_and_conditions: Boolean
  "Primary use case code"
  usecase: String
}
```

## TrustedDomainInput

**Schema:** user, company

```graphql
input TrustedDomainInput {
  domain: String
  id: Id
}
```

## UserAddressInput

**Schema:** user

```graphql
input UserAddressInput {
  city: String
  country: String
  id: Id
  state: String
  street: String
  types: [UserAddressType!]
  visibility: [UserVisibilityType!]
  zip_code: String
}
```

## UserEmailInput

**Schema:** user

```graphql
input UserEmailInput {
  email: String
  id: Id
  primary: Boolean
  types: [UserEmailType!]
  visibility: [UserVisibilityType!]
}
```

## UserSocialMediaInput

**Schema:** user

```graphql
input UserSocialMediaInput {
  id: Id
  type: InputSocialMediaType
  url: String
  visibility: [UserVisibilityType!]
}
```

## UserTelephoneNumberInput

**Schema:** user

```graphql
input UserTelephoneNumberInput {
  "Country code of new telephone number, default is 1 (only used during creation)"
  country_code: String
  id: Id
  "Telephone number (only used during creation)"
  number: String
  primary: Boolean
  types: [UserTelephoneNumberType!]
  visibility: [UserVisibilityType!]
}
```

## UserWebpageInput

**Schema:** user

```graphql
input UserWebpageInput {
  id: Id
  type: InputWebpageType
  url: String
  visibility: [UserVisibilityType!]
}
```
