Vijil agent-import API
The agent-import API from Vijil — 2 operation(s) for agent-import.
The agent-import API from Vijil — 2 operation(s) for agent-import.
openapi: 3.1.0
info:
title: Vijil Console API (Combined) agent-configurations agent-import API
description: Combined OpenAPI specification for all vijil-console microservices.
version: 0.1.0
tags:
- name: agent-import
paths:
/v1/agent-configurations/import/validate:
post:
tags:
- agent-import
summary: Validate Agent Import
description: 'Validate an agent import request without saving.
Supports three input methods with deterministic access levels:
- agent_url: Remote black_box - Just an endpoint URL to call
- agent_card: Local grey_box - Upload agent configuration/card JSON
- source_code: Local white_box - Upload agent source code files
Returns validation status, access level, and parsed agent card for preview.'
operationId: validate_agent_import_v1_agent_configurations_import_validate_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnifiedImportRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UnifiedValidationResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/agent-configurations/import:
post:
tags:
- agent-import
summary: Import Agent Unified
description: 'Import an agent using the unified import endpoint.
Supports three input methods with deterministic access levels:
- agent_url: Remote black_box - Just an endpoint URL to call
- agent_card: Local grey_box - Upload agent configuration/card JSON
- source_code: Local white_box - Upload agent source code files
Access level is determined by input method (not content).'
operationId: import_agent_unified_v1_agent_configurations_import_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnifiedImportRequest'
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UnifiedImportResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
AccessLevel:
type: string
enum:
- black_box
- grey_box
- white_box
title: AccessLevel
description: 'Access level for agent analysis.
Black Box: URL only - behavioral testing only
Grey Box: Agent configuration - structure/capabilities analysis
White Box: Source code access - full code + sandbox runtime analysis'
ImportMetadata:
properties:
source:
anyOf:
- $ref: '#/components/schemas/ImportSource'
- type: 'null'
source_url:
anyOf:
- type: string
- type: 'null'
title: Source Url
imported_at:
anyOf:
- type: integer
- type: 'null'
title: Imported At
original_format:
anyOf:
- type: string
- type: 'null'
title: Original Format
type: object
title: ImportMetadata
description: Metadata about how an agent was imported.
TrustLifecycleStage:
type: string
enum:
- registered
- tested
- hardened
- trusted
- optimized
- adapted
title: TrustLifecycleStage
description: Trust maturity lifecycle stage for an agent.
AgentStatus:
type: string
enum:
- draft
- creating
- active
- under_review
- deprecated
- archived
- pending
- rejected
title: AgentStatus
description: Agent status values.
AgentParams:
properties:
temperature:
anyOf:
- type: number
- type: 'null'
title: Temperature
top_p:
anyOf:
- type: number
- type: 'null'
title: Top P
max_tokens:
anyOf:
- type: integer
- type: 'null'
title: Max Tokens
timeout:
anyOf:
- type: integer
- type: 'null'
title: Timeout
rag_params:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Rag Params
function_route_params:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Function Route Params
type: object
title: AgentParams
description: Model parameters for agent configuration.
UnifiedImportResponse:
properties:
agent:
$ref: '#/components/schemas/Agent'
access_level:
type: string
title: Access Level
warnings:
items:
type: string
type: array
title: Warnings
default: []
external_id:
anyOf:
- type: string
- type: 'null'
title: External Id
identity_provider:
anyOf:
- type: string
- type: 'null'
title: Identity Provider
type: object
required:
- agent
- access_level
title: UnifiedImportResponse
description: Response model for unified import.
AgentSkill:
properties:
id:
type: string
title: Id
name:
type: string
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
input_modes:
items:
type: string
type: array
title: Input Modes
output_modes:
items:
type: string
type: array
title: Output Modes
type: object
required:
- id
- name
title: AgentSkill
description: An agent skill definition (for A2A protocol agents).
AgentCapabilities:
properties:
streaming:
type: boolean
title: Streaming
default: false
push_notifications:
type: boolean
title: Push Notifications
default: false
code_execution:
type: boolean
title: Code Execution
default: false
memory:
type: boolean
title: Memory
default: false
delegation:
type: boolean
title: Delegation
default: false
tools:
items:
type: string
type: array
title: Tools
type: object
title: AgentCapabilities
description: Agent capability flags.
AgentLatestEvaluation:
properties:
evaluation_id:
type: string
format: uuid
title: Evaluation Id
overall_score:
anyOf:
- type: number
- type: 'null'
title: Overall Score
reliability_score:
anyOf:
- type: number
- type: 'null'
title: Reliability Score
security_score:
anyOf:
- type: number
- type: 'null'
title: Security Score
safety_score:
anyOf:
- type: number
- type: 'null'
title: Safety Score
completed_at:
anyOf:
- type: integer
- type: 'null'
title: Completed At
type: object
required:
- evaluation_id
title: AgentLatestEvaluation
description: 'Latest completed evaluation scores for an agent.
Sideloaded on GET /agent-configurations when include_scores=true.
Contains only domain-level score data — no UI or presentation concerns.'
ImportSource:
type: string
enum:
- manual
title: ImportSource
description: Import source for agent configuration.
SourceCodeUpload:
properties:
files:
additionalProperties:
type: string
type: object
title: Files
description: Map of filename to content. Use 'main.py' for single file uploads.
entry_point:
type: string
title: Entry Point
description: Main entry point file (must exist in files)
default: main.py
framework:
type: string
title: Framework
description: Framework identifier (for informational purposes only)
default: unknown
agent_name:
anyOf:
- type: string
- type: 'null'
title: Agent Name
description: Agent name (extracted from code if not provided)
model_name:
anyOf:
- type: string
- type: 'null'
title: Model Name
description: Model name used by the agent
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Agent description
system_prompt:
anyOf:
- type: string
- type: 'null'
title: System Prompt
description: System prompt if known
tools:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Tools
description: List of tools/functions the agent uses
type: object
required:
- files
title: SourceCodeUpload
description: 'Model for direct source code upload.
Supports single file or multi-file upload for white box agent import.'
ProtectionStatus:
type: string
enum:
- unprotected
- configured
- domed
title: ProtectionStatus
description: Dome protection lifecycle state.
AgentMetadata:
properties:
role:
anyOf:
- type: string
- type: 'null'
title: Role
job_description:
anyOf:
- type: string
- type: 'null'
title: Job Description
version:
anyOf:
- type: string
- type: 'null'
title: Version
author:
anyOf:
- type: string
- type: 'null'
title: Author
tags:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Tags
type: object
title: AgentMetadata
description: Agent metadata for display and organization.
UnifiedValidationResponse:
properties:
valid:
type: boolean
title: Valid
access_level:
anyOf:
- type: string
- type: 'null'
title: Access Level
agent_card:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Agent Card
errors:
items:
type: string
type: array
title: Errors
default: []
warnings:
items:
type: string
type: array
title: Warnings
default: []
external_id:
anyOf:
- type: string
- type: 'null'
title: External Id
identity_provider:
anyOf:
- type: string
- type: 'null'
title: Identity Provider
type: object
required:
- valid
title: UnifiedValidationResponse
description: 'Response model for unified validation.
Returns validation status and parsed agent card for preview.'
ProtocolType:
type: string
enum:
- chat_completions
- a2a
title: ProtocolType
description: Communication protocol for agent endpoints.
Agent:
properties:
id:
type: string
format: uuid
title: Id
agent_name:
type: string
title: Agent Name
model_name:
type: string
title: Model Name
agent_url:
anyOf:
- type: string
- type: 'null'
title: Agent Url
hub:
type: string
title: Hub
default: custom
api_key:
anyOf:
- type: string
- type: 'null'
title: Api Key
agent_system_prompt:
anyOf:
- type: string
- type: 'null'
title: Agent System Prompt
rate_limit_requests_per_minute:
type: integer
minimum: 1
title: Rate Limit Requests Per Minute
description: Rate limit for API requests per minute
default: 100
team_id:
type: string
format: uuid
title: Team Id
created_by:
type: string
format: uuid
title: Created By
status:
$ref: '#/components/schemas/AgentStatus'
default: active
created_at:
type: integer
title: Created At
updated_at:
type: integer
title: Updated At
access_level:
$ref: '#/components/schemas/AccessLevel'
default: black_box
agent_params:
anyOf:
- $ref: '#/components/schemas/AgentParams'
- type: 'null'
mcp_config:
anyOf:
- $ref: '#/components/schemas/MCPConfig'
- type: 'null'
delegated_agents:
items:
$ref: '#/components/schemas/DelegatedAgent'
type: array
title: Delegated Agents
white_box_config:
anyOf:
- $ref: '#/components/schemas/WhiteBoxConfig-Output'
- type: 'null'
agent_metadata:
anyOf:
- $ref: '#/components/schemas/AgentMetadata'
- type: 'null'
purpose:
anyOf:
- type: string
- type: 'null'
title: Purpose
protocol:
$ref: '#/components/schemas/ProtocolType'
default: chat_completions
test_score:
anyOf:
- type: string
pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
- type: 'null'
title: Test Score
last_tested_by:
anyOf:
- type: string
- type: 'null'
title: Last Tested By
evaluated_harnesses:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Evaluated Harnesses
last_evaluated_at:
anyOf:
- type: integer
- type: 'null'
title: Last Evaluated At
protection_status:
$ref: '#/components/schemas/ProtectionStatus'
default: unprotected
trust_stage:
$ref: '#/components/schemas/TrustLifecycleStage'
default: registered
trusted_at:
anyOf:
- type: integer
- type: 'null'
title: Trusted At
ttt_days:
anyOf:
- type: number
- type: 'null'
title: Ttt Days
dome_config_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Dome Config Id
dome_manually_configured:
type: boolean
title: Dome Manually Configured
default: false
import_metadata:
anyOf:
- $ref: '#/components/schemas/ImportMetadata'
- additionalProperties: true
type: object
- type: 'null'
title: Import Metadata
capabilities:
anyOf:
- $ref: '#/components/schemas/AgentCapabilities'
- additionalProperties: true
type: object
- type: 'null'
title: Capabilities
skills:
items:
anyOf:
- $ref: '#/components/schemas/AgentSkill'
- additionalProperties: true
type: object
type: array
title: Skills
latest_evaluation:
anyOf:
- $ref: '#/components/schemas/AgentLatestEvaluation'
- type: 'null'
type: object
required:
- id
- agent_name
- model_name
- team_id
- created_by
- created_at
- updated_at
title: Agent
description: Agent domain model.
MCPAccessLevel:
type: string
enum:
- read
- write
- admin
title: MCPAccessLevel
description: MCP (Model Context Protocol) access level values.
DelegatedAgent:
properties:
url:
type: string
title: Url
agent_card_url:
anyOf:
- type: string
- type: 'null'
title: Agent Card Url
name:
anyOf:
- type: string
- type: 'null'
title: Name
capabilities:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Capabilities
type: object
required:
- url
title: DelegatedAgent
description: Reference to a delegated agent.
WhiteBoxConfig-Output:
properties:
source_code:
anyOf:
- type: string
- type: 'null'
title: Source Code
repo_url:
anyOf:
- type: string
- type: 'null'
title: Repo Url
github_username:
anyOf:
- type: string
- type: 'null'
title: Github Username
repo_branch:
anyOf:
- type: string
- type: 'null'
title: Repo Branch
entry_point:
anyOf:
- type: string
- type: 'null'
title: Entry Point
type: object
title: WhiteBoxConfig
description: Source code access configuration for white box analysis.
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
UnifiedImportRequest:
properties:
agent_url:
anyOf:
- type: string
- type: 'null'
title: Agent Url
description: 'Remote black_box: Agent endpoint URL to call (e.g., https://api.example.com/agent)'
agent_card:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Agent Card
description: 'Local grey_box: Upload agent configuration/card JSON directly'
source_code:
anyOf:
- $ref: '#/components/schemas/SourceCodeUpload'
- type: 'null'
description: 'Local white_box: Upload agent source code files directly'
framework:
anyOf:
- type: string
- type: 'null'
title: Framework
description: Framework identifier (for informational purposes only)
entry_point:
anyOf:
- type: string
- type: 'null'
title: Entry Point
description: 'For white box: path to main file'
override_name:
anyOf:
- type: string
- type: 'null'
title: Override Name
description: Override agent name
rate_limit_requests_per_minute:
type: integer
minimum: 1
title: Rate Limit Requests Per Minute
default: 100
api_key:
anyOf:
- type: string
- type: 'null'
title: Api Key
description: API key for the agent
external_id:
anyOf:
- type: string
- type: 'null'
title: External Id
description: External identity ID
identity_provider:
anyOf:
- type: string
- type: 'null'
title: Identity Provider
description: Identity provider name
idp_metadata:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Idp Metadata
description: IdP-specific metadata
type: object
title: UnifiedImportRequest
description: 'Unified request model for agent import.
Supports five input methods (exactly one required), each with deterministic access level:
| Input Method | Mode | Access Level | Description |
|--------------|--------|--------------|--------------------------------------|
| agent_url | Remote | black_box | Just an endpoint URL to call |
| agent_card | Local | grey_box | Upload agent configuration/card JSON |
| source_code | Local | white_box | Upload agent source code files |'
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
MCPConfig:
properties:
proxy_url:
anyOf:
- type: string
maxLength: 2083
minLength: 1
format: uri
- type: 'null'
title: Proxy Url
access_level:
anyOf:
- $ref: '#/components/schemas/MCPAccessLevel'
- type: 'null'
server_urls:
anyOf:
- items:
type: string
maxLength: 2083
minLength: 1
format: uri
type: array
- type: 'null'
title: Server Urls
type: object
title: MCPConfig
description: MCP (Model Context Protocol) proxy configuration.