Вывод списка пакетов

Важно!

API в /beta этой версии могут быть изменены. Использование этих API в производственных приложениях не поддерживается.

Получает список всех пакетов, доступных в клиенте.

Важно!

Для доступа к API управления пакетами требуется лицензия Microsoft Agent 365.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальное обслуживание Правительство США L4 Правительство США L5 (DOD) Китай, обслуживаемый 21Vianet
✅ ❌ ❌ ❌

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более высокий уровень привилегий или разрешений, только если это требуется вашему приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в статье Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшим объемом привилегий Разрешения с более высоким уровнем привилегий
Делегированные (рабочая или учебная учетная запись) CopilotPackages.Read.All CopilotPackages.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение CopilotPackages.Read.All CopilotPackages.ReadWrite.All

HTTP-запрос

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

Заголовки запросов

Имя Описание
Authorization Bearer {token}. Обязательно. Дополнительные сведения об аутентификации и авторизации.

Необязательные параметры запросов

Этот метод поддерживает $filterпараметр запроса OData для настройки ответа. Параметр запроса OData поддерживает $filter следующие свойства. Примеры использования параметра $filter запроса см. в разделе Примеры.

Параметр Тип Описание
supportedHosts string Фильтровать по поддерживаемому узлу (Copilot, Outlook, Teams, M365)
elementTypes string Фильтр по типу элемента (Bots, DeclarativeAgent, CustomEngineAgent)
lastModifiedDateTime datetime Фильтр по дате и времени последнего обновления с помощью ge или le
platform string Фильтровать по платформе (Copilot Studio, Microsoft 365 Copilot Agent Builder)
requestStatus copilotPackageRequestStatus Фильтрация по состоянию запроса с использованием pending (см. раздел Фильтрация по свойствам запроса)
requestType copilotPackageRequestType Фильтрация по типу запроса (см. Фильтрация по свойствам запроса)

Фильтрация по свойствам запроса

Свойства requestStatus and requestType описывают запрос, отправленный пользователем организации для пакета. Фильтрация по любому из этих свойств возвращает запрошенные пользователями пакеты.

Поведение без фильтрации GET /copilot/admin/catalog/packages не изменяется.

Поддерживаются следующие выражения фильтра:

  • requestStatus eq 'pending', который выбирает открытую очередь запросов. Другие requestStatus участники не поддерживаются в фильтре.
  • Однократное eq сравнение requestTypeэлемента , с одним из publishэлементов , activate, access, или update Не фильтруйте unknownFutureValue члена Стража.
  • Эти два сравнения объединены с and.
  • Одно или оба этих сравнения в сочетании с lastModifiedDateTime границей. Укажите одну ge границу, одну le границу или обе, чтобы выразить диапазон включения.

Конъюнкции можно писать and в произвольном порядке.

Привязка lastModifiedDateTime применяется к значению пакета lastModifiedDateTime , которое возвращается для этого свойства. Фильтрация по времени отправки запроса пользователем не выполняется. Пакет, который не lastModifiedDateTime имеет значения, не соответствует, пока существует привязка.

Отдельная фильтрация lastModifiedDateTime — обычное поведение каталога, которая не возвращает очередь запросов.

Следующие функции не поддерживаются и возвращаются 400 Bad Request:

  • Объединение свойства запроса с supportedHostsпомощью , elementTypesили platform.
  • Оператор eq, gtили lt на lastModifiedDateTime, или нескольких lastModifiedDateTime bound в одном направлении, например двух ge bounds.
  • ne, or, и contains операторов.
  • $count с фильтром запросов.

Свойства запроса не сортируются.

requestType и requestStatus являются развиваемыми перечислениями, поэтому более поздняя версия службы может возвращать участник, который клиент не распознает. Дополнительные сведения см. в статье Обработка будущих членов в развивающихся перечислениях.

Разбиение на страницы для отфильтрованной коллекции

Разбиение на страницы осуществляется сервером, поэтому служба определяет количество записей на каждой странице. Трактуйте @odata.nextLink как непрозрачный URL: запрашивайте его именно так, как он был возвращен, без добавления или изменения параметров запроса.

Важно!

Для постраничных ответов использовать @odata.nextLink в качестве сигнала продолжения. Продолжайте запрашивать непрозрачное @odata.nextLink значение, пока оно не исчезнет. Не делайте вывод о завершении из текста ответа, если он @odata.nextLink присутствует.

Ответы на запрос, фильтрующие по свойству запроса, не включают свойство @odata.count . Дополнительные сведения см. в статье Разбивка данных Microsoft Graph по страницам в приложении

Текст запроса

Не указывайте текст запроса для этого метода.

Отклик

В случае успеха этот метод возвращает 200 OK код отклика и коллекцию объектов copilotPackage в тексте ответа.

Примеры

Пример 1. Вывод списка всех пакетов

Запрос

Ниже показан пример запроса.

GET https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages
GET https://graph.microsoft.com/beta/copilot/admin/catalog/packages
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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

Пример 2. Вывод списка пакетов, отфильтрованных по поддерживаемому узлу

Запрос

Ниже показан пример запроса.

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')
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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

Пример 3. Вывод списка пакетов, отфильтрованных по типу элементов

Запрос

Ниже показан пример запроса.

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')
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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

Пример 4. Вывод списка пакетов по дате и времени последнего обновления

Запрос

Ниже показан пример запроса.

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
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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

Пример 5. Вывод списка всех агентов

Чтобы получить список всех агентов, используйте фильтр, который supportedHosts содержит Copilot

Запрос

Ниже показан пример запроса.

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')
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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

Пример 6. Вывод списка пакетов, запрошенных пользователями

Запрос

В следующем примере показан запрос, возвращающий пакеты с открытым запросом.

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'
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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

Пример 7. Вывод списка пакетов, которые пользователи попросили опубликовать

Запрос

В следующем примере показан запрос, возвращающий только те пакеты, которые пользователи попросили опубликовать.

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'
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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

Пример 8. Объединение двух фильтров запросов

Запрос

В следующем примере показан запрос, объединяющий два свойства запроса с 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'
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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

Пример 9. Вывод списка ожидающих запросов по lastModifiedDateTime

Запрос

В следующем примере показан запрос, возвращающий пакеты с открытым запросом, значение которого lastModifiedDateTime совпадает с датой или следует за ней.

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
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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

Пример 10. Указание типа запроса в lastModifiedDateTime диапазоне

Запрос

В следующем примере показан запрос, возвращающий пакеты, которые пользователи попросили опубликовать, ограниченные пакетами, значение которых lastModifiedDateTime находится в инклюзивном диапазоне.

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
Отклик

Ниже показан пример отклика. Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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