{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ai-foundry/json-schema/azure-ai-foundry-paged-connection-schema.json",
  "title": "PagedConnection",
  "description": "Paged collection of Connection items",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/azure-ai-foundry-connections-api-openapi.yml#/components/schemas/PagedConnection",
  "type": "object",
  "properties": {
    "value": {
      "type": "array",
      "description": "The Connection items on this page",
      "items": {
        "$ref": "#/$defs/Connection"
      }
    },
    "nextLink": {
      "type": "string",
      "format": "uri",
      "description": "The link to the next page of items"
    }
  },
  "required": [
    "value"
  ],
  "$defs": {
    "BaseCredentials": {
      "type": "object",
      "description": "A base class for connection credentials",
      "properties": {
        "type": {
          "$ref": "#/$defs/CredentialType",
          "description": "The type of credential used by the connection",
          "readOnly": true
        }
      },
      "required": [
        "type"
      ]
    },
    "Connection": {
      "type": "object",
      "description": "Response from the list and get connections operations",
      "properties": {
        "name": {
          "type": "string",
          "description": "The friendly name of the connection, provided by the user.",
          "readOnly": true
        },
        "id": {
          "type": "string",
          "description": "A unique identifier for the connection, generated by the service",
          "readOnly": true
        },
        "type": {
          "$ref": "#/$defs/ConnectionType",
          "description": "Category of the connection",
          "readOnly": true
        },
        "target": {
          "type": "string",
          "description": "The connection URL to be used for this service",
          "readOnly": true
        },
        "isDefault": {
          "type": "boolean",
          "description": "Whether the connection is tagged as the default connection of its type",
          "readOnly": true
        },
        "credentials": {
          "$ref": "#/$defs/BaseCredentials",
          "description": "The credentials used by the connection",
          "readOnly": true
        },
        "metadata": {
          "type": "object",
          "description": "Metadata of the connection",
          "additionalProperties": {
            "type": "string"
          },
          "readOnly": true
        }
      },
      "required": [
        "name",
        "id",
        "type",
        "target",
        "isDefault",
        "credentials",
        "metadata"
      ]
    },
    "ConnectionType": {
      "type": "string",
      "description": "The Type (or category) of the connection",
      "enum": [
        "AzureOpenAI",
        "AzureBlob",
        "AzureStorageAccount",
        "CognitiveSearch",
        "CosmosDB",
        "ApiKey",
        "AppConfig",
        "AppInsights",
        "CustomKeys"
      ],
      "x-ms-enum": {
        "name": "ConnectionType",
        "modelAsString": true,
        "values": [
          {
            "name": "AzureOpenAI",
            "value": "AzureOpenAI",
            "description": "Azure OpenAI Service"
          },
          {
            "name": "AzureBlobStorage",
            "value": "AzureBlob",
            "description": "Azure Blob Storage, with specified container"
          },
          {
            "name": "AzureStorageAccount",
            "value": "AzureStorageAccount",
            "description": "Azure Blob Storage, with container not specified (used by Agents)"
          },
          {
            "name": "AzureAISearch",
            "value": "CognitiveSearch",
            "description": "Azure AI Search"
          },
          {
            "name": "CosmosDB",
            "value": "CosmosDB",
            "description": "CosmosDB"
          },
          {
            "name": "APIKey",
            "value": "ApiKey",
            "description": "Generic connection that uses API Key authentication"
          },
          {
            "name": "ApplicationConfiguration",
            "value": "AppConfig",
            "description": "Application Configuration"
          },
          {
            "name": "ApplicationInsights",
            "value": "AppInsights",
            "description": "Application Insights"
          },
          {
            "name": "Custom",
            "value": "CustomKeys",
            "description": "Custom Keys"
          }
        ]
      }
    },
    "CredentialType": {
      "type": "string",
      "description": "The credential type used by the connection",
      "enum": [
        "ApiKey",
        "AAD",
        "SAS",
        "CustomKeys",
        "None"
      ],
      "x-ms-enum": {
        "name": "CredentialType",
        "modelAsString": true,
        "values": [
          {
            "name": "apiKey",
            "value": "ApiKey",
            "description": "API Key credential"
          },
          {
            "name": "entraId",
            "value": "AAD",
            "description": "Entra ID credential (formerly known as AAD)"
          },
          {
            "name": "SAS",
            "value": "SAS",
            "description": "Shared Access Signature (SAS) credential"
          },
          {
            "name": "custom",
            "value": "CustomKeys",
            "description": "Custom credential"
          },
          {
            "name": "None",
            "value": "None",
            "description": "No credential"
          }
        ]
      }
    }
  }
}