Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Importante
Les API sous la /beta version sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge.
Récupère la liste de tous les packages disponibles dans le locataire.
Importante
L’accès à l’API Gestion des packages nécessite une licence Microsoft Agent 365.
Cette API est disponible dans les déploiements cloud nationaux suivants.
| Service global | Gouvernement américain L4 | Gouvernement américain L5 (DOD) | Chine exploitée par 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.
| Type d’autorisation | Autorisations les moins privilégiées | Autorisations à privilèges plus élevés |
|---|---|---|
| Déléguée (compte professionnel ou scolaire) | CopilotPackages.Read.All | CopilotPackages.ReadWrite.All |
| Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
| Application | CopilotPackages.Read.All | CopilotPackages.ReadWrite.All |
Requête HTTP
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages
En-têtes de demande
| Nom | Description |
|---|---|
Authorization |
Bearer {token}. Obligatoire. En savoir plus sur l’authentification et les autorisations. |
Paramètres facultatifs de la requête
Cette méthode prend en charge le paramètre de $filterrequête OData pour personnaliser la réponse. Les propriétés suivantes sont prises en charge avec le paramètre de $filter requête OData. Pour obtenir des exemples d’utilisation du paramètre de requête, consultez Exemples$filter.
| Paramètre | Type | Description |
|---|---|---|
supportedHosts |
string | Filtrer par hôte pris en charge (Copilot, , OutlookTeams, M365) |
elementTypes |
string | Filtrer par type d’élément (Bots, DeclarativeAgent, CustomEngineAgent) |
lastModifiedDateTime |
DateHeure | Filtrer par date/heure de la dernière mise à jour, à l’aide de ge ou le |
platform |
string | Filtrer par plate-forme (Copilot Studio, Microsoft 365 Copilot Agent Builder) |
requestStatus |
copilotPackageRequestStatus | Filtrer par status de la demande, à l’aide de pending (voir Filtrer par propriétés de la demande) |
requestType |
copilotPackageRequestType | Filtrer par type de demande (voir Filtrer par propriétés de la demande) |
Filtrer par propriétés de la demande
Les requestStatus propriétés et requestType décrivent une demande qu’un utilisateur de l’organisation a envoyée pour un package. Le filtrage sur l’une ou l’autre propriété renvoie les packages demandés par les utilisateurs.
Le comportement non filtré GET /copilot/admin/catalog/packages reste inchangé.
Les expressions de filtre suivantes sont prises en charge :
-
requestStatus eq 'pending', qui sélectionne la file d’attente des demandes ouverte. Les autresrequestStatusmembres ne sont pas pris en charge dans un filtre. -
eqUne seule comparaison surrequestType, par rapport à l’un des membres ,publishactivate,access, ouupdate. Ne filtrez pas sur le membre sentinelleunknownFutureValue. - Ces deux comparaisons se sont jointes à
and. - L’une ou l’autre de ces comparaisons, ou les deux, se sont combinées avec une
lastModifiedDateTimeborne. Fournissez unegeborne, uneleborne, ou les deux pour exprimer une plage inclusive.
Vous pouvez écrire les conjonctions dans n’importe and quel ordre.
Une lastModifiedDateTime liaison s’applique à la valeur du lastModifiedDateTime package, qui est la même valeur renvoyée pour cette propriété. Il ne filtre pas le moment où un utilisateur a envoyé la demande. Un package qui n’a aucune lastModifiedDateTime valeur ne correspond pas tant qu’une liaison est présente.
Le filtrage lastModifiedDateTime seul est un comportement ordinaire du catalogue et ne renvoie pas la file d’attente des demandes.
Les éléments suivants ne sont pas pris en charge et retournent 400 Bad Request:
- Combinaison d’une propriété de requête avec
supportedHosts, ouplatform.elementTypes - L’opérateur , ou
ltsur , ou plusieurslastModifiedDateTimebornes dans la même direction, comme deuxgebornes.gteqlastModifiedDateTime - Les
oropérateurs ,neetcontains. -
$countavec un filtre de demande.
Les propriétés de la requête ne sont pas triables.
requestType et requestStatus sont des énumérations évolutives, de sorte qu’une version ultérieure du service peut renvoyer un membre que votre client ne reconnaît pas. Pour plus d’informations, consultez Gestion des futurs membres dans des énumérations évolutives.
pagination d’une collection filtrée
La pagination étant pilotée par le serveur, le service détermine le nombre d’entrées que chaque page contient. Traiter @odata.nextLink comme une URL opaque : demandez-la exactement telle qu’elle est renvoyée, sans ajouter ou modifier des options de requête.
Importante
Pour les réponses paginées, utilisez @odata.nextLink comme signal de continuation. Continuez à demander l’opaque @odata.nextLink jusqu’à ce qu’il soit absent. Ne déduisez pas l’achèvement à partir d’un corps de réponse lorsque An @odata.nextLink est présent.
Les réponses à une demande qui filtre une propriété de demande n’incluent pas de @odata.count propriété. Pour plus d’informations, voir Pagination des données Microsoft Graph dans votre application.
Corps de la demande
N’indiquez pas le corps de la demande pour cette méthode.
Réponse
En cas de succès, cette méthode renvoie un 200 OK code de réponse et une collection d’objets copilotPackage dans le corps de la réponse.
Exemples
Exemple 1 : Lister tous les packages
Demande
L’exemple suivant illustre une demande.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_19ae1zz1-56bc-505a-3d42-156df75a4xxy",
"displayName": "Diligent Teams Document Uploader",
"type": "external",
"shortDescription": "Allows direct upload of documents from Microsoft Office into Diligent Teams for sharing",
"isBlocked": false,
"supportedHosts": ["outlook", "word", "excel", "powerPoint"],
"lastModifiedDateTime": "2023-11-20T19:02:02.241Z",
"publisher": "Diligent Corporation",
"availableTo": "all",
"deployedTo": "none",
"elementTypes": ["officeAddIn"],
"platform": "web",
"version": "1.0.0",
"manifestVersion": "1.1",
"manifestId": "diligent-teams-uploader",
"appId": "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb",
"assetId": "asset-00001",
"agentIdentityId": "11111111-2222-3333-4444-555555555555"
}
]
}
Exemple 2 : lister les packages filtrés par l’hôte pris en charge
Demande
L’exemple suivant illustre une demande.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?$filter=supportedHosts/any(h:h eq 'Word')
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages?$filter=supportedHosts/any(h:h eq 'Word')
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_19ae1zz1-cb65-505a-3d42-156df75a4xxy",
"displayName": "Contoso Document Formatter",
"type": "external",
"shortDescription": "Formats Word documents according to company style guide",
"isBlocked": false,
"supportedHosts": ["Word"],
"lastModifiedDateTime": "2025-10-06T00:07:20.1467852Z",
"availableTo": "all",
"deployedTo": "all"
}
]
}
Exemple 3 : packages de liste filtrés par type d’élément
Demande
L’exemple suivant illustre une demande.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?$filter=elementTypes/any(h:h eq 'OfficeAddIns')
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages?$filter=elementTypes/any(h:h eq 'OfficeAddIns')
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_19ae1zz1-505a-3492-9871-134df75a4xxy",
"displayName": "Northwind Traders Account Lookup",
"type": "external",
"shortDescription": "Look up customer account details in Outlook and add them to email",
"isBlocked": false,
"supportedHosts": ["Outlook"],
"lastModifiedDateTime": "2025-10-06T00:07:20.1467852Z",
"availableTo": "all",
"deployedTo": "all"
}
]
}
Exemple 4 : répertorier les packages par date/heure de la dernière mise à jour
Demande
L’exemple suivant illustre une demande.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?$filter=lastModifiedDateTime ge 2026-01-01T00:00:00.0000000Z
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages?$filter=lastModifiedDateTime ge 2026-01-01T00:00:00.0000000Z
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_19ae1zz1-56bc-505a-3d42-156df75a4xxy",
"displayName": "Contoso HR Agent",
"type": "custom",
"shortDescription": "Agent that can answer HR questions",
"isBlocked": false,
"supportedHosts": ["Copilot"],
"lastModifiedDateTime": "2026-01-06T00:07:20.1467852Z",
"availableTo": "all",
"deployedTo": "all"
}
]
}
Exemple 5 : Répertorier tous les agents
Pour répertorier tous les agents, utilisez un filtre pour supportedHosts ceux qui contiennent Copilot
Demande
L’exemple suivant illustre une demande.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?$filter=supportedHosts/any(h:h eq 'Copilot')
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages?$filter=supportedHosts/any(h:h eq 'Copilot')
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_19ae1zz1-56bc-505a-3d42-156df75a4xxy",
"displayName": "Contoso HR Agent",
"type": "custom",
"shortDescription": "Agent that can answer HR questions",
"isBlocked": false,
"supportedHosts": ["Copilot"],
"lastModifiedDateTime": "2026-01-06T00:07:20.1467852Z",
"availableTo": "all",
"deployedTo": "all"
}
]
}
Exemple 6 : Packages de liste demandés par les utilisateurs
Demande
L’exemple suivant montre une requête qui renvoie les packages avec une requête ouverte.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?$filter=requestStatus eq 'pending'
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages?$filter=requestStatus eq 'pending'
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_19ae1zz1-56bc-505a-3d42-156df75a4xxy",
"displayName": "Contoso HR Agent",
"type": "custom",
"shortDescription": "Agent that can answer HR questions",
"isBlocked": false,
"supportedHosts": ["Copilot"],
"lastModifiedDateTime": "2026-08-06T00:07:20.1467852Z",
"availableTo": "none",
"deployedTo": "none",
"requestType": "publish",
"requestStatus": "pending"
},
{
"id": "P_38cd4yy2-71de-4f6b-9c05-284ef86b5zzt",
"displayName": "Northwind Traders Account Lookup",
"type": "external",
"shortDescription": "Look up customer account details in Outlook and add them to email",
"isBlocked": false,
"supportedHosts": ["Outlook"],
"lastModifiedDateTime": "2026-08-11T18:22:04.5510000Z",
"availableTo": "some",
"deployedTo": "some",
"requestType": "update",
"requestStatus": "pending"
}
]
}
Exemple 7 : Liste des packages que les utilisateurs ont invités à publier
Demande
L’exemple suivant montre une demande qui renvoie uniquement les packages que les utilisateurs ont demandé à publier.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?$filter=requestType eq 'publish'
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages?$filter=requestType eq 'publish'
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_19ae1zz1-56bc-505a-3d42-156df75a4xxy",
"displayName": "Contoso HR Agent",
"type": "custom",
"shortDescription": "Agent that can answer HR questions",
"isBlocked": false,
"supportedHosts": ["Copilot"],
"lastModifiedDateTime": "2026-08-06T00:07:20.1467852Z",
"availableTo": "none",
"deployedTo": "none",
"requestType": "publish",
"requestStatus": "pending"
}
]
}
Exemple 8 : combiner les deux filtres de demande
Demande
L’exemple suivant illustre une requête qui combine les deux propriétés de requête avec and.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?$filter=requestStatus eq 'pending' and requestType eq 'publish'
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages?$filter=requestStatus eq 'pending' and requestType eq 'publish'
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_19ae1zz1-56bc-505a-3d42-156df75a4xxy",
"displayName": "Contoso HR Agent",
"type": "custom",
"shortDescription": "Agent that can answer HR questions",
"isBlocked": false,
"supportedHosts": ["Copilot"],
"lastModifiedDateTime": "2026-08-06T00:07:20.1467852Z",
"availableTo": "none",
"deployedTo": "none",
"requestType": "publish",
"requestStatus": "pending"
}
]
}
Exemple 9 : Répertorier les demandes en attente par lastModifiedDateTime
Demande
L’exemple suivant montre une demande qui renvoie les packages avec une demande ouverte dont lastModifiedDateTime la valeur est identique ou postérieure à une date.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?$filter=requestStatus eq 'pending' and lastModifiedDateTime ge 2026-08-10T00:00:00.0000000Z
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages?$filter=requestStatus eq 'pending' and lastModifiedDateTime ge 2026-08-10T00:00:00.0000000Z
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_38cd4yy2-71de-4f6b-9c05-284ef86b5zzt",
"displayName": "Northwind Traders Account Lookup",
"type": "external",
"shortDescription": "Look up customer account details in Outlook and add them to email",
"isBlocked": false,
"supportedHosts": ["Outlook"],
"lastModifiedDateTime": "2026-08-11T18:22:04.5510000Z",
"availableTo": "some",
"deployedTo": "some",
"requestType": "update",
"requestStatus": "pending"
}
]
}
Exemple 10 : répertorier un type de demande dans une lastModifiedDateTime plage
Demande
L’exemple suivant montre une demande qui retourne les packages que les utilisateurs ont demandé de publier, limités à ceux dont lastModifiedDateTime la valeur se trouve dans une plage inclusive.
GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages?$filter=requestType eq 'publish' and lastModifiedDateTime ge 2026-08-01T00:00:00.0000000Z and lastModifiedDateTime le 2026-08-31T23:59:59.9999999Z
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages?$filter=requestType eq 'publish' and lastModifiedDateTime ge 2026-08-01T00:00:00.0000000Z and lastModifiedDateTime le 2026-08-31T23:59:59.9999999Z
Réponse
L’exemple suivant illustre la réponse. L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"id": "P_19ae1zz1-56bc-505a-3d42-156df75a4xxy",
"displayName": "Contoso HR Agent",
"type": "custom",
"shortDescription": "Agent that can answer HR questions",
"isBlocked": false,
"supportedHosts": ["Copilot"],
"lastModifiedDateTime": "2026-08-06T00:07:20.1467852Z",
"availableTo": "none",
"deployedTo": "none",
"requestType": "publish",
"requestStatus": "pending"
}
]
}