configurations
Creates, updates, deletes, gets or lists a configurations resource.
Overview
| Name | configurations |
| Type | Resource |
| Id | vercel.integrations.configurations |
Fields
The following fields are returned by SELECT queries:
- get
- list
The configuration with the provided id
| Name | Datatype | Description |
|---|---|---|
id | string | The unique identifier of the configuration (example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F) |
accepted_policies_inherited_from_installation_id | string | Historical parent installation from which acceptedPolicies were inherited. This is immutable provenance, not current authorization or relationship truth. (wire: acceptedPoliciesInheritedFromInstallationId) |
external_id | string | An external identifier defined by the integration vendor. (wire: externalId) |
integration_id | string | The unique identifier of the app the configuration was created for (example: oac_xzpVzcUOgcB1nrVlirtKhbWV) (wire: integrationId) |
owner_id | string | The user or team ID that owns the configuration (example: kr1PsOIzqEL5Xg6M4VZcZosf) (wire: ownerId) |
team_id | string | When the configuration was created for a team, this will show the ID of the team. (example: team_nLlpyC6RE1qxydlFKbrxDlud) (wire: teamId) |
user_id | string | The ID of the user that created the configuration. (example: kr1PsOIzqEL5Xg6M4VZcZosf) (wire: userId) |
can_configure_open_telemetry | boolean | (false, true) (wire: canConfigureOpenTelemetry) |
completed_at | number | A timestamp that tells you when the configuration was installed successfully (wire: completedAt) |
created_at | number | A timestamp that tells you when the configuration was created (wire: createdAt) |
customer_delete_requested_at | number | Record when the customer initited deletion, independent of whether deleteRequestedAt gets set. (wire: customerDeleteRequestedAt) |
delete_requested_at | number | A timestamp that tells you when the configuration deletion has been started for cases when the deletion needs to be settled/approved by partners, such as when marketplace invoices have been paid. (wire: deleteRequestedAt) |
deleted_at | number | A timestamp that tells you when the configuration was deleted. (wire: deletedAt) |
disabled_at | number | A timestamp that tells you when the configuration was disabled. Note: Configurations can be disabled when the associated user loses access to a team. They do not function during this time until the configuration is 'transferred', meaning the associated user is changed to one with access to the team. (wire: disabledAt) |
disabled_reason | string | (account-plan-downgrade, disabled-by-admin, disabled-by-owner, feature-not-available, original-owner-left-the-team, original-owner-role-downgraded) (wire: disabledReason) |
installation_type | string | Defines the installation type. - 'external' integrations are installed via the existing integrations flow - 'marketplace' integrations are natively installed: - when accepting the TOS of a partner during the store creation process - if undefined, assume 'external' (external, marketplace) (wire: installationType) |
notification | object | |
project_selection | string | A string representing the permission for projects. Possible values are all or selected. (all, selected) (example: all) (wire: projectSelection) |
projects | array | When a configuration is limited to access certain projects, this will contain each of the project ID it is allowed to access. If it is not defined, the configuration has full access. |
scopes | array | The resources that are allowed to be accessed by the configuration. |
slug | string | The slug of the integration the configuration is created for. (example: slack) |
source | string | Source defines where the configuration was installed from. It is used to analyze user engagement for integration installations in product metrics. (backoffice, cli, deploy-button, external, import-recommended-integrations, marketplace, oauth, organization, resource-claims, v0) (example: marketplace) |
status | string | The configuration status. Optional. If not defined, assume 'ready'. (error, onboarding, pending, ready, resumed, suspended, uninstalled) |
transfer_request | | (wire: transferRequest) |
type | string | (integration-configuration) |
updated_at | number | A timestamp that tells you when the configuration was updated. (wire: updatedAt) |
The list of configurations for the authenticated user
| Name | Datatype | Description |
|---|---|---|
id | string | The unique identifier of the configuration (example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F) |
accepted_policies_inherited_from_installation_id | string | Historical parent installation from which acceptedPolicies were inherited. This is immutable provenance, not current authorization or relationship truth. (wire: acceptedPoliciesInheritedFromInstallationId) |
external_id | string | An external identifier defined by the integration vendor. (wire: externalId) |
integration_id | string | The unique identifier of the app the configuration was created for (example: oac_xzpVzcUOgcB1nrVlirtKhbWV) (wire: integrationId) |
owner_id | string | The user or team ID that owns the configuration (example: kr1PsOIzqEL5Xg6M4VZcZosf) (wire: ownerId) |
team_id | string | When the configuration was created for a team, this will show the ID of the team. (example: team_nLlpyC6RE1qxydlFKbrxDlud) (wire: teamId) |
user_id | string | The ID of the user that created the configuration. (example: kr1PsOIzqEL5Xg6M4VZcZosf) (wire: userId) |
completed_at | number | A timestamp that tells you when the configuration was installed successfully (wire: completedAt) |
created_at | number | A timestamp that tells you when the configuration was created (wire: createdAt) |
customer_delete_requested_at | number | Record when the customer initited deletion, independent of whether deleteRequestedAt gets set. (wire: customerDeleteRequestedAt) |
delete_requested_at | number | A timestamp that tells you when the configuration deletion has been started for cases when the deletion needs to be settled/approved by partners, such as when marketplace invoices have been paid. (wire: deleteRequestedAt) |
deleted_at | number | A timestamp that tells you when the configuration was deleted. (wire: deletedAt) |
disabled_at | number | A timestamp that tells you when the configuration was disabled. Note: Configurations can be disabled when the associated user loses access to a team. They do not function during this time until the configuration is 'transferred', meaning the associated user is changed to one with access to the team. (wire: disabledAt) |
disabled_reason | string | (account-plan-downgrade, disabled-by-admin, disabled-by-owner, feature-not-available, original-owner-left-the-team, original-owner-role-downgraded) (wire: disabledReason) |
installation_type | string | Defines the installation type. - 'external' integrations are installed via the existing integrations flow - 'marketplace' integrations are natively installed: - when accepting the TOS of a partner during the store creation process - if undefined, assume 'external' (external, marketplace) (wire: installationType) |
projects | array | When a configuration is limited to access certain projects, this will contain each of the project ID it is allowed to access. If it is not defined, the configuration has full access. |
scopes | array | The resources that are allowed to be accessed by the configuration. |
slug | string | The slug of the integration the configuration is created for. (example: slack) |
source | string | Source defines where the configuration was installed from. It is used to analyze user engagement for integration installations in product metrics. (backoffice, cli, deploy-button, external, import-recommended-integrations, marketplace, oauth, organization, resource-claims, v0) (example: marketplace) |
status | string | The configuration status. Optional. If not defined, assume 'ready'. (error, onboarding, pending, ready, resumed, suspended, uninstalled) |
type | string | (integration-configuration) |
updated_at | number | A timestamp that tells you when the configuration was updated. (wire: updatedAt) |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | id | team_id, slug | Allows to retrieve a the configuration with the provided id in case it exists. The authenticated user or team must be the owner of the config in order to access it. |
list | select | view | installation_type, integration_id_or_slug, team_id, slug | Allows to retrieve all configurations for an authenticated integration. When the project view is used, configurations generated for the authorization flow will be filtered out of the results. |
delete | delete | id | team_id, slug | Allows to remove the configuration with the id provided in the parameters. The configuration and all of its resources will be removed. This includes Webhooks, LogDrains and Project Env variables. |
connect_resource_to_project | exec | integration_configuration_id, resource_id, projectId | teamId, slug | Connects an integration resource to a Vercel project. This endpoint establishes a connection between a provisioned integration resource (from storage APIs like POST /v1/storage/stores/integration/direct) and a specific Vercel project. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
id | string | |
integration_configuration_id | string | |
resource_id | string | |
view | string | |
installation_type | string | (wire: installationType) |
integration_id_or_slug | string | ID of the integration (wire: integrationIdOrSlug) |
slug | string | The Team slug to perform the request on behalf of. |
teamId | string | The Team identifier to perform the request on behalf of. |
team_id | string | The Team identifier to perform the request on behalf of. (wire: teamId) |
SELECT examples
- get
- list
Allows to retrieve a the configuration with the provided id in case it exists. The authenticated user or team must be the owner of the config in order to access it.
SELECT
id,
accepted_policies_inherited_from_installation_id,
external_id,
integration_id,
owner_id,
team_id,
user_id,
can_configure_open_telemetry,
completed_at,
created_at,
customer_delete_requested_at,
delete_requested_at,
deleted_at,
disabled_at,
disabled_reason,
installation_type,
notification,
project_selection,
projects,
scopes,
slug,
source,
status,
transfer_request,
type,
updated_at
FROM vercel.integrations.configurations
WHERE id = '{{ id }}' -- required
AND team_id = '{{ team_id }}'
AND slug = '{{ slug }}'
;
Allows to retrieve all configurations for an authenticated integration. When the project view is used, configurations generated for the authorization flow will be filtered out of the results.
SELECT
id,
accepted_policies_inherited_from_installation_id,
external_id,
integration_id,
owner_id,
team_id,
user_id,
completed_at,
created_at,
customer_delete_requested_at,
delete_requested_at,
deleted_at,
disabled_at,
disabled_reason,
installation_type,
projects,
scopes,
slug,
source,
status,
type,
updated_at
FROM vercel.integrations.configurations
WHERE view = '{{ view }}' -- required
AND installation_type = '{{ installation_type }}'
AND integration_id_or_slug = '{{ integration_id_or_slug }}'
AND team_id = '{{ team_id }}'
AND slug = '{{ slug }}'
;
DELETE examples
- delete
Allows to remove the configuration with the id provided in the parameters. The configuration and all of its resources will be removed. This includes Webhooks, LogDrains and Project Env variables.
DELETE FROM vercel.integrations.configurations
WHERE id = '{{ id }}' --required
AND team_id = '{{ team_id }}'
AND slug = '{{ slug }}'
;
Lifecycle Methods
EXEC variables use wire (API) names.
- connect_resource_to_project
Connects an integration resource to a Vercel project. This endpoint establishes a connection between a provisioned integration resource (from storage APIs like POST /v1/storage/stores/integration/direct) and a specific Vercel project.
EXEC vercel.integrations.configurations.connect_resource_to_project
@integration_configuration_id='{{ integration_configuration_id }}' --required,
@resource_id='{{ resource_id }}' --required,
@teamId='{{ teamId }}',
@slug='{{ slug }}'
@@json=
'{
"projectId": "{{ projectId }}",
"envVarEnvironments": "{{ envVarEnvironments }}",
"makeEnvVarsSensitive": {{ makeEnvVarsSensitive }}
}'
;