{
  "service": "textit",
  "displayName": "TextIt",
  "categories": [
    "Communication",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "TEXTIT_API_TOKEN",
      "description": "TextIt API token used with the Authorization: Token <token> header. Sign in and open the official API Explorer linked from https://textit.com/api/v2/ to view or test API requests."
    }
  ],
  "homepageUrl": "https://textit.com",
  "actions": [
    {
      "id": "textit.create_contact",
      "service": "textit",
      "name": "create_contact",
      "description": "Create a TextIt contact with optional URNs, groups, language, and fields.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The full name of the contact."
          },
          "language": {
            "type": "string",
            "description": "The preferred language for the contact as a 3 letter ISO code."
          },
          "urns": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A contact URN."
            },
            "description": "URNs to associate with the contact.",
            "maxItems": 100
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A TextIt group UUID.",
              "format": "uuid"
            },
            "description": "Group UUIDs this contact should belong to.",
            "maxItems": 100
          },
          "fields": {
            "type": "object",
            "additionalProperties": {
              "description": "A TextIt contact field value."
            },
            "description": "TextIt contact field values keyed by contact field key."
          }
        },
        "additionalProperties": false,
        "description": "Input payload for creating a TextIt contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "description": "The contact UUID.",
                "format": "uuid"
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The contact name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "description": "The contact status returned by TextIt."
              },
              "language": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The preferred language for the contact."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "urns": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A contact URN."
                },
                "description": "The URNs associated with the contact."
              },
              "groups": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "The group UUID.",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string",
                      "description": "The group name."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A TextIt group reference."
                },
                "description": "The groups this contact belongs to."
              },
              "fields": {
                "type": "object",
                "additionalProperties": {
                  "description": "A TextIt contact field value."
                },
                "description": "TextIt contact field values keyed by contact field key."
              },
              "flow": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "uuid": {
                        "type": "string",
                        "description": "The flow UUID.",
                        "format": "uuid"
                      },
                      "name": {
                        "type": "string",
                        "description": "The flow name."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A TextIt flow reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created_on": {
                "type": "string",
                "description": "When the contact was created.",
                "format": "date-time"
              },
              "modified_on": {
                "type": "string",
                "description": "When the contact was last modified.",
                "format": "date-time"
              },
              "last_seen_on": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "When the contact last communicated.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "A TextIt contact."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A TextIt contact response."
      }
    },
    {
      "id": "textit.create_group",
      "service": "textit",
      "name": "create_group",
      "description": "Create a TextIt contact group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The group name."
          }
        },
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "description": "Input payload for creating a TextIt group."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "group": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "description": "The group UUID.",
                "format": "uuid"
              },
              "name": {
                "type": "string",
                "description": "The group name."
              },
              "query": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The smart group query, or null for manual groups."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "description": "The group status returned by TextIt."
              },
              "system": {
                "type": "boolean",
                "description": "Whether this is a system group."
              },
              "count": {
                "type": "integer",
                "description": "The number of contacts in the group."
              }
            },
            "additionalProperties": true,
            "description": "A TextIt contact group."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A TextIt group response."
      }
    },
    {
      "id": "textit.delete_contact",
      "service": "textit",
      "name": "delete_contact",
      "description": "Delete a TextIt contact by UUID or URN.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "The contact UUID.",
            "format": "uuid"
          },
          "urn": {
            "type": "string",
            "minLength": 1,
            "description": "The contact URN."
          }
        },
        "additionalProperties": false,
        "description": "Input payload for selecting a TextIt contact by UUID or URN. Provide exactly one of uuid or urn."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the resource was deleted."
          }
        },
        "additionalProperties": false,
        "description": "Deletion status for a TextIt resource."
      }
    },
    {
      "id": "textit.delete_group",
      "service": "textit",
      "name": "delete_group",
      "description": "Delete a TextIt contact group by UUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "The group UUID.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "uuid"
        ],
        "description": "Input payload for selecting a TextIt group."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the resource was deleted."
          }
        },
        "additionalProperties": false,
        "description": "Deletion status for a TextIt resource."
      }
    },
    {
      "id": "textit.get_workspace",
      "service": "textit",
      "name": "get_workspace",
      "description": "Get the current TextIt workspace details for the API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input parameters are required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "workspace": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "description": "The workspace UUID.",
                "format": "uuid"
              },
              "name": {
                "type": "string",
                "description": "The workspace name."
              },
              "country": {
                "type": "string",
                "description": "The workspace country code."
              },
              "languages": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "An ISO-639-3 language code."
                },
                "description": "The workspace language codes."
              },
              "timezone": {
                "type": "string",
                "description": "The workspace timezone."
              },
              "date_style": {
                "type": "string",
                "description": "The workspace date style."
              },
              "anon": {
                "type": "boolean",
                "description": "Whether the workspace is anonymous."
              }
            },
            "additionalProperties": true,
            "description": "A TextIt workspace."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "The current TextIt workspace response."
      }
    },
    {
      "id": "textit.list_broadcasts",
      "service": "textit",
      "name": "list_broadcasts",
      "description": "List TextIt broadcasts with optional UUID, date, and cursor filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Filter by broadcast UUID.",
            "format": "uuid"
          },
          "before": {
            "type": "string",
            "description": "Return broadcasts created before this datetime.",
            "format": "date-time"
          },
          "after": {
            "type": "string",
            "description": "Return broadcasts created after this datetime.",
            "format": "date-time"
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous TextIt response."
          }
        },
        "additionalProperties": false,
        "description": "Filters for listing TextIt broadcasts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as cursor on the next request, or null when there is no next page."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as cursor for the previous page, or null when there is no previous page."
              },
              {
                "type": "null"
              }
            ]
          },
          "broadcasts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "The broadcast UUID.",
                  "format": "uuid"
                },
                "urns": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A recipient URN."
                  },
                  "description": "The URNs that received the broadcast."
                },
                "contacts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "uuid": {
                        "type": "string",
                        "description": "The contact UUID.",
                        "format": "uuid"
                      },
                      "name": {
                        "type": "string",
                        "description": "The contact name."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A TextIt contact reference."
                  },
                  "description": "The contacts that received the broadcast."
                },
                "groups": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "uuid": {
                        "type": "string",
                        "description": "The group UUID.",
                        "format": "uuid"
                      },
                      "name": {
                        "type": "string",
                        "description": "The group name."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A TextIt group reference."
                  },
                  "description": "The groups that received the broadcast."
                },
                "text": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string",
                    "description": "The translated message text."
                  },
                  "description": "Message text translations keyed by ISO-639-3 language code."
                },
                "attachments": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "A TextIt media object UUID."
                    },
                    "description": "Attachment media UUIDs for one language."
                  },
                  "description": "Attachment media UUIDs keyed by ISO-639-3 language code."
                },
                "quick_replies": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "description": "The quick reply display text."
                        },
                        "extra": {
                          "type": "string",
                          "description": "Optional extra quick reply metadata."
                        }
                      },
                      "additionalProperties": true,
                      "description": "A TextIt quick reply object."
                    },
                    "description": "Quick replies for one language."
                  },
                  "description": "Quick replies keyed by ISO-639-3 language code."
                },
                "base_language": {
                  "type": "string",
                  "description": "The default translation language."
                },
                "status": {
                  "type": "string",
                  "description": "The broadcast status returned by TextIt."
                },
                "created_on": {
                  "type": "string",
                  "description": "When the broadcast was created.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "A TextIt broadcast."
            },
            "description": "Broadcasts returned by TextIt."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A page of TextIt broadcasts."
      }
    },
    {
      "id": "textit.list_contacts",
      "service": "textit",
      "name": "list_contacts",
      "description": "List TextIt contacts with optional UUID, URN, group, date, and cursor filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Filter by contact UUID.",
            "format": "uuid"
          },
          "urn": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by contact URN."
          },
          "group": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by group name or UUID."
          },
          "before": {
            "type": "string",
            "description": "Return contacts modified before this datetime.",
            "format": "date-time"
          },
          "after": {
            "type": "string",
            "description": "Return contacts modified after this datetime.",
            "format": "date-time"
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous TextIt response."
          }
        },
        "additionalProperties": false,
        "description": "Filters for listing TextIt contacts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as cursor on the next request, or null when there is no next page."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as cursor for the previous page, or null when there is no previous page."
              },
              {
                "type": "null"
              }
            ]
          },
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "The contact UUID.",
                  "format": "uuid"
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The contact name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "type": "string",
                  "description": "The contact status returned by TextIt."
                },
                "language": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The preferred language for the contact."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "urns": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A contact URN."
                  },
                  "description": "The URNs associated with the contact."
                },
                "groups": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "uuid": {
                        "type": "string",
                        "description": "The group UUID.",
                        "format": "uuid"
                      },
                      "name": {
                        "type": "string",
                        "description": "The group name."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A TextIt group reference."
                  },
                  "description": "The groups this contact belongs to."
                },
                "fields": {
                  "type": "object",
                  "additionalProperties": {
                    "description": "A TextIt contact field value."
                  },
                  "description": "TextIt contact field values keyed by contact field key."
                },
                "flow": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "uuid": {
                          "type": "string",
                          "description": "The flow UUID.",
                          "format": "uuid"
                        },
                        "name": {
                          "type": "string",
                          "description": "The flow name."
                        }
                      },
                      "additionalProperties": true,
                      "description": "A TextIt flow reference."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created_on": {
                  "type": "string",
                  "description": "When the contact was created.",
                  "format": "date-time"
                },
                "modified_on": {
                  "type": "string",
                  "description": "When the contact was last modified.",
                  "format": "date-time"
                },
                "last_seen_on": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "When the contact last communicated.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": true,
              "description": "A TextIt contact."
            },
            "description": "Contacts returned by TextIt."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A page of TextIt contacts."
      }
    },
    {
      "id": "textit.list_groups",
      "service": "textit",
      "name": "list_groups",
      "description": "List TextIt contact groups with optional filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Filter by group UUID.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by group name."
          },
          "manualOnly": {
            "type": "boolean",
            "description": "Whether to only return manual groups."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous TextIt response."
          }
        },
        "additionalProperties": false,
        "description": "Filters for listing TextIt contact groups."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as cursor on the next request, or null when there is no next page."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as cursor for the previous page, or null when there is no previous page."
              },
              {
                "type": "null"
              }
            ]
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "The group UUID.",
                  "format": "uuid"
                },
                "name": {
                  "type": "string",
                  "description": "The group name."
                },
                "query": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The smart group query, or null for manual groups."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "type": "string",
                  "description": "The group status returned by TextIt."
                },
                "system": {
                  "type": "boolean",
                  "description": "Whether this is a system group."
                },
                "count": {
                  "type": "integer",
                  "description": "The number of contacts in the group."
                }
              },
              "additionalProperties": true,
              "description": "A TextIt contact group."
            },
            "description": "Groups returned by TextIt."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A page of TextIt contact groups."
      }
    },
    {
      "id": "textit.list_messages",
      "service": "textit",
      "name": "list_messages",
      "description": "List TextIt messages with optional folder, UUID, date, and cursor filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Filter by message UUID.",
            "format": "uuid"
          },
          "folder": {
            "type": "string",
            "enum": [
              "inbox",
              "flows",
              "archived",
              "outbox",
              "sent",
              "failed"
            ],
            "description": "The message folder to list."
          },
          "before": {
            "type": "string",
            "description": "Return messages created before this datetime.",
            "format": "date-time"
          },
          "after": {
            "type": "string",
            "description": "Return messages created after this datetime.",
            "format": "date-time"
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous TextIt response."
          }
        },
        "additionalProperties": false,
        "description": "Filters for listing TextIt messages."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as cursor on the next request, or null when there is no next page."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as cursor for the previous page, or null when there is no previous page."
              },
              {
                "type": "null"
              }
            ]
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "The message UUID.",
                  "format": "uuid"
                },
                "contact": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "The contact UUID.",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string",
                      "description": "The contact name."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A TextIt contact reference."
                },
                "urn": {
                  "type": "string",
                  "description": "The sender or receiver URN for the message."
                },
                "channel": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "The channel UUID.",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string",
                      "description": "The channel name."
                    }
                  },
                  "additionalProperties": true,
                  "description": "The TextIt channel that handled the message."
                },
                "direction": {
                  "type": "string",
                  "description": "The message direction returned by TextIt."
                },
                "type": {
                  "type": "string",
                  "description": "The TextIt message type."
                },
                "status": {
                  "type": "string",
                  "description": "The message status returned by TextIt."
                },
                "visibility": {
                  "type": "string",
                  "description": "The message visibility returned by TextIt."
                },
                "text": {
                  "type": "string",
                  "description": "The logical message text."
                },
                "attachments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "An attachment."
                  },
                  "description": "The message attachments returned by TextIt."
                },
                "quick_replies": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "text": {
                        "type": "string",
                        "description": "The quick reply display text."
                      },
                      "extra": {
                        "type": "string",
                        "description": "Optional extra quick reply metadata."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A TextIt quick reply object."
                  },
                  "description": "The message quick replies returned by TextIt."
                },
                "labels": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "uuid": {
                        "type": "string",
                        "description": "The label UUID.",
                        "format": "uuid"
                      },
                      "name": {
                        "type": "string",
                        "description": "The label name."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A TextIt label reference."
                  },
                  "description": "The message labels returned by TextIt."
                },
                "flow": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "uuid": {
                          "type": "string",
                          "description": "The flow UUID.",
                          "format": "uuid"
                        },
                        "name": {
                          "type": "string",
                          "description": "The flow name."
                        }
                      },
                      "additionalProperties": true,
                      "description": "A TextIt flow reference."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created_on": {
                  "type": "string",
                  "description": "When the message was created or received.",
                  "format": "date-time"
                },
                "sent_on": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "When the message was sent.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "modified_on": {
                  "type": "string",
                  "description": "When the message was last modified.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "description": "A TextIt message."
            },
            "description": "Messages returned by TextIt."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A page of TextIt messages."
      }
    },
    {
      "id": "textit.send_broadcast",
      "service": "textit",
      "name": "send_broadcast",
      "description": "Create and send a TextIt broadcast to URNs, contacts, or groups.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "urns": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A recipient URN."
            },
            "description": "Recipient URNs for the broadcast.",
            "maxItems": 100
          },
          "contacts": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A contact UUID.",
              "format": "uuid"
            },
            "description": "Recipient contact UUIDs for the broadcast.",
            "maxItems": 100
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A group UUID.",
              "format": "uuid"
            },
            "description": "Recipient group UUIDs for the broadcast.",
            "maxItems": 100
          },
          "text": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "The translated message text."
            },
            "description": "Message text translations keyed by ISO-639-3 language code."
          },
          "attachments": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string",
                "description": "A TextIt media object UUID."
              },
              "description": "Attachment media UUIDs for one language."
            },
            "description": "Attachment media UUIDs keyed by ISO-639-3 language code."
          },
          "quick_replies": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The quick reply display text."
                  },
                  "extra": {
                    "type": "string",
                    "description": "Optional extra quick reply metadata."
                  }
                },
                "additionalProperties": true,
                "description": "A TextIt quick reply object."
              },
              "description": "Quick replies for one language."
            },
            "description": "Quick replies keyed by ISO-639-3 language code."
          },
          "base_language": {
            "type": "string",
            "description": "The default translation language as an ISO-639-3 code."
          }
        },
        "additionalProperties": false,
        "required": [
          "text"
        ],
        "description": "Input payload for creating and sending a TextIt broadcast. Provide at least one of urns, contacts, or groups."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "broadcast": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "description": "The broadcast UUID.",
                "format": "uuid"
              },
              "urns": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A recipient URN."
                },
                "description": "The URNs that received the broadcast."
              },
              "contacts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "The contact UUID.",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string",
                      "description": "The contact name."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A TextIt contact reference."
                },
                "description": "The contacts that received the broadcast."
              },
              "groups": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "The group UUID.",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string",
                      "description": "The group name."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A TextIt group reference."
                },
                "description": "The groups that received the broadcast."
              },
              "text": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "description": "The translated message text."
                },
                "description": "Message text translations keyed by ISO-639-3 language code."
              },
              "attachments": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A TextIt media object UUID."
                  },
                  "description": "Attachment media UUIDs for one language."
                },
                "description": "Attachment media UUIDs keyed by ISO-639-3 language code."
              },
              "quick_replies": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "text": {
                        "type": "string",
                        "description": "The quick reply display text."
                      },
                      "extra": {
                        "type": "string",
                        "description": "Optional extra quick reply metadata."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A TextIt quick reply object."
                  },
                  "description": "Quick replies for one language."
                },
                "description": "Quick replies keyed by ISO-639-3 language code."
              },
              "base_language": {
                "type": "string",
                "description": "The default translation language."
              },
              "status": {
                "type": "string",
                "description": "The broadcast status returned by TextIt."
              },
              "created_on": {
                "type": "string",
                "description": "When the broadcast was created.",
                "format": "date-time"
              }
            },
            "additionalProperties": true,
            "description": "A TextIt broadcast."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A TextIt broadcast response."
      }
    },
    {
      "id": "textit.send_message",
      "service": "textit",
      "name": "send_message",
      "description": "Send a TextIt message to a single contact.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "string",
            "description": "The UUID of the contact to message.",
            "format": "uuid"
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "description": "The message text."
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A media object UUID."
            },
            "description": "TextIt media object UUIDs to attach.",
            "maxItems": 10
          },
          "quick_replies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "The quick reply display text."
                },
                "extra": {
                  "type": "string",
                  "description": "Optional extra quick reply metadata."
                }
              },
              "additionalProperties": true,
              "description": "A TextIt quick reply object."
            },
            "description": "Quick replies to include with the message.",
            "maxItems": 10
          }
        },
        "additionalProperties": false,
        "required": [
          "contact",
          "text"
        ],
        "description": "Input payload for sending a TextIt message to one contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "description": "The message UUID.",
                "format": "uuid"
              },
              "contact": {
                "type": "object",
                "properties": {
                  "uuid": {
                    "type": "string",
                    "description": "The contact UUID.",
                    "format": "uuid"
                  },
                  "name": {
                    "type": "string",
                    "description": "The contact name."
                  }
                },
                "additionalProperties": true,
                "description": "A TextIt contact reference."
              },
              "urn": {
                "type": "string",
                "description": "The sender or receiver URN for the message."
              },
              "channel": {
                "type": "object",
                "properties": {
                  "uuid": {
                    "type": "string",
                    "description": "The channel UUID.",
                    "format": "uuid"
                  },
                  "name": {
                    "type": "string",
                    "description": "The channel name."
                  }
                },
                "additionalProperties": true,
                "description": "The TextIt channel that handled the message."
              },
              "direction": {
                "type": "string",
                "description": "The message direction returned by TextIt."
              },
              "type": {
                "type": "string",
                "description": "The TextIt message type."
              },
              "status": {
                "type": "string",
                "description": "The message status returned by TextIt."
              },
              "visibility": {
                "type": "string",
                "description": "The message visibility returned by TextIt."
              },
              "text": {
                "type": "string",
                "description": "The logical message text."
              },
              "attachments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "An attachment."
                },
                "description": "The message attachments returned by TextIt."
              },
              "quick_replies": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "description": "The quick reply display text."
                    },
                    "extra": {
                      "type": "string",
                      "description": "Optional extra quick reply metadata."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A TextIt quick reply object."
                },
                "description": "The message quick replies returned by TextIt."
              },
              "labels": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "The label UUID.",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string",
                      "description": "The label name."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A TextIt label reference."
                },
                "description": "The message labels returned by TextIt."
              },
              "flow": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "uuid": {
                        "type": "string",
                        "description": "The flow UUID.",
                        "format": "uuid"
                      },
                      "name": {
                        "type": "string",
                        "description": "The flow name."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A TextIt flow reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created_on": {
                "type": "string",
                "description": "When the message was created or received.",
                "format": "date-time"
              },
              "sent_on": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "When the message was sent.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "modified_on": {
                "type": "string",
                "description": "When the message was last modified.",
                "format": "date-time"
              }
            },
            "additionalProperties": true,
            "description": "A TextIt message."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A TextIt message response."
      }
    },
    {
      "id": "textit.update_contact",
      "service": "textit",
      "name": "update_contact",
      "description": "Update a TextIt contact by UUID or URN.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "The contact UUID to update.",
            "format": "uuid"
          },
          "urn": {
            "type": "string",
            "minLength": 1,
            "description": "The contact URN to update."
          },
          "name": {
            "type": "string",
            "description": "The full name of the contact."
          },
          "language": {
            "type": "string",
            "description": "The preferred language for the contact as a 3 letter ISO code."
          },
          "urns": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A contact URN."
            },
            "description": "URNs to associate with the contact.",
            "maxItems": 100
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A TextIt group UUID.",
              "format": "uuid"
            },
            "description": "Group UUIDs this contact should belong to.",
            "maxItems": 100
          },
          "fields": {
            "type": "object",
            "additionalProperties": {
              "description": "A TextIt contact field value."
            },
            "description": "TextIt contact field values keyed by contact field key."
          }
        },
        "additionalProperties": false,
        "description": "Input payload for updating a TextIt contact by UUID or URN. Provide exactly one of uuid or urn, and at least one contact field to update."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "description": "The contact UUID.",
                "format": "uuid"
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The contact name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "description": "The contact status returned by TextIt."
              },
              "language": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The preferred language for the contact."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "urns": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A contact URN."
                },
                "description": "The URNs associated with the contact."
              },
              "groups": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "The group UUID.",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string",
                      "description": "The group name."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A TextIt group reference."
                },
                "description": "The groups this contact belongs to."
              },
              "fields": {
                "type": "object",
                "additionalProperties": {
                  "description": "A TextIt contact field value."
                },
                "description": "TextIt contact field values keyed by contact field key."
              },
              "flow": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "uuid": {
                        "type": "string",
                        "description": "The flow UUID.",
                        "format": "uuid"
                      },
                      "name": {
                        "type": "string",
                        "description": "The flow name."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A TextIt flow reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created_on": {
                "type": "string",
                "description": "When the contact was created.",
                "format": "date-time"
              },
              "modified_on": {
                "type": "string",
                "description": "When the contact was last modified.",
                "format": "date-time"
              },
              "last_seen_on": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "When the contact last communicated.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "A TextIt contact."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A TextIt contact response."
      }
    },
    {
      "id": "textit.update_group",
      "service": "textit",
      "name": "update_group",
      "description": "Update a TextIt contact group name.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "The group UUID to update.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The new group name."
          }
        },
        "additionalProperties": false,
        "required": [
          "uuid",
          "name"
        ],
        "description": "Input payload for updating a TextIt group."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "group": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "description": "The group UUID.",
                "format": "uuid"
              },
              "name": {
                "type": "string",
                "description": "The group name."
              },
              "query": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The smart group query, or null for manual groups."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "description": "The group status returned by TextIt."
              },
              "system": {
                "type": "boolean",
                "description": "Whether this is a system group."
              },
              "count": {
                "type": "integer",
                "description": "The number of contacts in the group."
              }
            },
            "additionalProperties": true,
            "description": "A TextIt contact group."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw TextIt API response."
          }
        },
        "additionalProperties": false,
        "description": "A TextIt group response."
      }
    }
  ]
}
