Liste des packages

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 autres requestStatus membres ne sont pas pris en charge dans un filtre.
  • eq Une seule comparaison sur requestType, par rapport à l’un des membres , publishactivate, access, ou update . Ne filtrez pas sur le membre sentinelle unknownFutureValue .
  • Ces deux comparaisons se sont jointes à and.
  • L’une ou l’autre de ces comparaisons, ou les deux, se sont combinées avec une lastModifiedDateTime borne. Fournissez une ge borne, une le borne, 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, ou platform. elementTypes
  • L’opérateur , ou lt sur , ou plusieurs lastModifiedDateTime bornes dans la même direction, comme deux ge bornes. gteqlastModifiedDateTime
  • Les oropérateurs , neet contains .
  • $count avec 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"
    }
  ]
}