> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jurichat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Criar agente

> Cria um novo agente no sistema



## OpenAPI

````yaml https://api.jurichat.com/docs/client/openapi.json post /agents/
openapi: 3.1.0
info:
  title: JuriChat API — Documentação para Integradores
  description: ''
  version: 1.0.0
servers:
  - url: https://api.jurichat.com
    description: Production server
security:
  - apiKeyAuth: []
tags: []
paths:
  /agents/:
    post:
      tags:
        - Agents
      summary: Criar agente
      description: Cria um novo agente no sistema
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Nome do agente.
                avatarUrl:
                  type: string
                  description: URL do avatar do agente.
                communicationStyle:
                  type: string
                  description: Estilo de comunicação do agente.
                behavior:
                  type: string
                  description: Comportamento esperado do agente.
                purpose:
                  type: string
                  description: Objetivo do agente.
                agentModelId:
                  type: string
                  pattern: ^[cC][^\s-]{8,}$
                  description: ID do modelo de LLM.
                productName:
                  type: string
                  description: Nome do produto ou escritório.
                productSite:
                  type: string
                  description: Site do produto ou escritório.
                productDescription:
                  type: string
                  description: Descrição do produto ou escritório.
                canRequestHumanHelp:
                  type: boolean
                  default: false
                  description: Permite solicitar atendimento humano.
                canCreateTickets:
                  type: boolean
                  default: false
                  description: Permite criar tickets automaticamente.
                restrictToAllowedTopics:
                  type: boolean
                  default: false
                  description: Restringe o agente aos tópicos permitidos.
                allowConsultingProcesses:
                  type: boolean
                  default: false
                  description: Permite consultar processos.
                responseDelaySeconds:
                  type: number
                  nullable: true
                  description: Atraso em segundos antes de responder. Null para imediato.
                maxInteractionsPerSession:
                  type: number
                  nullable: true
                  description: Limite de interações por sessão. Null para ilimitado.
                endTriggerResolvedIntentEnabled:
                  type: boolean
                  default: false
                  description: >-
                    Encerra a conversa quando a IA avalia que a dúvida do
                    cliente foi respondida.
                endTriggerUserRequestEnabled:
                  type: boolean
                  default: false
                  description: >-
                    Encerra a conversa quando o cliente pede explicitamente para
                    encerrar.
                endTriggerInactivityEnabled:
                  type: boolean
                  default: false
                  description: Encerra a conversa após um tempo de silêncio do cliente.
                endTriggerInactivityMinutes:
                  type: integer
                  minimum: 1
                  maximum: 10080
                  nullable: true
                  description: >-
                    Minutos de silêncio antes do encerramento por inatividade.
                    Null usa 30.
                endTriggerAction:
                  type: string
                  enum:
                    - END_WITHOUT_MESSAGE
                    - END_WITH_FAREWELL
                  default: END_WITHOUT_MESSAGE
                  description: >-
                    Ação aplicada a qualquer gatilho de encerramento que
                    disparar.
                endTriggerFarewellMessage:
                  type: string
                  maxLength: 512
                  nullable: true
                  description: Mensagem de despedida. Usada só com END_WITH_FAREWELL.
                inboxId:
                  type: string
                  pattern: ^[cC][^\s-]{8,}$
                  description: ID da inbox.
                activePeriodEnabled:
                  type: boolean
                  default: false
                  description: Ativa o horário de funcionamento do agente.
                activePeriodPreset:
                  type: string
                  enum:
                    - CUSTOM
                    - BUSINESS_HOURS
                    - EXTENDED_HOURS
                    - WEEKENDS_ONLY
                    - TWENTY_FOUR_SEVEN
                  description: Preset de horário de funcionamento.
                idleActions:
                  type: array
                  items:
                    type: object
                    properties:
                      timeoutMinutes:
                        type: number
                        nullable: true
                      maxAttempts:
                        type: integer
                        minimum: 1
                        maximum: 20
                        default: 1
                      action:
                        type: string
                        enum:
                          - ENGAGE_CUSTOMER
                          - END_SERVICE
                          - TRANSFER_TO_HUMAN
                      customMessage:
                        type: string
                        nullable: true
                      enabled:
                        type: boolean
                        default: true
                      priority:
                        type: number
                        nullable: true
                    required:
                      - action
                    additionalProperties: false
                transferRules:
                  type: array
                  items:
                    type: object
                    properties:
                      condition:
                        type: string
                        enum:
                          - KEYWORDS
                          - SENTIMENT
                          - INTERACTION_COUNT
                          - RESPONSE_TIME
                          - CUSTOM
                      keywords:
                        type: array
                        items:
                          type: string
                        default: []
                      sentimentThreshold:
                        type: number
                        nullable: true
                      interactionCount:
                        type: number
                        nullable: true
                      responseTimeMinutes:
                        type: number
                        nullable: true
                      customCondition:
                        type: string
                        nullable: true
                      transferMessage:
                        type: string
                        nullable: true
                      enabled:
                        type: boolean
                        default: true
                      priority:
                        type: number
                        nullable: true
                        default: 0
                      userId:
                        type: string
                        nullable: true
                      roleId:
                        type: string
                        nullable: true
                      departmentId:
                        type: string
                        nullable: true
                    required:
                      - condition
                    additionalProperties: false
                ticketRules:
                  type: array
                  items:
                    type: object
                    properties:
                      condition:
                        type: string
                        enum:
                          - KEYWORDS
                          - SENTIMENT
                          - INTERACTION_COUNT
                          - RESPONSE_TIME
                          - CUSTOM
                      keywords:
                        type: array
                        items:
                          type: string
                        default: []
                      sentimentThreshold:
                        type: number
                        nullable: true
                      interactionCount:
                        type: number
                        nullable: true
                      responseTimeMinutes:
                        type: number
                        nullable: true
                      customCondition:
                        type: string
                        nullable: true
                      enabled:
                        type: boolean
                        default: true
                      priority:
                        type: number
                        nullable: true
                        default: 0
                      ticketTitle:
                        type: string
                        minLength: 1
                      ticketDescription:
                        type: string
                        nullable: true
                      ticketPriority:
                        type: string
                        enum:
                          - LOW
                          - MEDIUM
                          - HIGH
                        default: LOW
                      statusId:
                        type: string
                        nullable: true
                      assigneeIds:
                        type: array
                        items:
                          type: string
                        default: []
                      departmentIds:
                        type: array
                        items:
                          type: string
                        default: []
                    required:
                      - condition
                      - ticketTitle
                    additionalProperties: false
                tagRules:
                  type: array
                  items:
                    type: object
                    properties:
                      condition:
                        type: string
                        enum:
                          - KEYWORDS
                          - SENTIMENT
                          - INTERACTION_COUNT
                          - CUSTOM
                      keywords:
                        type: array
                        items:
                          type: string
                        default: []
                      sentimentThreshold:
                        type: number
                        nullable: true
                      interactionCount:
                        type: number
                        nullable: true
                      customCondition:
                        type: string
                        nullable: true
                      tagIds:
                        type: array
                        items:
                          type: string
                        default: []
                      enabled:
                        type: boolean
                        default: true
                      priority:
                        type: number
                        nullable: true
                        default: 0
                    required:
                      - condition
                    additionalProperties: false
                crmRules:
                  type: array
                  items:
                    type: object
                    properties:
                      condition:
                        type: string
                        enum:
                          - KEYWORDS
                          - SENTIMENT
                          - INTERACTION_COUNT
                          - CUSTOM
                      keywords:
                        type: array
                        items:
                          type: string
                        default: []
                      sentimentThreshold:
                        type: number
                        nullable: true
                      interactionCount:
                        type: number
                        nullable: true
                      customCondition:
                        type: string
                        nullable: true
                      funnelColumnId:
                        type: string
                        pattern: ^[cC][^\s-]{8,}$
                      enabled:
                        type: boolean
                        default: true
                      priority:
                        type: number
                        nullable: true
                        default: 0
                    required:
                      - condition
                      - funnelColumnId
                    additionalProperties: false
                customSchedule:
                  type: array
                  items:
                    type: object
                    properties:
                      dayOfWeek:
                        type: string
                        enum:
                          - monday
                          - tuesday
                          - wednesday
                          - thursday
                          - friday
                          - saturday
                          - sunday
                      enabled:
                        type: boolean
                        default: false
                      startTime:
                        type: string
                        pattern: ^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$
                      endTime:
                        type: string
                        pattern: ^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$
                    required:
                      - dayOfWeek
                      - startTime
                      - endTime
                    additionalProperties: false
              required:
                - name
                - communicationStyle
                - behavior
                - purpose
                - agentModelId
                - inboxId
              additionalProperties: false
        required: true
      responses:
        '201':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    pattern: ^[cC][^\s-]{8,}$
                  name:
                    type: string
                  avatarUrl:
                    type: string
                    nullable: true
                  communicationStyle:
                    type: string
                  behavior:
                    type: string
                  purpose:
                    type: string
                  agentModelId:
                    type: string
                    pattern: ^[cC][^\s-]{8,}$
                  productName:
                    type: string
                    nullable: true
                  productSite:
                    type: string
                    nullable: true
                  productDescription:
                    type: string
                    nullable: true
                  canRequestHumanHelp:
                    type: boolean
                  canCreateTickets:
                    type: boolean
                  restrictToAllowedTopics:
                    type: boolean
                  responseDelaySeconds:
                    type: number
                    nullable: true
                  maxInteractionsPerSession:
                    type: number
                    nullable: true
                  endTriggerResolvedIntentEnabled:
                    type: boolean
                  endTriggerUserRequestEnabled:
                    type: boolean
                  endTriggerInactivityEnabled:
                    type: boolean
                  endTriggerInactivityMinutes:
                    type: number
                    nullable: true
                  endTriggerAction:
                    type: string
                  endTriggerFarewellMessage:
                    type: string
                    nullable: true
                  inboxId:
                    type: string
                  activePeriodEnabled:
                    type: boolean
                  activePeriodPreset:
                    type: string
                    nullable: true
                  allowConsultingProcesses:
                    type: boolean
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  idleActions:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        timeoutMinutes:
                          type: number
                          nullable: true
                        maxAttempts:
                          type: number
                        action:
                          type: string
                        customMessage:
                          type: string
                          nullable: true
                        enabled:
                          type: boolean
                        priority:
                          type: number
                          nullable: true
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - timeoutMinutes
                        - maxAttempts
                        - action
                        - customMessage
                        - enabled
                        - priority
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                  transferRules:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        condition:
                          type: string
                        keywords:
                          type: array
                          items:
                            type: string
                        sentimentThreshold:
                          type: number
                          nullable: true
                        interactionCount:
                          type: number
                          nullable: true
                        responseTimeMinutes:
                          type: number
                          nullable: true
                        customCondition:
                          type: string
                          nullable: true
                        transferMessage:
                          type: string
                          nullable: true
                        userId:
                          type: string
                          nullable: true
                        roleId:
                          type: string
                          nullable: true
                        departmentId:
                          type: string
                          nullable: true
                        enabled:
                          type: boolean
                        priority:
                          type: number
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - condition
                        - keywords
                        - sentimentThreshold
                        - interactionCount
                        - responseTimeMinutes
                        - customCondition
                        - transferMessage
                        - userId
                        - roleId
                        - departmentId
                        - enabled
                        - priority
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                  ticketRules:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        condition:
                          type: string
                        keywords:
                          type: array
                          items:
                            type: string
                        sentimentThreshold:
                          type: number
                          nullable: true
                        interactionCount:
                          type: number
                          nullable: true
                        responseTimeMinutes:
                          type: number
                          nullable: true
                        customCondition:
                          type: string
                          nullable: true
                        enabled:
                          type: boolean
                        priority:
                          type: number
                        ticketTitle:
                          type: string
                        ticketDescription:
                          type: string
                          nullable: true
                        ticketPriority:
                          type: string
                        statusId:
                          type: string
                          nullable: true
                        assigneeIds:
                          type: array
                          items:
                            type: string
                        departmentIds:
                          type: array
                          items:
                            type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - condition
                        - keywords
                        - sentimentThreshold
                        - interactionCount
                        - responseTimeMinutes
                        - customCondition
                        - enabled
                        - priority
                        - ticketTitle
                        - ticketDescription
                        - ticketPriority
                        - statusId
                        - assigneeIds
                        - departmentIds
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                  tagRules:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        condition:
                          type: string
                        keywords:
                          type: array
                          items:
                            type: string
                        sentimentThreshold:
                          type: number
                          nullable: true
                        interactionCount:
                          type: number
                          nullable: true
                        customCondition:
                          type: string
                          nullable: true
                        tagIds:
                          type: array
                          items:
                            type: string
                        enabled:
                          type: boolean
                        priority:
                          type: number
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - condition
                        - keywords
                        - sentimentThreshold
                        - interactionCount
                        - customCondition
                        - tagIds
                        - enabled
                        - priority
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                  crmRules:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        condition:
                          type: string
                        keywords:
                          type: array
                          items:
                            type: string
                        sentimentThreshold:
                          type: number
                          nullable: true
                        interactionCount:
                          type: number
                          nullable: true
                        customCondition:
                          type: string
                          nullable: true
                        funnelColumnId:
                          type: string
                        enabled:
                          type: boolean
                        priority:
                          type: number
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - condition
                        - keywords
                        - sentimentThreshold
                        - interactionCount
                        - customCondition
                        - funnelColumnId
                        - enabled
                        - priority
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                  customSchedule:
                    type: array
                    items:
                      type: object
                      properties:
                        dayOfWeek:
                          type: string
                        enabled:
                          type: boolean
                        startTime:
                          type: string
                        endTime:
                          type: string
                      required:
                        - dayOfWeek
                        - enabled
                        - startTime
                        - endTime
                      additionalProperties: false
                    nullable: true
                required:
                  - id
                  - name
                  - avatarUrl
                  - communicationStyle
                  - behavior
                  - purpose
                  - agentModelId
                  - productName
                  - productSite
                  - productDescription
                  - canRequestHumanHelp
                  - canCreateTickets
                  - restrictToAllowedTopics
                  - responseDelaySeconds
                  - maxInteractionsPerSession
                  - endTriggerResolvedIntentEnabled
                  - endTriggerUserRequestEnabled
                  - endTriggerInactivityEnabled
                  - endTriggerInactivityMinutes
                  - endTriggerAction
                  - endTriggerFarewellMessage
                  - inboxId
                  - activePeriodEnabled
                  - activePeriodPreset
                  - allowConsultingProcesses
                  - createdAt
                  - updatedAt
                  - idleActions
                  - transferRules
                  - ticketRules
                  - tagRules
                  - crmRules
                  - customSchedule
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  statusCode:
                    type: number
                  code:
                    type: string
                  details:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                      - type: object
                        properties: {}
                        additionalProperties: true
                    description: Detalhes adicionais do erro.
                required:
                  - message
                  - statusCode
                additionalProperties: false
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  statusCode:
                    type: number
                  code:
                    type: string
                  details:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                      - type: object
                        properties: {}
                        additionalProperties: true
                    description: Detalhes adicionais do erro.
                required:
                  - message
                  - statusCode
                additionalProperties: false
      security:
        - apiKeyAuth: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-jurichat-api-key
      description: >-
        Chave de API do escritório (criada no painel). Envie o valor no header
        x-jurichat-api-key.

````