# Get a dSource by ID.

Endpoint: GET /dsources/{dsourceId}
Version: 3.17.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Path parameters:

  - `dsourceId` (string, required)
    The ID of the dSource.

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `id` (string)
    The dSource object entity ID.

  - `database_type` (string)
    The database type of this dSource.

  - `name` (string)
    The container name of this dSource.

  - `namespace_id` (string)
    The namespace id of this dSource.

  - `namespace_name` (string)
    The namespace name of this dSource.

  - `is_replica` (boolean)
    Is this a replicated object.

  - `database_version` (string)
    The database version of this dSource.

  - `content_type` (string)
    The content type of the dSource.

  - `data_uuid` (string)
    A universal ID that uniquely identifies the dSource database.

  - `storage_size` (integer)
    The actual space used by this dSource, in bytes.

  - `plugin_version` (string)
    The version of the plugin associated with this source database.

  - `creation_date` (string)
    The date this dSource was created.

  - `group_name` (string)
    The name of the group containing this dSource.

  - `enabled` (boolean)
    A value indicating whether this dSource is enabled.

  - `is_detached` (boolean)
    A value indicating whether this dSource is detached.

  - `engine_id` (string)
    A reference to the Engine that this dSource belongs to.

  - `source_id` (string)
    A reference to the Source associated with this dSource.

  - `status` (string)
    The runtime status of the dSource. 'Unknown' if all attempts to connect to the source failed.

  - `engine_name` (string)
    Name of the Engine where this DSource is hosted

  - `cdb_id` (string)
    A reference to the CDB associated with this dSource.

  - `current_timeflow_id` (string)
    A reference to the currently active timeflow for this dSource.
    Example: timeflow-123

  - `previous_timeflow_id` (string)
    A reference to the previous timeflow for this dSource.
    Example: timeflow-123

  - `is_appdata` (boolean)
    Indicates whether this dSource has an AppData database.
    Example: true

  - `toolkit_id` (string)
    The ID of the toolkit associated with this dSource(AppData only).

  - `unvirtualized_space` (integer)
    This is the sum of unvirtualized space from the dependants VDBs of the dSource.

  - `dependant_vdbs` (integer)
    The number of VDBs that are dependant on this dSource. This includes all VDB descendants that have this dSource as an ancestor.

  - `tags` (array)

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

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

  - `primary_object_id` (string)
    The ID of the parent object from which replication was done.

  - `primary_engine_id` (string)
    The ID of the parent engine from which replication was done.

  - `primary_engine_name` (string)
    The name of the parent engine from which replication was done.

  - `replicas` (array)
    The list of replicas replicated from this object.

  - `replicas.replica_id` (string)
    The ID of the replicated object.
    Example: replica-1

  - `replicas.replica_engine_id` (string)
    The ID of the replicated object's engine.
    Example: 1

  - `replicas.replica_engine_name` (string)
    The name of the replicated object's engine.
    Example: replica-e1

  - `replicas.replica_namespace_id` (string)
    The namespace id of the replicated object.
    Example: namespace-1

  - `hooks` (object)
    DSource operation hooks.

  - `hooks.ops_pre_sync` (array)
    The commands to execute before syncing with external data.

  - `hooks.ops_pre_sync.name` (string)
    Example: Print the current user

  - `hooks.ops_pre_sync.command` (string, required)
    Example: whoami

  - `hooks.ops_pre_sync.shell` (string)
    Enum: "bash", "shell", "expect", "ps", "psd"

  - `hooks.ops_pre_sync.element_id` (string)
    Example: 0

  - `hooks.ops_pre_sync.has_credentials` (boolean)
    Example: false

  - `hooks.ops_pre_log_sync` (array)
    The commands to execute after syncing with external data and before running the LogSync.

  - `hooks.ops_post_sync` (array)
    The commands to execute after syncing a linked source.

  - `hooks.pre_validated_sync` (array)
    The commands to execute on the staging source before performing a validated sync.

  - `hooks.post_validated_sync` (array)
    The commands to execute on the staging source after performing a validated sync.

  - `sync_policy_id` (string)
    The id of the snapshot policy associated with this dSource.

  - `retention_policy_id` (string)
    The id of the retention policy associated with this dSource.

  - `replica_retention_policy_id` (string)
    The id of the replica retention policy associated with this dSource.

  - `quota_policy_id` (string)
    The id of the quota policy associated with this dSource.

  - `logsync_enabled` (boolean)
    True if LogSync is enabled for this dSource.

  - `exported_data_directory` (string)
    ZFS exported data directory path.

  - `template_id` (string)
    A reference to the Non Virtual Database Template.
    Example: DATABASE_TEMPLATE-1

