mirror of
https://github.com/crewAIInc/crewAI.git
synced 2025-12-16 04:18:35 +00:00
269 lines
7.7 KiB
YAML
269 lines
7.7 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: CrewAI Enterprise API
|
|
description: |
|
|
REST API para interagir com suas crews implantadas no CrewAI Enterprise.
|
|
|
|
## Introdução
|
|
|
|
1. **Encontre a URL da sua crew**: Obtenha sua URL única no painel do CrewAI Enterprise
|
|
2. **Copie os exemplos**: Use os exemplos de cada endpoint como modelo
|
|
3. **Substitua os placeholders**: Atualize URLs e tokens com seus valores reais
|
|
4. **Teste com suas ferramentas**: Use cURL, Postman ou seu cliente preferido
|
|
|
|
## Autenticação
|
|
|
|
Todas as requisições exigem um token bearer. Existem dois tipos:
|
|
|
|
- **Bearer Token**: Token em nível de organização para operações completas
|
|
- **User Bearer Token**: Token com escopo de usuário com permissões limitadas
|
|
|
|
Você encontra os tokens na aba Status da sua crew no painel do CrewAI Enterprise.
|
|
|
|
## Documentação de Referência
|
|
|
|
Este documento fornece exemplos completos para cada endpoint:
|
|
|
|
- **Formatos de requisição** com parâmetros obrigatórios e opcionais
|
|
- **Exemplos de resposta** para sucesso e erro
|
|
- **Amostras de código** em várias linguagens
|
|
- **Padrões de autenticação** com uso correto de Bearer token
|
|
|
|
Copie os exemplos e personalize com sua URL e tokens reais.
|
|
|
|
## Fluxo
|
|
|
|
1. **Descubra os inputs** usando `GET /inputs`
|
|
2. **Inicie a execução** usando `POST /kickoff`
|
|
3. **Monitore o progresso** usando `GET /status/{kickoff_id}`
|
|
version: 1.0.0
|
|
contact:
|
|
name: CrewAI Suporte
|
|
email: support@crewai.com
|
|
url: https://crewai.com
|
|
servers:
|
|
- url: https://your-actual-crew-name.crewai.com
|
|
description: Substitua pela URL real da sua crew no painel do CrewAI Enterprise
|
|
security:
|
|
- BearerAuth: []
|
|
paths:
|
|
/inputs:
|
|
get:
|
|
summary: Obter Inputs Requeridos
|
|
description: |
|
|
**📋 Exemplo de Referência** - *Mostra o formato da requisição. Para testar com sua crew real, copie o cURL e substitua URL + token.*
|
|
|
|
Retorna a lista de parâmetros de entrada que sua crew espera.
|
|
operationId: getRequiredInputs
|
|
responses:
|
|
'200':
|
|
description: Inputs requeridos obtidos com sucesso
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
inputs:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Nomes dos parâmetros de entrada
|
|
example: ["budget", "interests", "duration", "age"]
|
|
'401':
|
|
$ref: '#/components/responses/UnauthorizedError'
|
|
'404':
|
|
$ref: '#/components/responses/NotFoundError'
|
|
'500':
|
|
$ref: '#/components/responses/ServerError'
|
|
|
|
/kickoff:
|
|
post:
|
|
summary: Iniciar Execução da Crew
|
|
description: |
|
|
**📋 Exemplo de Referência** - *Mostra o formato da requisição. Para testar com sua crew real, copie o cURL e substitua URL + token.*
|
|
|
|
Inicia uma nova execução da crew com os inputs fornecidos e retorna um kickoff ID.
|
|
operationId: startCrewExecution
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- inputs
|
|
properties:
|
|
inputs:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
example:
|
|
budget: "1000 USD"
|
|
interests: "games, tech, ai, relaxing hikes, amazing food"
|
|
duration: "7 days"
|
|
age: "35"
|
|
|
|
responses:
|
|
'200':
|
|
description: Execução iniciada com sucesso
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
kickoff_id:
|
|
type: string
|
|
format: uuid
|
|
example: "abcd1234-5678-90ef-ghij-klmnopqrstuv"
|
|
'401':
|
|
$ref: '#/components/responses/UnauthorizedError'
|
|
'500':
|
|
$ref: '#/components/responses/ServerError'
|
|
|
|
/status/{kickoff_id}:
|
|
get:
|
|
summary: Obter Status da Execução
|
|
description: |
|
|
**📋 Exemplo de Referência** - *Mostra o formato da requisição. Para testar com sua crew real, copie o cURL e substitua URL + token.*
|
|
|
|
Retorna o status atual e os resultados de uma execução usando o kickoff ID.
|
|
operationId: getExecutionStatus
|
|
parameters:
|
|
- name: kickoff_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
'200':
|
|
description: Status recuperado com sucesso
|
|
content:
|
|
application/json:
|
|
schema:
|
|
oneOf:
|
|
- $ref: '#/components/schemas/ExecutionRunning'
|
|
- $ref: '#/components/schemas/ExecutionCompleted'
|
|
- $ref: '#/components/schemas/ExecutionError'
|
|
'401':
|
|
$ref: '#/components/responses/UnauthorizedError'
|
|
'404':
|
|
description: Kickoff ID não encontrado
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
'500':
|
|
$ref: '#/components/responses/ServerError'
|
|
|
|
components:
|
|
securitySchemes:
|
|
BearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
description: |
|
|
**📋 Referência** - *Os tokens mostrados são apenas exemplos.*
|
|
Use seus tokens reais do painel do CrewAI Enterprise.
|
|
|
|
schemas:
|
|
ExecutionRunning:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: ["running"]
|
|
current_task:
|
|
type: string
|
|
progress:
|
|
type: object
|
|
properties:
|
|
completed_tasks:
|
|
type: integer
|
|
total_tasks:
|
|
type: integer
|
|
|
|
ExecutionCompleted:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: ["completed"]
|
|
result:
|
|
type: object
|
|
properties:
|
|
output:
|
|
type: string
|
|
tasks:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TaskResult'
|
|
execution_time:
|
|
type: number
|
|
|
|
ExecutionError:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: ["error"]
|
|
error:
|
|
type: string
|
|
execution_time:
|
|
type: number
|
|
|
|
TaskResult:
|
|
type: object
|
|
properties:
|
|
task_id:
|
|
type: string
|
|
output:
|
|
type: string
|
|
agent:
|
|
type: string
|
|
execution_time:
|
|
type: number
|
|
|
|
Error:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
message:
|
|
type: string
|
|
|
|
ValidationError:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
message:
|
|
type: string
|
|
details:
|
|
type: object
|
|
properties:
|
|
missing_inputs:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
responses:
|
|
UnauthorizedError:
|
|
description: Autenticação falhou
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
NotFoundError:
|
|
description: Recurso não encontrado
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
ServerError:
|
|
description: Erro interno do servidor
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|