Table of Contents

Resource Management

This reference describes how FoundationaLLM resources are organized into resource providers and resource types, and how to address them through the Management API.

Overview

Every FoundationaLLM resource (agents, prompts, AI models, data pipelines, quotas, role assignments, and so on) is managed by a resource provider. A resource provider owns a set of resource types and handles create, read, update, delete, and action requests for them, including authorization checks.

The Management Portal is a client of the Management API: every page that lists, edits, or deletes resources calls the same resource provider endpoints that you can call directly. This mirrors the resource provider model of Azure Resource Manager.

Resource Providers and Resource Types

The following table lists the resource providers and their resource types. Use the Resource type value (camelCase, plural) in Management API URLs. Where a resource type has a page in the Management Portal, the table shows where to find it.

Resource provider Resource type Description Management Portal location
FoundationaLLM.Agent agents Agents Agents > Agents
agentFiles Files in an agent's private store (child of agents) Agent editor, Private Storage tab
agentAccessTokens Agent access tokens (child of agents) Agent editor, Security tab
agentFileToolAssociations Associations between agent files and tools (child of agents)
agentTemplates Agent templates Platform > Packages, Agent Templates tab
agentTasks Agent tasks
agentTaskRuns Agent task runs
workflows Workflow definitions that agents can select Agent editor, Workflow tab
tools Tool catalog Agents > Tools
toolFamilies Tool families Agents > Tools
toolSets Tool sets Agents > Tools
FoundationaLLM.AIModel aiModels AI models Agents > Models
FoundationaLLM.Analytics analytics Usage analytics queries Analytics
FoundationaLLM.Attachment attachments Files uploaded by users in the User Portal or through the Core API
FoundationaLLM.Authorization roleAssignments Role assignments (names are GUIDs) Security > Access Control
roleDefinitions Role definitions (names are GUIDs)
policyAssignments Policy assignments Security > Policies
policyDefinitions Policy definitions
securityPrincipals Users, groups, and service principals Principal search in role and policy assignment editors
FoundationaLLM.AzureAI agentConversationMappings Mappings between conversations and Azure AI Agent Service threads
agentFileMappings Mappings between files and Azure AI Agent Service files
projects Azure AI projects
FoundationaLLM.AzureOpenAI conversationMappings Mappings between conversations and Azure OpenAI Assistants threads
fileMappings Mappings between files and Azure OpenAI files
FoundationaLLM.Configuration appConfigurations Azure App Configuration key-values and feature flags Platform > Configuration, Platform > Themes
appConfigurationSets Named sets of App Configuration values used by clients such as the portals
apiEndpointConfigurations API endpoint configurations Platform > API Endpoints
FoundationaLLM.Context knowledgeUnits Knowledge units Data > Knowledge Units
knowledgeSources Knowledge sources Data > Knowledge Sources
files Context files
fileOperations File operations
contextAnalytics Context analytics
memories Personalized memories
FoundationaLLM.Conversation conversations Conversations
conversationAnalytics Conversation analytics
FoundationaLLM.DataPipeline dataPipelines Data pipelines Data > Data Pipelines
dataPipelineSnapshots Snapshots of data pipeline definitions
dataPipelineRuns Data pipeline runs (child of dataPipelines) Data > Data Pipeline Runs
FoundationaLLM.DataSource dataSources Data sources Data > Data Sources
FoundationaLLM.Platform artifactPackages Artifact packages Platform > Packages
pluginPackages Plugin packages Platform > Packages
plugins Plugins Platform > Packages
logs Telemetry logs Platform > Telemetry
managedEndpointDeployments Managed endpoint deployments Platform > Managed Deployments
sandboxes, sandboxNodePools, sandboxClasses, sandboxPolicies, sandboxConfigurations, sandboxContainerImages Sandboxes and their configuration Platform > Sandboxes (when the sandbox feature flag is on)
FoundationaLLM.Prompt prompts Prompts Agents > Prompts
FoundationaLLM.Quota quotas Quota definitions Quotas > Quotas
quotaMetrics Quota metrics Quotas > Quotas Analysis
quotaEvents Quota events Quotas > Quotas Analysis
FoundationaLLM.User userProfiles User profiles User profile dialog (pencil icon in the account area)
FoundationaLLM.Vector vectorDatabases Vector databases Data > Vector Databases
vectorStores Vector stores

Every resource provider also exposes a shared management resource type for provider-level commands (POST .../management/trigger-command).

Management API URL Format

{baseUrl}/instances/{instanceId}/providers/{resourceProvider}/{resourceType}[/{resourceName}[/{action}]]?api-version=2024-02-16
Segment Description
baseUrl The Management API base URL, without a trailing slash (App Configuration key FoundationaLLM:APIEndpoints:ManagementAPI:Essentials:APIUrl).
instanceId The FoundationaLLM instance ID (App Configuration key FoundationaLLM:Instance:Id). You can copy it on the Platform > Managed Deployments page.
resourceProvider The resource provider name, for example FoundationaLLM.Agent.
resourceType The resource type, for example agents. Child resource types follow the parent resource, for example agents/{agentName}/agentAccessTokens.
resourceName Omit to list resources; include to get, create or update, or delete one resource.
action Optional action name.

Add includeActions=true to a GET request to return the actions that the caller is allowed to perform on each resource.

Operation Method Path suffix
List GET /{resourceType}
Get GET /{resourceType}/{resourceName}
Create or update POST /{resourceType}/{resourceName}
Delete DELETE /{resourceType}/{resourceName}
Action on a resource POST /{resourceType}/{resourceName}/{action}
Action on a resource type POST /{resourceType}/{action}

Requests require a Microsoft Entra ID bearer token for the Management API and a FoundationaLLM role that allows the operation.

Common Actions

Action Applies to Description
checkname Resource type Checks whether a resource name is available.
filter Resource type Returns resources that match a filter.
purge Resource Permanently removes a logically deleted resource.
get-properties, set-properties Resource Reads or updates selected properties of a resource, for example an agent. See Agent Properties Reference.
trigger Resource Triggers a data pipeline run.
activate, deactivate Resource Activates or deactivates a data pipeline.
validate Resource type (agentAccessTokens) Validates an agent access token.
restart Resource Restarts a managed endpoint deployment.

Not every action is available on every resource type.

Object IDs

Each resource has an object ID that identifies it uniquely:

/instances/{instanceId}/providers/{resourceProvider}/{resourceType}/{resourceName}

Resources reference each other by object ID. For example, an agent workflow references its main AI model as /instances/{instanceId}/providers/FoundationaLLM.AIModel/aiModels/{modelName}.

Logical Delete and Purge

For most resource types, DELETE performs a logical delete: the resource is marked as deleted ("deleted": true). Call the purge action to remove it permanently.

Common Resource Properties

All resources share these properties:

Property Description
type The resource type discriminator, for example generic-agent or multipart.
name The resource name.
object_id The object ID. Populated by the Management API.
display_name Optional display name.
description Optional description.
cost_center Optional cost center for chargeback.
properties Optional property bag of string values.
created_on, created_by, updated_on, updated_by Audit information maintained by the platform.
deleted true when the resource has been logically deleted.
expiration_date Optional date after which the resource expires.
artifact_package_name, artifact_package_version The artifact package that created or last updated the resource, if any.

Resource Storage

Most resource providers store each resource as a JSON file in the resource-provider container of the storage account set in FoundationaLLM:ResourceProviders:{ProviderName}:Storage:AccountName. Files are organized in a folder per resource provider (for example /FoundationaLLM.Agent/), and a _resource-references.json file in that folder indexes the resources by name, type, and deleted state. Some resource types, such as conversations and user profiles, are stored in Azure Cosmos DB.

Important

Always manage resources through the Management Portal or the Management API. Do not edit resource files in storage directly: the resource providers cache resources and keep the reference index consistent, and they validate and authorize every change.