# List Providers

Returns a list of all Provider capabilities and their configurations.

Operation ID: capabilities_list_providers

Endpoint: GET /v1/capabilities/providers
Security: BearerAuth

## Query parameters:

  - `expand` (array)
    Expand the capabilities result fields that are otherwise
omitted or returned as references to OpenAPI spec components.
NOTE: This can yield very big response objects.
    Enum: "connector", "operations", "provider_config"

## Response 200 fields (application/json):

  - `result` (array, required)

  - `result.id` (string, required)

  - `result.name` (string, required)
    Name of the Provider.

  - `result.fullname` (string, required)
    Display name of the Provider.

  - `result.vendor` (string, required)
    Display name of the Provider vendor.

  - `result.description` (string, required)
    Description of the Provider.

  - `result.connector_id` (string, required)
    Id of the Integrations category
    Enum: "appsec", "assets", "chat", "cloudsecurity", "custom", "edr", "emailsecurity", "endpointmanagement", "identity", "incidentresponse", "notifications", "siem", "sink", "storage", "ticketing", "vulnerabilities"

  - `result.connector` (any)

  - `result.operations` (array,null)
    Operations that the Provider implements.

  - `result.operations.id` (string, required)
    Unique identifier for the operation.

  - `result.operations.name` (string, required)
    Name of the operation.

  - `result.operations.supported` (boolean, required)
    Whether the operation is supported by the provider.

  - `result.operations.fullname` (string,null)
    Display name of the operation.

  - `result.operations.description` (string,null)
    Description of the operation.

  - `result.operations.request_method` (string,null)
    HTTP method used for the operation.

  - `result.operations.request_path` (string,null)
    URI template path for the operation, including path parameters.

  - `result.operations.required_fields` (array,null)
    List of fields in the request body that are required by the
provider for this operation. Due to limitations of the OpenAPI
format these fields may be marked as optional, even though they
are in fact required by this provider.

  - `result.operations.supported_response_fields` (array,null)
    List of fields that may be returned in the response body. Any
fields not listed in this array are not supported by this
provider and will not be returned in the response body.

  - `result.operations.filters` (array,null)
    Filters that can be applied to this operation.

  - `result.operations.filters.name` (string, required)
    Name of the filter.

  - `result.operations.filters.type` (string, required)
    Enum: "string", "datetime", "enum", "boolean", "number"

  - `result.operations.filters.operators` (array, required)
    List of operators that this filter supports.

  - `result.operations.filters.values` (array,null)
    List of possible values for this filter.

  - `result.operations.orders` (array,null)
    Orders that can be applied to this operation.

  - `result.operations.orders.name` (string, required)
    Name of the field to order by.

  - `result.operations.orders.directions` (array, required)
    List of possible directions to order by.
    Enum: "asc", "desc"

  - `result.operations.request_body` (object)
    Describes the request body and its schema.

  - `result.operations.request_body.required` (boolean, required)
    If true the request body is required, false otherwise.

  - `result.operations.request_body.schema` (object,null)
    The schema defining the type used for the request body. If
expanded will be a full JSON schema of the entire request body,
otherwise this will be a reference object. The reference object
has a single key $ref, which is a URI [RFC3986] identifying the
location of a component within the Engine OpenAPI specification.

  - `result.operations.actions` (object,null)
    Supported actions for this operation, keyed by Synqly-unified
action name. Use the capabilities API to discover which actions
each provider supports.

  - `result.provider_config` (any,null)
    Details on the specific configuration options for the Provider.

  - `result.release` (object)

  - `result.release.availability` (string, required)
    Enum: "internal", "in-development", "pre-release", "deprecated", "generally-available"

  - `result.release.environments` (array, required)
    Environments the Provider is available to.
    Enum: "prod", "test"

## Response 400 fields (application/json):

  - `occurred_at` (string, required)
    The date and time the problem occurred.

  - `status` (integer, required)
    The HTTP status code of the problem. Matches the HTTP response code sent by the server.

  - `instance` (string, required)
    A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.

  - `message` (string, required)
    A short, display-friendly summary of the problem.

  - `type` (string)
    A URI reference that identifies the type of problem that occurred. When the URI scheme is HTTP(s), it may or may not be possible to deference the URL to a display-friendly description of the problem type.

  - `cause` (array,null)
    A list of the root cause(s) for this problem occurrence. Includes at minimum one root cause, and is otherwise an unordered list of causes.

  - `cause.type` (string, required)
    A URI reference that identifies the type of problem that occurred. When the URI scheme is HTTP(s), it may or may not be possible to deference the URL to a display-friendly description of the problem type.

  - `cause.message` (string, required)
    A short, display-friendly summary of the problem.

  - `cause.detail` (string,null)
    A display-friendly and more detailed explanation of the problem. It may offer additional contextual detail, but may also be just a generic description of the problem.

  - `cause.remediation` (string,null)
    A display-friendly explanation for how to remediate the problem. This field may be omitted in case there are multiple problems, each with its own remediation, or if no remediation is possible.

  - `cause.context` (object)

  - `cause.context.parameter` (object)

  - `cause.context.parameter.id` (string, required)
    If the location of the parameter is body, this value is always a JSON Pointer, otherwise it's the name of the parameter.

  - `cause.context.parameter.location` (string, required)
    Enum: "header", "path", "query", "body"

  - `cause.context.parameter.value` (any,null)
    The given value of the parameter.

  - `cause.context.resources` (array,null)

  - `cause.context.resources.type` (string, required)
    Enum: "account", "bridge", "credential", "integration_point", "integration", "member", "operation", "organization_webhook", "role", "sub_org", "token", "transform"

  - `cause.context.resources.id` (string, required)
    ID of the related resource.

  - `cause.context.resources.rel` (string, required)
    Enum: "affected", "cause"

  - `cause.context.raw_error` (string,null)
    If available this represents the underlying raw error, for example an error response from a Provider.

  - `cause.context.provider_details` (object,null)
    If available this represents the underlying details from the provider. May include the error message, status code, and other details.

  - `detail` (string,null)
    A display-friendly and more detailed explanation of the problem. It may offer additional contextual detail, but may also be just a generic description of the problem.

  - `remediation` (string,null)
    A display-friendly explanation for how to remediate the problem. This field may be omitted in case there are multiple problems, each with its own remediation, or if no remediation is possible.

  - `context` (object)


