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.