---
title: "List products for integration configuration"
method: GET
path: "/v1/integrations/configuration/{id}/products"
tags: ["integrations"]
---

# List products for integration configuration

`GET /v1/integrations/configuration/{id}/products`

## Request

- Base URL: `https://api.vercel.com`
- URL: `https://api.vercel.com/v1/integrations/configuration/{id}/products`
- Auth: HTTP bearer

Returns products available for an integration configuration. Each product includes a `metadataSchema` field with the JSON Schema for required and optional metadata fields.

## Path parameters

- `id` string, required: ID of the integration configuration

## Query parameters

- `teamId` string
- `slug` string

## Response `200`

List of products available for this integration configuration

- object
  - `configuration` object, required
    - `id` string, required
  - `integration` object, required
    - `id` string, required
    - `name` string, required
    - `slug` string, required
  - `products` object[], required
    - `id` string, required
    - `metadataSchema` object, required
      - `properties` object, required
      - `required` string[]
      - `type` 'object', required
      - `ui:order` string[]
    - `name` string, required
    - `primaryProtocol` 'ai' | 'authentication' | 'checks' | 'experimentation' | 'logDrain' | 'messaging' | 'observability' | 'other' | 'storage' | 'traceDrain' | 'video' | 'workflow'
    - `protocols` object, required
      - `ai` object
        - `status` 'disabled' | 'enabled', required
      - `authentication` object
        - `status` 'disabled' | 'enabled', required
        - `appUrlRegistrationSupport` false | true: The partner accepts Vercel-managed app URLs via `protocolSettings.authentication.appUrls` on provision-resource and update-resource, and reconciles them into its trusted-origin / redirect-URL allowlist. When absent, consumers surface the URL for a one-time manual registration instead.
      - `checks` object
        - `status` 'disabled' | 'enabled', required
      - `experimentation` object
        - `status` 'disabled' | 'enabled', required
        - `edgeConfigSyncingSupport` false | true
      - `logDrain` object
        - `status` 'disabled' | 'enabled', required
        - `endpoint` string, required
        - `headers` object
        - `format` 'json' | 'ndjson', required
      - `messaging` object
        - `status` 'disabled' | 'enabled', required
      - `observability` object
        - `status` 'disabled' | 'enabled', required
      - `other` object
        - `status` 'disabled' | 'enabled', required
      - `storage` object
        - `status` 'disabled' | 'enabled', required
        - `repl` object
          - `enabled` false | true, required
          - `supportsReadOnlyMode` false | true, required
          - `welcomeMessage` string
      - `traceDrain` object
        - `status` 'disabled' | 'enabled', required
        - `endpoint` string, required
        - `headers` object
        - `format` 'json' | 'proto', required
      - `video` object
        - `status` 'disabled' | 'enabled', required
      - `workflow` object
        - `status` 'disabled' | 'enabled', required
    - `slug` string, required

## Other responses

- `400`: One of the provided values in the request query is invalid.
- `401`: The request is not authorized.
- `403`: You do not have permission to access this resource.
- `404`
- `410`
- `500`

## Changes

- **2026-08-17** `4c652701e115`: 1 info
  - added the optional property `products/items/protocols/authentication/appUrlRegistrationSupport` to the response with the `200` status
- **2026-07-21** `2ae10ee9d21c`: 1 info
  - added the non-success response with the status `410`
- **2026-06-11** `14b4658f819e`: 1 breaking, 2 info
  - added `subschema #1, subschema #2, subschema #3, subschema #4, subschema #5, subschema #6, subschema #7, subschema #8, subschema #9, subschema #10, subschema #11, subschema #12` to the `products/items/metadataSchema/properties/additionalProperties/` response property `oneOf` list for the response status `200`
  - added the optional property `products/items/metadataSchema/ui:order` to the response with the `200` status
  - removed `subschema #1, subschema #2, subschema #3, subschema #4, subschema #5, subschema #6, subschema #7, subschema #8, subschema #9, subschema #10` from the `products/items/metadataSchema/properties/additionalProperties/` response property `oneOf` list for the response status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/vercel/apis/vercel-api/changes/v1/integrations/configuration/:id/products/get.md)

---

[API](https://skmtc.dev/vercel/apis/vercel-api.md) - [All operations](https://skmtc.dev/vercel/apis/vercel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vercel/apis/vercel-api/revisions/60686c0e1f6a?raw)
