Enumerar paquetes

Importante

Las API de la /beta versión están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción.

Recupera una lista de todos los paquetes disponibles en el inquilino.

Importante

El acceso a la API de administración de paquetes requiere una licencia de Microsoft Agent 365.

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ❌ ❌ ❌

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) CopilotPackages.Read.All CopilotPackages.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación CopilotPackages.Read.All CopilotPackages.ReadWrite.All

Solicitud HTTP

GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages

Encabezados de solicitud

Nombre Descripción
Authorization Bearer {token}. Obligatorio. Obtenga más información sobre autenticación y autorización.

Parámetros de consulta opcionales

Este método admite el $filterparámetro de consulta OData para ayudar a personalizar la respuesta. Las siguientes propiedades se admiten con el $filter parámetro de consulta OData. Para obtener ejemplos del uso del $filter parámetro query, vea Ejemplos.

Parámetro Tipo Descripción
supportedHosts string Filtrar por host admitido (Copilot, Outlook, Teams, M365)
elementTypes string Filtrar por tipo de elemento (Bots, DeclarativeAgent, CustomEngineAgent)
lastModifiedDateTime datetime Filtrar por fecha y hora de la última actualización, mediante ge o le
platform string Filtrar por plataforma (Copilot Studio, Microsoft 365 Copilot Agent Builder)
requestStatus copilotPackageRequestStatus Filtrar por estado de la solicitud, mediante pending (consulte Filtrar por propiedades de la solicitud)
requestType copilotPackageRequestType Filtrar por el tipo de solicitud (consulte Filtrar por propiedades de solicitud)

Filtrar por propiedades de solicitud

Las requestStatus propiedades and requestType describen una solicitud que un usuario de la organización envió para un paquete. El filtrado en cualquiera de las propiedades devuelve los paquetes solicitados por los usuarios.

El comportamiento sin filtrar GET /copilot/admin/catalog/packages no ha cambiado.

Se admiten las siguientes expresiones de filtro:

  • requestStatus eq 'pending', que selecciona la cola de solicitudes abierta. Otros requestStatus miembros no son compatibles con un filtro.
  • Una sola eq comparación en requestType, con uno de los publishmiembros de , activate, access, o update . No filtre por el unknownFutureValue miembro Sentinel.
  • Esas dos comparaciones unidas con and.
  • Una o ambas comparaciones combinadas con un lastModifiedDateTime límite. Proporcione un ge límite, un le límite o ambos para expresar un intervalo inclusivo.

Puedes escribir las conjunciones en el and orden que desees.

Un lastModifiedDateTime límite se aplica al valor del lastModifiedDateTime paquete, que es el mismo valor devuelto para esa propiedad. No se filtra cuándo un usuario envió la solicitud. Un paquete que no lastModifiedDateTime tiene ningún valor no coincide mientras un enlace está presente.

Filtrar por lastModifiedDateTime sí mismo es un comportamiento normal de catálogo y no devuelve la cola de solicitudes.

Los siguientes no se admiten y se devuelven 400 Bad Request:

  • Combinar una propiedad de solicitud con supportedHosts, elementTypes, o platform.
  • El eqoperador , gt, o lt en lastModifiedDateTime, o más de un lastModifiedDateTime límite en la misma dirección, como dos ge límites.
  • Los oroperadores , ne, y .contains
  • $count con un filtro de solicitud.

Las propiedades de la solicitud no se pueden ordenar.

requestType y requestStatus son enumeraciones evolutivas, por lo que una versión posterior del servicio puede devolver un miembro que el cliente no reconoce. Para obtener más información, vea Manejo de miembros futuros en enumeraciones evolutivas.

Paginación de una colección filtrada

La paginación está controlada por el servidor, por lo que el servicio determina cuántas entradas contiene cada página. Trátalo @odata.nextLink como una URL opaco: solicítalo exactamente como se devuelve, sin agregar ni modificar las opciones de consulta.

Importante

Para respuestas paginadas, utilícela @odata.nextLink como señal de continuación. Continúe solicitando el opaco @odata.nextLink hasta que esté ausente. No inferir finalización de un cuerpo de respuesta cuando hay una @odata.nextLink .

Las respuestas a una solicitud que filtra una propiedad de solicitud no incluyen una @odata.count propiedad. Para obtener más información, vea Paginación de los datos de Microsoft Graph en su aplicación.

Cuerpo de la solicitud

No proporcione un cuerpo de solicitud para este método.

Respuesta

Si se realiza correctamente, este método devuelve un 200 OK código de respuesta y una colección de objetos copilotPackage en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Enumerar todos los paquetes

Solicitud

En el ejemplo siguiente se muestra la solicitud.

GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 2: Enumerar paquetes filtrados por host compatible

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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')
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 3: Enumerar paquetes filtrados por tipo de elemento

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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')
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 4: Enumerar paquetes por fecha y hora de última actualización

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 5: Enumerar todos los agentes

Para enumerar todos los agentes, use un filtro para supportedHosts que contenga Copilot

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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')
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 6: Enumerar los paquetes solicitados por los usuarios

Solicitud

En el ejemplo siguiente se muestra una solicitud que devuelve los paquetes con una solicitud abierta.

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'
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 7: Enumerar los paquetes que los usuarios pidieron que publicaran

Solicitud

En el ejemplo siguiente se muestra una solicitud que devuelve solo los paquetes que los usuarios solicitaron publicar.

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'
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 8: Combinar ambos filtros de solicitud

Solicitud

En el ejemplo siguiente se muestra una solicitud que combina las dos propiedades de solicitud con 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'
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 9: Enumerar solicitudes pendientes por lastModifiedDateTime

Solicitud

En el ejemplo siguiente se muestra una solicitud que devuelve los paquetes con una solicitud abierta cuyo lastModifiedDateTime valor es igual o posterior a una fecha.

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
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 10: Enumerar un tipo de solicitud dentro de un lastModifiedDateTime intervalo

Solicitud

En el ejemplo siguiente se muestra una solicitud que devuelve los paquetes que los usuarios solicitaron publicar, limitados a aquellos cuyo lastModifiedDateTime valor se encuentra dentro de un intervalo inclusivo.

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
Respuesta

En el ejemplo siguiente se muestra la respuesta. El objeto de respuesta que se muestra aquí puede estar acortado para mejorar la legibilidad.

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"
    }
  ]
}