{
  "openapi": "3.1.0",
  "info": {
    "title": "IO Intelligence",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.intelligence.io.solutions"
    }
  ],
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
      "/api/v1/agents": {
      "get": {
        "tags": [
          "agents"
        ],
        "summary": "Get Available Agents",
        "operationId": "get_available_agents_v1_agents_get",
        "parameters": [
          {
            "name": "X-Guest-Session-ID",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Identifier of guest user",
              "title": "X-Guest-Session-Id"
            },
            "description": "Identifier of guest user"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentsList"
                }
              }
            }
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-readme": {
          "code-samples": [
            {
              "language": "curl",
              "code": "curl https://api.intelligence.io.solutions/api/v1/agents \\\n  -H \"Authorization: Bearer $IOINTELLIGENCE_API_KEY\""
            },
            {
              "language": "python",
              "code": "import requests\n\nurl = \"https://api.intelligence.io.solutions/api/v1/agents\"\nheaders = {\n    \"Authorization\": \"Bearer $IOINTELLIGENCE_API_KEY\",\n    \"Content-Type\": \"application/json\"\n}\n\nresponse = requests.get(url, headers=headers)\nprint(response.json())"
            }
          ],
          "samples-languages": [
            "curl",
            "python"
          ]
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "oauth2",
        "flows": {}
      }
    },
    "schemas": {
      "AgentMetadata": {
        "properties": {
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url",
            "description": "URL to the agent's display image"
          },
          "tags": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tags",
            "description": "List of tags describing agent features and status",
            "examples": [
              "New",
              "Free",
              "Uncensored"
            ]
          }
        },
        "type": "object",
        "title": "AgentMetadata"
      },
      "AgentSpecificationDescription": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "persona": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PersonaConfig-Output"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "$ref": "#/components/schemas/AgentMetadata",
            "description": "Agent metadata including some optional fields",
            "examples": [
              {
                "image_url": "https://example.com/gpt4.jpg"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "name",
          "metadata"
        ],
        "title": "AgentSpecificationDescription",
        "description": "Links to app.agents.available_agents.AgentSpecification"
      },
      "AgentsList": {
        "properties": {
          "agents": {
            "additionalProperties": {
              "$ref": "#/components/schemas/AgentSpecificationDescription"
            },
            "type": "object",
            "title": "Agents"
          }
        },
        "type": "object",
        "required": [
          "agents"
        ],
        "title": "AgentsList"
      },
      "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"
      },
      "PersonaConfig-Output": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name",
            "description": "If the persona has a specific name or nickname."
          },
          "age": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Age",
            "description": "Approximate age of the persona (if relevant)."
          },
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Role",
            "description": "General role or type, e.g. 'a brave knight', 'a friendly teacher', etc."
          },
          "style": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Style",
            "description": "A short description of the agent's style or demeanor (e.g., 'formal and polite')."
          },
          "domain_knowledge": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Domain Knowledge",
            "description": "List of domains or special areas of expertise the agent has."
          },
          "quirks": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Quirks",
            "description": "Any unique quirks or mannerisms, e.g. 'likes using puns' or 'always references coffee.'"
          },
          "bio": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bio",
            "description": "A short biography or personal background for the persona."
          },
          "lore": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lore",
            "description": "In-universe lore or backstory, e.g. 'grew up in a small village with magical powers.'"
          },
          "personality": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Personality",
            "description": "A more direct statement of the persona's emotional or psychological traits."
          },
          "conversation_style": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Conversation Style",
            "description": "How the character speaks in conversation, e.g., 'often uses slang' or 'very verbose and flowery.'"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "A general descriptive text, e.g., 'A tall, lean figure wearing a cloak, with a stern demeanor.'"
          },
          "friendliness": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendliness",
            "description": "How friendly the agent is, from 0 (hostile) to 1 (friendly)."
          },
          "creativity": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Creativity",
            "description": "How creative the agent is, from 0 (very logical) to 1 (very creative)."
          },
          "curiosity": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Curiosity",
            "description": "How curious the agent is, from 0 (disinterested) to 1 (very curious)."
          },
          "empathy": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Empathy",
            "description": "How empathetic the agent is, from 0 (cold) to 1 (very empathetic)."
          },
          "humor": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Humor",
            "description": "How humorous the agent is, from 0 (serious) to 1 (very humorous)."
          },
          "formality": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Formality",
            "description": "How formal the agent is, from 0 (very casual) to 1 (very formal)."
          },
          "emotional_stability": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Emotional Stability",
            "description": "How emotionally stable the agent is, from 0 (very emotional) to 1 (very stable)."
          }
        },
        "type": "object",
        "title": "PersonaConfig",
        "description": "A configuration object that describes an agent's persona or character."
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      }
    }
  }
}