---
updatedAt: 2026-05-28T08:16:45.000Z
agentTools:
  projectIndex: https://docs.scalr.io/llms.txt
---

# List Provider configurations

This endpoint returns a list of Provider configurations by various filters.


# OpenAPI definition

```json
{
  "components": {
    "schemas": {
      "BuiltInProviderTypes": {
        "enum": [
          "aws",
          "azurerm",
          "google",
          "scalr"
        ],
        "type": "string"
      },
      "ProviderConfiguration": {
        "description": "The configuration of provider. Provider configuration is managed on the account scope and can be linked to environments or workspaces.",
        "properties": {
          "attributes": {
            "properties": {
              "apply-only": {
                "default": false,
                "description": "Use this provider configuration only for the apply phase. This option is available only for built in AWS providers.",
                "type": "boolean"
              },
              "aws-access-key": {
                "description": "AWS access key. This option is required with the `access_keys` credential type.",
                "nullable": true,
                "type": "string"
              },
              "aws-account-type": {
                "description": "The type of AWS account, available options: `regular`, `gov-cloud`, `cn-cloud`.",
                "enum": [
                  "regular",
                  "gov-cloud",
                  "cn-cloud"
                ],
                "nullable": true,
                "type": "string"
              },
              "aws-audience": {
                "description": "The value of the aud claim for the identity token.",
                "minLength": 1,
                "nullable": true,
                "type": "string"
              },
              "aws-credentials-source": {
                "description": "The credential source for the initial assume-role call. Applicable when the trusted entity type is `aws_service`. Available options: `Ec2InstanceMetadata`, `EcsContainer`. Defaults to `Ec2InstanceMetadata`.",
                "enum": [
                  "Ec2InstanceMetadata",
                  "EcsContainer"
                ],
                "nullable": true,
                "type": "string"
              },
              "aws-credentials-type": {
                "description": "The type of AWS credential, available options: `access_keys`, `role_delegation`, `oidc`.",
                "enum": [
                  "role_delegation",
                  "access_keys",
                  "oidc"
                ],
                "nullable": true,
                "type": "string"
              },
              "aws-default-tags": {
                "description": "Default tags to be applied to all resources created by this provider configuration.",
                "nullable": true,
                "type": "object"
              },
              "aws-default-tags-strategy": {
                "description": "On duplicate key behaviour for default tags. Available options:\n- `skip`: the existing tags will not be changed\n- `update`: the existing tags will be replaced with the new one",
                "enum": [
                  "skip",
                  "update"
                ],
                "nullable": true,
                "type": "string"
              },
              "aws-external-id": {
                "description": "External identifier to use when assuming the role. This option is required with the `role_delegation` credential type.",
                "minLength": 2,
                "nullable": true,
                "type": "string"
              },
              "aws-role-arn": {
                "description": "Amazon Resource Name (ARN) of the IAM Role to assume. This option is required with the `role_delegation` and `oidc` credential type.",
                "minLength": 20,
                "nullable": true,
                "type": "string"
              },
              "aws-secret-key": {
                "description": "AWS secret key. This option is required with the `access_keys` credential type.",
                "format": "password",
                "nullable": true,
                "type": "string"
              },
              "aws-trusted-entity-type": {
                "description": "Trusted entity type, available options: `aws_account`, `aws_service`. This option is required with the `role_delegation` credential type.",
                "enum": [
                  "aws_account",
                  "aws_service"
                ],
                "nullable": true,
                "type": "string"
              },
              "azurerm-audience": {
                "description": "The value of the aud claim for the identity token.",
                "maxLength": 600,
                "nullable": true,
                "type": "string"
              },
              "azurerm-auth-type": {
                "description": "The type of azurerm credentials, available options: `client-secrets`, `oidc`.",
                "enum": [
                  "client-secrets",
                  "oidc"
                ],
                "nullable": true,
                "type": "string"
              },
              "azurerm-client-id": {
                "description": "The Client ID which should be used.",
                "nullable": true,
                "type": "string"
              },
              "azurerm-client-secret": {
                "description": "The Client Secret which should be used.",
                "format": "password",
                "nullable": true,
                "type": "string"
              },
              "azurerm-subscription-id": {
                "description": "The Subscription ID which should be used.",
                "nullable": true,
                "type": "string"
              },
              "azurerm-tenant-id": {
                "description": "The Tenant ID should be used.",
                "nullable": true,
                "type": "string"
              },
              "error-message": {
                "description": "Contains the error message if the provider configuration is in an `errored` status.",
                "nullable": true,
                "readOnly": true,
                "type": "string"
              },
              "export-shell-variables": {
                "default": false,
                "description": "Export provider variables into the run environment. This option is available only for built in providers.",
                "type": "boolean"
              },
              "google-auth-type": {
                "description": "Authentication type to access GCP.",
                "enum": [
                  "service-account-key",
                  "oidc"
                ],
                "nullable": true,
                "type": "string"
              },
              "google-credentials": {
                "description": "Service account key file in JSON format.",
                "format": "password",
                "nullable": true,
                "type": "string"
              },
              "google-default-label-strategy": {
                "description": "On duplicate key behaviour for default labels. Available options:\n- `skip`: the existing labels will not be changed\n- `update`: the existing labels will be replaced with the new one",
                "enum": [
                  "skip",
                  "update"
                ],
                "nullable": true,
                "type": "string"
              },
              "google-default-labels": {
                "description": "Default labels to be applied to all resources created by this provider configuration.",
                "nullable": true,
                "type": "object"
              },
              "google-project": {
                "description": "The default project to manage resources in. If another project is specified on a resource, it will take precedence.",
                "nullable": true,
                "type": "string"
              },
              "google-service-account-email": {
                "description": "The service account email Scalr will use when authenticating to GCP.",
                "nullable": true,
                "type": "string"
              },
              "google-service-account-name": {
                "description": "Service account name.",
                "nullable": true,
                "readOnly": true,
                "type": "string"
              },
              "google-use-default-project": {
                "default": true,
                "description": "If the project will be enforced.",
                "nullable": true,
                "type": "boolean"
              },
              "google-workload-provider-name": {
                "description": "The canonical name of the workload identity provider.",
                "nullable": true,
                "type": "string"
              },
              "is-allowed-in-module-test": {
                "default": false,
                "description": "Indicates whether the provider configuration can be used in module tests.",
                "type": "boolean"
              },
              "is-custom": {
                "description": "Determines if a provider configuration is custom. Note: custom provider configurations do not support built-in features like exporting as shell variables or on-save validation. Provider configuration will be validated during the run only.",
                "nullable": true,
                "type": "boolean"
              },
              "is-shared": {
                "description": "Indicates whether the provider configuration can be used in any workspace of the account without directly linking it to the environment.",
                "type": "boolean"
              },
              "is-used-in-module-test": {
                "default": false,
                "description": "Indicates whether the provider configuration is currently linked to any module test.",
                "readOnly": true,
                "type": "boolean"
              },
              "name": {
                "description": "The name of a Scalr provider configuration. This field is unique for the account.",
                "maxLength": 255,
                "type": "string"
              },
              "provider-name": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/BuiltInProviderTypes"
                  },
                  {
                    "type": "string"
                  }
                ],
                "description": "The name of a Terraform provider."
              },
              "scalr-hostname": {
                "description": "The Scalr hostname which should be used.",
                "nullable": true,
                "type": "string"
              },
              "scalr-token": {
                "description": "The Scalr token which should be used.",
                "format": "password",
                "nullable": true,
                "type": "string"
              },
              "status": {
                "description": "Provider configuration status. Can be: `active`, `errored`.",
                "enum": [
                  "active",
                  "errored"
                ],
                "readOnly": true,
                "type": "string"
              }
            },
            "required": [
              "name",
              "provider-name"
            ],
            "type": "object"
          },
          "id": {
            "readOnly": true,
            "type": "string"
          },
          "links": {
            "properties": {
              "self": {
                "readOnly": true,
                "type": "string"
              }
            },
            "readOnly": true,
            "type": "object"
          },
          "relationships": {
            "properties": {
              "account": {
                "description": "The account this provider configuration belongs to.",
                "properties": {
                  "data": {
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "type": {
                        "enum": [
                          "accounts",
                          ""
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "id"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              },
              "environments": {
                "description": "The list of environments attached to the provider configuration. Can be used to bulk link/unlink environments.",
                "properties": {
                  "data": {
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "type": {
                          "enum": [
                            "environments",
                            ""
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              },
              "owners": {
                "description": "The teams, the provider configuration belongs to.",
                "properties": {
                  "data": {
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "type": {
                          "enum": [
                            "teams",
                            ""
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              },
              "parameters": {
                "description": "The list of arguments for provider configurations.",
                "properties": {
                  "data": {
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "type": {
                          "enum": [
                            "provider-configuration-parameters",
                            ""
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  }
                },
                "readOnly": true,
                "required": [
                  "data"
                ],
                "type": "object"
              },
              "tags": {
                "properties": {
                  "data": {
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "type": {
                          "enum": [
                            "tags",
                            ""
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "id"
                      ],
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            },
            "required": [
              "account"
            ],
            "type": "object"
          },
          "type": {
            "enum": [
              "provider-configurations"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "attributes",
          "relationships"
        ],
        "type": "object"
      },
      "ProviderConfigurationListingDocument": {
        "description": "JSON:API Document Listing\n\nsee: https://jsonapi.org/format/#document-structure",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ProviderConfiguration"
            },
            "type": "array"
          },
          "included": {
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "links": {
            "additionalProperties": {
              "type": "string"
            },
            "readOnly": true,
            "type": "object"
          },
          "meta": {
            "readOnly": true,
            "type": "object"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "API-Key": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "Scalr IACP API",
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0"
    },
    "title": "Scalr IACP API",
    "version": "unversioned"
  },
  "openapi": "3.0.0",
  "paths": {
    "/provider-configurations": {
      "get": {
        "description": "This endpoint returns a list of Provider configurations by various filters.\n",
        "operationId": "list_provider_configurations",
        "parameters": [
          {
            "description": "The provider configuration name filter.",
            "in": "query",
            "name": "filter[name]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The provider configuration type filter.",
            "in": "query",
            "name": "filter[provider-name]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The provider configuration status filter.",
            "in": "query",
            "name": "filter[status]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The provider configuration account filter.",
            "in": "query",
            "name": "filter[account]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The provider configuration environment filter.",
            "in": "query",
            "name": "filter[environment]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The ID(s) of provider configuration(s).",
            "in": "query",
            "name": "filter[provider-configuration]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter provider configurations by tags",
            "in": "query",
            "name": "filter[tag]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter provider configurations allowed for use in module tests.",
            "in": "query",
            "name": "filter[is-allowed-in-module-test]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter provider configurations used in module tests.",
            "in": "query",
            "name": "filter[is-used-in-module-test]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page number",
            "in": "query",
            "name": "page[number]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page size",
            "in": "query",
            "name": "page[size]",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The comma-separated list of attributes.",
            "explode": false,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "name"
                ],
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The comma-separated list of relationship paths.",
            "explode": false,
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "environments",
                  "parameters",
                  "tags"
                ],
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The value of the fields[resource-type] parameter is a comma-separated list that refers to the name of the fields to be returned for the resource. An empty value indicates that no fields should be returned.",
            "explode": true,
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "properties": {
                "environments": {
                  "description": "The comma-separated list of fields to return in response for Environment resource.",
                  "type": "string"
                },
                "provider-configuration-parameters": {
                  "description": "The comma-separated list of fields to return in response for ProviderConfigurationParameter resource.",
                  "type": "string"
                },
                "provider-configurations": {
                  "description": "The comma-separated list of fields to return in response for ProviderConfiguration resource.",
                  "type": "string"
                },
                "tags": {
                  "description": "The comma-separated list of fields to return in response for Tag resource.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "style": "deepObject"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderConfigurationListingDocument"
                }
              }
            },
            "description": "Success."
          },
          "403": {
            "description": "User unauthorized to perform action."
          },
          "4XX": {
            "description": "Client error."
          },
          "5XX": {
            "description": "Server error."
          }
        },
        "summary": "List Provider configurations",
        "tags": [
          "provider-configurations"
        ],
        "x-resource": "ProviderConfiguration",
        "x-service": "tf-api"
      }
    }
  },
  "security": [
    {
      "API-Key": []
    }
  ],
  "servers": [
    {
      "url": "https://{Domain}/api/iacp/v3",
      "variables": {
        "Domain": {
          "default": "example.scalr.io",
          "description": "Domain where Scalr is hosted"
        }
      }
    }
  ]
}
```

# Sibling pages

* [Create a Provider configuration](https://docs.scalr.io/scalr/reference/create_provider_configuration.md)
* [Delete a Provider configuration](https://docs.scalr.io/scalr/reference/delete_provider_configuration.md)
* [Get a Provider configuration](https://docs.scalr.io/scalr/reference/get_provider_configuration.md)
* [Update a Provider configuration](https://docs.scalr.io/scalr/reference/update_provider_configuration.md)
* [Delete provider configuration's tags](https://docs.scalr.io/scalr/reference/delete_provider_configuration_tags.md)
* [List provider configuration's tags](https://docs.scalr.io/scalr/reference/list_provider_configuration_tags.md)
* [Replace provider configuration's tags](https://docs.scalr.io/scalr/reference/replace_provider_configuration_tags.md)
* [Add tags to the provider configuration](https://docs.scalr.io/scalr/reference/add_provider_configuration_tags.md)