# List all environments.

Endpoint: GET /environments
Version: 3.17.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Query parameters:

  - `limit` (integer)
    Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

  - `cursor` (string)
    Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

  - `sort` (string)
    The field to sort results by. A property name with a prepended '-' signifies descending order.

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `items` (array)

  - `items.id` (string)
    The Environment object entity ID.
    Example: environment-123

  - `items.name` (string)
    The name of this environment.
    Example: Linux Test Host

  - `items.namespace_id` (string)
    The namespace id of this environment.
    Example: 1-NAMESPACE-1

  - `items.namespace_name` (string)
    The namespace name of this environment.
    Example: test-engine-1

  - `items.is_replica` (boolean)
    Is this a replicated object.
    Example: true

  - `items.namespace` (string)
    The namespace of this environment for replicated and restored objects.
    Example: NAMESPACE-1

  - `items.engine_id` (string)
    A reference to the Engine that this Environment connection is associated with.
    Example: engine-123

  - `items.enabled` (boolean)
    True if this environment is enabled.
    Example: true

  - `items.is_cluster` (boolean)
    True if this environment is a cluster of hosts.
    Example: false

  - `items.cluster_home` (string)
    Cluster home for RAC environment.
    Example: /u01/app/12.2.0.1/grid

  - `items.is_windows_target` (boolean)
    True if this windows environment is a target environment.
    Example: false

  - `items.staging_environment` (string)
    ID of the staging environment.
    Example: 1-WINDOWS_HOST-8

  - `items.hosts` (array)
    The hosts that are part of this environment.

  - `items.hosts.id` (string)
    The entity ID of this Host.
    Example: 3-UNIX_HOST-5

  - `items.hosts.hostname` (string)
    The hostname or IP address of this host.
    Example: linux.dev.delphix.com

  - `items.hosts.os_name` (string)
    The name of the OS on this host.
    Example: Linux

  - `items.hosts.os_version` (string)
    The version of the OS on this host.
    Example: Red Hat Enterprise Linux Server release 7.3 (Maipo)

  - `items.hosts.memory_size` (integer)
    The total amount of memory on this host in bytes.
    Example: 8382160896

  - `items.hosts.available` (boolean)
    True if the host is up and a connection can be established from the engine.
    Example: false

  - `items.hosts.available_timestamp` (string)
    The last time the available property was updated.
    Example: 2022-06-02T17:49:11.457Z

  - `items.hosts.not_available_reason` (string)
    The reason why the host is not available.
    Example: Failed to connect to host

  - `items.hosts.oracle_cluster_node_reference` (string)
    The reference to the associated OracleClusterNode.
    Example: ORACLE_CLUSTER_NODE-1

  - `items.hosts.oracle_cluster_node_name` (string)
    The name of the associated OracleClusterNode.
    Example: my-favorite-cluster-node

  - `items.hosts.oracle_cluster_node_enabled` (boolean)
    Whether the associated OracleClusterNode is enabled.
    Example: true

  - `items.hosts.oracle_cluster_node_discovered` (boolean)
    Whether the associated OracleClusterNode was discovered.
    Example: true

  - `items.hosts.oracle_cluster_node_virtual_ips` (array)
    The Virtual IP addresses associated with the OracleClusterNode.

  - `items.hosts.oracle_cluster_node_virtual_ips.domain_name` (string)
    The domain name for the VirtualIP.
    Example: virtual.domain.com

  - `items.hosts.oracle_cluster_node_virtual_ips.ip` (string)
    The IP address for this VirtualIP.
    Example: 192.168.0.1

  - `items.hosts.oracle_cluster_node_virtual_ips.discovered` (boolean)
    Whether this VirtualIP was discovered.
    Example: true

  - `items.hosts.oracle_cluster_node_instances` (array)
    The instances associated with the OracleClusterNode.

  - `items.hosts.oracle_cluster_node_instances.instance_name` (string)
    The name of this instance.

  - `items.hosts.oracle_cluster_node_instances.instance_number` (integer)
    The number of this instance.

  - `items.hosts.oracle_cluster_node_instances.source_id` (string)
    The id of Source this instance belongs to.

  - `items.hosts.windows_cluster_node_reference` (string)
    The reference to the associated WindowsClusterNode.
    Example: WINDOWS_CLUSTER_NODE-1

  - `items.hosts.windows_cluster_node_name` (string)
    The name of the associated WindowsClusterNode.
    Example: my-favorite-cluster-node

  - `items.hosts.windows_cluster_node_discovered` (boolean)
    Whether the associated Windows cluster node was discovered.
    Example: true

  - `items.hosts.nfs_addresses` (array)
    The list of host/IP addresses to use for NFS export.
    Example: ["192.168.10.2"]

  - `items.hosts.dsp_keystore_alias` (string)
    The lowercase alias to use inside the user managed DSP keystore.
    Example: oracle-env

  - `items.hosts.dsp_keystore_path` (string)
    The path to the user managed DSP keystore.
    Example: /tmp/keystore.keystore

  - `items.hosts.dsp_truststore_path` (string)
    The path to the user managed DSP truststore.
    Example: /tmp/truststore.keystore

  - `items.hosts.java_home` (string)
    The path to the user managed Java Development Kit (JDK). If not specified, then the OpenJDK will be used.
    Example: /Library/Java/JavaVirtualMachines/jdk/Contents/Home

  - `items.hosts.ssh_port` (integer)
    The port number used to connect to the host via SSH.
    Example: 22

  - `items.hosts.toolkit_path` (string)
    The path for the toolkit that resides on the host.
    Example: /work

  - `items.hosts.oracle_tde_keystores_root_path` (string)
    The path to the root of the Oracle TDE keystores artifact directories.
    Example: /keystore/root/path

  - `items.hosts.processor_type` (string)
    The platform for the host machine.
    Example: x86_64

  - `items.hosts.timezone` (string)
    The OS timezone.
    Example: America/New_York,EST-0500

  - `items.tags` (array)
    The tags to be created for this environment.

  - `items.tags.key` (string, required)
    Key of the tag
    Example: key-1

  - `items.tags.value` (string, required)
    Value of the tag
    Example: value-1

  - `items.repositories` (array)
    Repositories associated with this environment. A Repository typically corresponds to a database installation.

  - `items.repositories.id` (string)
    Entity id of the repository.

  - `items.repositories.name` (string)
    Name of the repository.

  - `items.repositories.database_type` (string)
    The database type of this repository.

  - `items.repositories.allow_provisioning` (boolean)
    Flag indicating whether the repository should be used for provisioning.

  - `items.repositories.is_staging` (boolean)
    Flag indicating whether this repository can be used by the Delphix Engine for internal processing.

  - `items.repositories.oracle_base` (string)
    The Oracle base where database binaries are located.

  - `items.repositories.version` (string)
    Version of the repository.

  - `items.repositories.bits` (integer)
    32 or 64 bits.

  - `items.repositories.install_group` (string)
    Group name of the user that owns the install.

  - `items.repositories.install_user` (string)
    User name of the user that owns the install.

  - `items.repositories.rac` (boolean)
    Flag indicating whether the install supports Oracle RAC.

  - `items.repositories.ports` (array)
    The network ports for connecting to the database instance.

  - `items.repositories.port` (integer)
    The network port for connecting to the SQL Server instance.

  - `items.repositories.dump_history_file` (string)
    Fully qualified name of the dump history file.

  - `items.repositories.page_size` (integer)
    Database page size for the SAP ASE instance.

  - `items.repositories.owner` (string)
    Account the database server instance is running as.

  - `items.repositories.installation_path` (string)
    Directory path where the installation is located.

  - `items.repositories.fulltext_installed` (boolean)
    This property determines if the full-text search and semantic search is installed or not.

  - `items.repositories.internal_version` (integer)
    The internal version is tied to the data format of a database and is used to detect compatibility.

  - `items.repositories.mssql_cluster_instances_name` (array)
    MSSQL cluster instances name.

  - `items.repositories.mssql_cluster_instances_version` (array)
    MSSQL cluster instances version.

  - `items.repositories.installation_home` (string)
    Directory where the installation home is located.

  - `items.repositories.drive_letter` (array)
    MSSQL failover cluster drive letter.

  - `items.repositories.discovered` (boolean)
    Flag indicating whether the repository was automatically discovered.

  - `items.listeners` (array)
    Oracle listeners associated with this environment.

  - `items.listeners.id` (string)
    Id of this listener.
    Example: 1-ORACLE_NODE_LISTENER-11

  - `items.listeners.name` (string)
    Name of this listener.
    Example: my-listener

  - `items.listeners.type` (string)
    Enum: "NODE", "SCAN"

  - `items.listeners.protocol_addresses` (array)
    The list of protocol addresses for this listener.
    Example: ["(ADDRESS=(PROTOCOL=tcp)(HOST=10.75.59.184)(PORT=4567))","(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))"]

  - `items.listeners.client_endpoints` (array)
    The list of client endpoints for this listener.
    Example: ["(ADDRESS=(PROTOCOL=tcp)(HOST=10.75.59.184)(PORT=4567))"]

  - `items.listeners.is_discovered` (boolean)
    Whether this listener was automatically discovered or not.

  - `items.listeners.host_id` (string)
    Id to the host this listener is associated with.
    Example: 1-UNIX_HOST-14

  - `items.os_type` (string)
    The operating system type of this environment.
    Enum: "UNIX", "WINDOWS"

  - `errors` (array)
    Sadly, sometimes requests to the API are not successful. Failures can occur for a wide range of reasons. The Errors object contains information about full or partial failures which might have occurred during the request.

  - `errors.message` (string)
    Message providing more detail about the error that occurred, if available.

  - `errors.object_name` (string)
    Name of the object affected by the error.

  - `response_metadata` (object)

  - `response_metadata.prev_cursor` (string)
    Pointer to the previous page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.

  - `response_metadata.next_cursor` (string)
    Pointer to the next page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.

  - `response_metadata.total` (integer)
    The total number of results. This value may not be provided.

