Endpoints Disponíveis

Endpoint Atual (Legado)

Endpoint: POST /api/externalAPIs/public/tolkyReasoning/avatars/create

Nova Rota (Recomendada)

Endpoint: POST /api/externalAPIs/public/tolkyReasoning/avatars/createSubAvatarHelper

Parâmetros

host_id
string
required

UUID do host proprietário do sub-avatar.

sub_slug
string
required

Identificador único e amigável do sub-avatar. Deve ser único globalmente; duplicata retorna 409.

avatar_picture
string
required

URL da imagem de perfil do sub-avatar.

avatar_name
string

Nome exibido do sub-avatar (opcional).

prompt_envelop
string

Texto de prompt que define comportamento e personalidade do sub-avatar (opcional).

llm_model_id
number

ID do modelo de IA. Deve ser enviado junto com llm_provider_id; caso contrário use o parâmetro model.

llm_provider_id
number

ID do provider de IA. Deve ser enviado junto com llm_model_id; caso contrário use o parâmetro model.

model
string

Nome do modelo (ex: gpt-4.1-mini, gemini-2.5-flash). Usado quando llm_model_id e llm_provider_id não são enviados; modelo inexistente retorna 400 com lista de modelos disponíveis.

datasets
array

Lista opcional de UUIDs de datasets a associar ao sub-avatar.

Exemplo

Rota legado:

curl -X POST '{{BASE_URL}}/api/externalAPIs/public/tolkyReasoning/avatars/create' \
  -H 'Authorization: Bearer {TOKEN}' \
  -H 'Content-Type: application/json' \
  -d '{
    "host_id": "uuid-do-host",
    "sub_slug": "novo-sub-avatar",
    "avatar_name": "Novo Nome do Avatar",
    "avatar_picture": "https://exemplo.com/avatar.jpg",
    "datasets": ["uuid-dataset-1", "uuid-dataset-2"],
    "prompt_envelop": "Você é um assistente...",
    "model": "gpt-4.1-mini"
  }'

Nova rota (recomendada):

curl -X POST '{{BASE_URL}}/api/externalAPIs/public/tolkyReasoning/avatars/createSubAvatarHelper' \
  -H 'Authorization: Bearer {TOKEN}' \
  -H 'Content-Type: application/json' \
  -d '{
    "host_id": "uuid-do-host",
    "sub_slug": "novo-sub-avatar",
    "avatar_name": "Novo Nome do Avatar",
    "avatar_picture": "https://exemplo.com/avatar.jpg",
    "datasets": ["uuid-dataset-1", "uuid-dataset-2"],
    "prompt_envelop": "Você é um assistente...",
    "model": "gpt-4.1-mini"
  }'

Resposta

{
  "code": 200,
  "message": "Success",
  "data": {
    "avatar_id": "uuid-do-novo-avatar",
    "sub_slug": "novo-sub-avatar",
    "avatar_name": "Novo Nome do Avatar",
    "avatar_picture": "https://exemplo.com/avatar.jpg",
    "prompt_envelop": "Você é um assistente...",
    "llm_model_id": 1,
    "llm_provider_id": 2,
    "model": "gpt-4.1-mini",
    "provider": "OpenAI"
  }
}

Campos da Resposta

data
object

Erros

CódigoDescrição
400Validação falhou: host_id, sub_slug ou avatar_picture ausentes; llm_model_id/llm_provider_id enviado sem o par; model inexistente (resposta inclui lista disponível).
403Token ausente ou inválido
409Já existe um avatar com o mesmo sub_slug.
500Erro interno do servidor.

Notas

  • Requer token Bearer no header Authorization.
  • Ambas as rotas retornam a mesma estrutura de resposta.
  • Se nenhum de llm_model_id, llm_provider_id ou model for enviado, o avatar é criado sem modelo (llm_model_id, llm_provider_id, model e provider virão null na resposta).