{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ai-foundry/json-schema/azure-ai-foundry-vector-store-schema.json",
  "title": "VectorStore",
  "description": "A vector store is a collection of processed files can be used by the `file_search` tool.",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/azure-ai-foundry-vector-stores-api-openapi.yml#/components/schemas/VectorStore",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The identifier, which can be referenced in API endpoints."
    },
    "object": {
      "type": "string",
      "description": "The object type, which is always `vector_store`",
      "enum": [
        "vector_store"
      ],
      "x-ms-enum": {
        "modelAsString": false
      }
    },
    "created_at": {
      "type": "integer",
      "format": "unixtime",
      "description": "The Unix timestamp (in seconds) for when the vector store was created.",
      "x-ms-client-name": "createdAt"
    },
    "name": {
      "type": "string",
      "description": "The name of the vector store."
    },
    "usage_bytes": {
      "type": "integer",
      "format": "int32",
      "description": "The total number of bytes used by the files in the vector store.",
      "x-ms-client-name": "usageBytes"
    },
    "file_counts": {
      "$ref": "#/$defs/VectorStoreFileCount",
      "description": "Files count grouped by status processed or being processed by this vector store.",
      "x-ms-client-name": "fileCounts"
    },
    "status": {
      "$ref": "#/$defs/VectorStoreStatus",
      "description": "The status of the vector store, which can be either `expired`, `in_progress`, or `completed`. A status of `completed` indicates that the vector store is ready for use."
    },
    "expires_after": {
      "$ref": "#/$defs/VectorStoreExpirationPolicy",
      "description": "Details on when this vector store expires",
      "x-ms-client-name": "expiresAfter"
    },
    "expires_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "unixtime",
      "description": "The Unix timestamp (in seconds) for when the vector store will expire.",
      "x-ms-client-name": "expiresAt"
    },
    "last_active_at": {
      "type": [
        "integer",
        "null"
      ],
      "format": "unixtime",
      "description": "The Unix timestamp (in seconds) for when the vector store was last active.",
      "x-ms-client-name": "lastActiveAt"
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ],
      "description": "A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "id",
    "object",
    "created_at",
    "name",
    "usage_bytes",
    "file_counts",
    "status",
    "last_active_at",
    "metadata"
  ],
  "$defs": {
    "VectorStoreExpirationPolicy": {
      "type": "object",
      "description": "The expiration policy for a vector store.",
      "properties": {
        "anchor": {
          "$ref": "#/$defs/VectorStoreExpirationPolicyAnchor",
          "description": "Anchor timestamp after which the expiration policy applies. Supported anchors: `last_active_at`."
        },
        "days": {
          "type": "integer",
          "format": "int32",
          "description": "The anchor timestamp after which the expiration policy applies.",
          "minimum": 1,
          "maximum": 365
        }
      },
      "required": [
        "anchor",
        "days"
      ]
    },
    "VectorStoreExpirationPolicyAnchor": {
      "type": "string",
      "description": "Describes the relationship between the days and the expiration of this vector store",
      "enum": [
        "last_active_at"
      ],
      "x-ms-enum": {
        "name": "VectorStoreExpirationPolicyAnchor",
        "modelAsString": true,
        "values": [
          {
            "name": "lastActiveAt",
            "value": "last_active_at",
            "description": "The expiration policy is based on the last time the vector store was active."
          }
        ]
      }
    },
    "VectorStoreFileCount": {
      "type": "object",
      "description": "Counts of files processed or being processed by this vector store grouped by status.",
      "properties": {
        "in_progress": {
          "type": "integer",
          "format": "int32",
          "description": "The number of files that are currently being processed.",
          "x-ms-client-name": "inProgress"
        },
        "completed": {
          "type": "integer",
          "format": "int32",
          "description": "The number of files that have been successfully processed."
        },
        "failed": {
          "type": "integer",
          "format": "int32",
          "description": "The number of files that have failed to process."
        },
        "cancelled": {
          "type": "integer",
          "format": "int32",
          "description": "The number of files that were cancelled."
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of files."
        }
      },
      "required": [
        "in_progress",
        "completed",
        "failed",
        "cancelled",
        "total"
      ]
    },
    "VectorStoreStatus": {
      "type": "string",
      "description": "Vector store possible status",
      "enum": [
        "expired",
        "in_progress",
        "completed"
      ],
      "x-ms-enum": {
        "name": "VectorStoreStatus",
        "modelAsString": true,
        "values": [
          {
            "name": "expired",
            "value": "expired",
            "description": "expired status indicates that this vector store has expired and is no longer available for use."
          },
          {
            "name": "inProgress",
            "value": "in_progress",
            "description": "in_progress status indicates that this vector store is still processing files."
          },
          {
            "name": "completed",
            "value": "completed",
            "description": "completed status indicates that this vector store is ready for use."
          }
        ]
      }
    }
  }
}