Bilješka
Pristup ovoj stranici zahtijeva provjeru vjerodostojnosti. Možete pokušati da se prijavite ili promijenite direktorije.
Pristup ovoj stranici zahtijeva provjeru vjerodostojnosti. Možete pokušati promijeniti direktorije.
Note
Now available for public preview!
This article covers product-specific guidance for Microsoft 365 and Copilot Apps and Agents. For shared concepts like authentication, core API methods, resource-tree queries, configuration requests, and lifecycle management, see the Product Ingestion API documentation.
Tip
You can now create and manage Microsoft 365 and Copilot offers with AI agents by using the Marketplace Ingestion MCP server, which connects tools like GitHub Copilot and Visual Studio Code to the Product Ingestion API.
Note
Your Microsoft Entra app registration must be in the seller-associated tenant (the tenant linked to your Partner Center seller account). App tokens from a corporate or Microsoft-homed Entra tenant won't work.
Retrieve existing resource configurations
To retrieve the current configuration for a Microsoft 365 and Copilot Apps and Agents product, use the resource-tree endpoint with the product's durable ID:
GET https://graph.microsoft.com/rp/product-ingestion/resource-tree/product/12345678-abcd-efgh-1234-12345678901?$version=2026-04-01-preview1
Sample response:
{
"$schema": "https://schema.mp.microsoft.com/schema/resource-tree/2022-03-01-preview2",
"root": "product/12345678-abcd-efgh-1234-12345678901",
"target": {
"targetType": "preview"
},
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/product/2026-04-01-preview1",
"id": "product/12345678-abcd-efgh-1234-12345678901",
"identity": {
"externalId": "my-copilot-app"
},
"type": "microsoft365CopilotApp",
"alias": "My Copilot App"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/property/2026-04-01-preview1",
"id": "property/12345678-abcd-efgh-1234-12345678902",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"kind": "microsoft365CopilotApp",
"categories": ["ai-machine-learning"],
"termsConditions": "standardMicrosoft",
"privacyPolicyUrl": "https://contoso.com/privacy",
"supportDocumentUrl": "https://contoso.com/support",
"termsOfUseUrl": "https://contoso.com/terms"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/listing/2026-04-01-preview1",
"id": "listing/12345678-abcd-efgh-1234-12345678903",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"kind": "microsoft365CopilotApp",
"languageId": "en",
"title": "My Copilot App",
"description": "An AI-powered app for Microsoft 365.",
"searchResultSummary": "Enhance your Microsoft 365 experience with AI"
}
]
}
Create a new Microsoft 365 and Copilot Apps and Agents product
To create a new Microsoft 365 and Copilot Apps and Agents product, submit a configure request with the product resource. Set type to microsoft365CopilotApp.
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2026-04-01-preview1
Request body:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/product/2026-04-01-preview1",
"resourceName": "myNewProduct",
"identity": {
"externalId": "my-new-copilot-app"
},
"type": "microsoft365CopilotApp",
"alias": "My New Copilot App"
}
]
}
Sample response:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure-status/2022-03-01-preview2",
"jobId": "87654321-dcba-hgfe-4321-109876543210",
"jobStatus": "running",
"jobResult": "pending",
"jobStart": "2026-04-01T10:00:00.0000000Z",
"resourceStatuses": [
{
"resourceName": "myNewProduct",
"status": "running"
}
]
}
Configure properties
The property resource defines categories, terms and conditions, and policy links for your Microsoft 365 and Copilot Apps and Agents product. Set kind to microsoft365CopilotApp.
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2026-04-01-preview1
Request body:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/property/2026-04-01-preview1",
"id": "property/12345678-abcd-efgh-1234-12345678902",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"kind": "microsoft365CopilotApp",
"categories": ["ai-machine-learning", "productivity"],
"industries": ["financial-services", "professional-services"],
"cloudIndustries": ["government"],
"termsConditions": "standardMicrosoft",
"termsOfUseUrl": "https://contoso.com/terms",
"privacyPolicyUrl": "https://contoso.com/privacy",
"supportDocumentUrl": "https://contoso.com/support"
}
]
}
Property fields
| Field | Required | Description |
|---|---|---|
kind |
Yes | Must be microsoft365CopilotApp |
product |
Yes | Reference to the product resource |
categories |
Yes | Array of category identifiers |
termsConditions |
Yes | Either custom or standardMicrosoft |
termsOfUseUrl |
Yes | URL to your terms of use |
privacyPolicyUrl |
Yes | URL to your privacy policy |
supportDocumentUrl |
Yes | URL to your support documentation |
industries |
No | Array of industry identifiers |
cloudIndustries |
No | Array of cloud-specific industry identifiers |
Configure listing
The listing resource contains storefront information like title, description, and search keywords. Set kind to microsoft365CopilotApp.
Warning
Use Office-supported base locale codes for languageId (for example, en, fr, ja). Region-qualified codes like en-US might cause downstream export failures even if the configure call succeeds.
Note
Ensure your product name is reserved before publishing. The configure endpoint accepts a listing even if the name isn't reserved, but submission fails if the name isn't reserved at submission time.
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2026-04-01-preview1
Request body:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/listing/2026-04-01-preview1",
"id": "listing/12345678-abcd-efgh-1234-12345678903",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"kind": "microsoft365CopilotApp",
"languageId": "en",
"title": "My Copilot App",
"searchResultSummary": "AI-powered productivity for Microsoft 365",
"description": "This app brings advanced AI capabilities to your Microsoft 365 experience. Use natural language to automate tasks, generate content, analyze data, and integrate with your favorite Microsoft apps.",
"searchKeywords": ["copilot", "ai", "automation", "productivity"],
"videoLink": "https://www.youtube.com/watch?v=example"
}
]
}
Listing fields
| Field | Required | Description |
|---|---|---|
kind |
Yes | Must be microsoft365CopilotApp |
product |
Yes | Reference to the product resource |
languageId |
Yes | Language code using Office-supported base codes (for example, en, fr, ja, pt-BR) |
title |
No | Display title (max 200 characters) |
searchResultSummary |
No | Short summary for search results |
description |
No | Full product description |
searchKeywords |
No | Array of keywords for search discovery |
videoLink |
No | URL to a promotional video |
Configure listing assets
Listing assets include logos and screenshots for your storefront presence.
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2026-04-01-preview1
Request body:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/listing-asset/2026-04-01-preview1",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"listing": "listing/12345678-abcd-efgh-1234-12345678903",
"type": "m365andCopilotLogo",
"url": "https://yourstorageaccount.blob.core.windows.net/assets/logo.png?sv=...",
"fileName": "logo.png",
"friendlyName": "Product Logo"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/listing-asset/2026-04-01-preview1",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"listing": "listing/12345678-abcd-efgh-1234-12345678903",
"type": "m365andCopilotScreenshot",
"url": "https://yourstorageaccount.blob.core.windows.net/assets/screenshot1.png?sv=...",
"fileName": "screenshot1.png",
"friendlyName": "Copilot Integration",
"displayOrder": 0
}
]
}
Listing asset types
| Type | Description |
|---|---|
m365andCopilotLogo |
Product logo for storefront display |
m365andCopilotScreenshot |
Product screenshot |
Configure Microsoft 365 setup
The Microsoft 365 setup resource configures Entra ID requirements, target cloud plans, and Apple Store availability.
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2026-04-01-preview1
Request body:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/microsoft365-setup/2026-04-01-preview1",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"requiresEntraId": true,
"targetPlan": "gbl",
"additionalPurchaseRequired": false,
"appleStoreAvailability": true
}
]
}
Microsoft 365 setup fields
| Field | Required | Description |
|---|---|---|
product |
Yes | Reference to the product resource |
requiresEntraId |
No | Whether Entra ID authentication is required |
targetPlan |
No | Target cloud plan: chn (China), gbl (Global), ger (Germany), gov (Government) |
additionalPurchaseRequired |
No | Whether additional purchases are required |
appleStoreAvailability |
No | Whether the product is available in the Apple Store |
Configure technical configuration
The technical configuration for Microsoft 365 and Copilot Apps and Agents uses a payload-based model. You upload your .zip package file to Azure Blob Storage and provide the SAS URI.
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2026-04-01-preview1
Request body:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/m365-copilot-app-technical-configuration/2026-04-01-preview1",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"payloads": [
{
"payload": {
"sasUri": "https://yourstorageaccount.blob.core.windows.net/uploads/copilot-app.zip?sv=...",
"fileName": "my-copilot-app.zip"
}
}
]
}
]
}
Technical configuration payload fields
| Field | Required | Description |
|---|---|---|
sasUri |
Conditional | Azure Blob SAS URI for the .zip package file. Required for new uploads. |
fileName |
Yes | Display name of the uploaded file |
payloadId |
Conditional | Server-assigned ID from a previous upload. Use instead of sasUri to reuse an existing payload. |
Note
You must provide either sasUri (for new uploads) or payloadId (to reuse an existing payload), but not both.
Reusing an existing payload
After the initial upload is processed, the API returns a payloadId. You can use this ID in subsequent requests to reference the same payload without re-uploading:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/m365-copilot-app-technical-configuration/2026-04-01-preview1",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"payloads": [
{
"payload": {
"payloadId": "98765432-abcd-efgh-1234-12345678901",
"fileName": "my-copilot-app.zip"
}
}
]
}
]
}
Publishing
Publish to live
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/submission/2026-04-01-preview1",
"id": "submission/12345678-abcd-efgh-1234-12345678904",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"target": {
"targetType": "live"
}
}
]
}
Important
A successful configure response doesn't guarantee a successful submission. The configure endpoint is more permissive than the submission pipeline. Common causes of submission failure include missing reserved names, unsupported locale codes, and missing implicit resources. Validate your full resource tree before submitting.
Note
Microsoft 365 and Copilot Apps and Agents are free-only products. Pricing is managed internally and isn't configurable through the API.
Resource lifecycle states
Resources support lifecycle state management. To deprecate a resource, set lifecycleState to deleted:
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2",
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/listing/2026-04-01-preview1",
"id": "listing/12345678-abcd-efgh-1234-12345678903",
"product": "product/12345678-abcd-efgh-1234-12345678901",
"kind": "microsoft365CopilotApp",
"languageId": "en",
"lifecycleState": "deleted"
}
]
}
To restore a deprecated resource, set lifecycleState back to generallyAvailable.
For more information about lifecycle management, see the base API documentation.
Resource API reference
| Resource type | Description | Schema URL |
|---|---|---|
| product | Main resource defining product name and type | https://schema.mp.microsoft.com/schema/product/2026-04-01-preview1 |
| property | Categories, industries, and legal contracts | https://schema.mp.microsoft.com/schema/property/2026-04-01-preview1 |
| listing | Product descriptions for storefront | https://schema.mp.microsoft.com/schema/listing/2026-04-01-preview1 |
| listing-asset | Screenshots and marketing assets | https://schema.mp.microsoft.com/schema/listing-asset/2026-04-01-preview1 |
| microsoft365-setup | M365-specific setup configuration | https://schema.mp.microsoft.com/schema/microsoft365-setup/2026-04-01-preview1 |
| m365-copilot-app-technical-configuration | Technical configuration with zip package | https://schema.mp.microsoft.com/schema/m365-copilot-app-technical-configuration/2026-04-01-preview1 |
| submission | Publishing state and actions | https://schema.mp.microsoft.com/schema/submission/2026-04-01-preview1 |
API versions and updates
| Version | Description |
|---|---|
| 2026-04-01-preview1 | Initial preview release for Microsoft 365 and Copilot Apps and Agents support |