Direct Access Agents

API for running Direct Access gateway agent benchmarks and retrieving benchmark and load performance metrics. Requires the Tenant Admin role. Availability depends on the operation and Direct Access gateway version.

List benchmark statuses

Retrieves paginated statuses for benchmarks run by the specified Direct Access agent. Use the filters and sort order to find benchmark runs and review their progress or completed results. The requestor must have the TenantAdmin role and be either the gateway's space owner or a member of the gateway's space with the Can Consume Data role. Available in Direct Access Gateway V1.7.17+.

Facts

Rate limit Tier 1 (1000 requests per minute)

Query Parameters

  • filterstring

    SCIM style filter string as defined in RFC 7644 section 3.4.2.2

  • limitinteger

    The page size

  • pageinteger

    The page number

  • sortstring

    The field to sort by with +/- prefix indicating sort order

    Can be one of: "-benchmarkStartTime""+benchmarkStartTime""benchmarkStartTime""-benchmarkEndTime""+benchmarkEndTime""benchmarkEndTime""-dataTransmissionStartTime""+dataTransmissionStartTime""dataTransmissionStartTime""-dataTransmissionEndTime""+dataTransmissionEndTime""dataTransmissionEndTime"

Path Parameters

  • agentIdstring
    Required

    The agent ID

Responses

200

The benchmark status.

  • application/jsonobject

    Contains a paginated collection of benchmark statuses for an agent.

    Show application/json properties
    • dataarray of objects

      Represents the status and performance data for a benchmark task.

      Show data properties
      • namestring

        The benchmark name

      • statusstring

        The benchmark status

      • resultsobject

        Contains throughput, latency, transfer volume, and transmission timing for a benchmark.

        Show results properties
        • latencyinteger

          The latency in ms measured during data transmission

        • throughputinteger

          The data throughput in KB/s measured during data transmission

        • connectorLatencyinteger

          The average latency in ms measured on the connector side during data transmission. Null if no connector benchmark data is available.

        • totalBytesTransferredinteger

          The total number of bytes successfully transferred during data transmission

        • dataTransmissionEndTimestring

          The ISO 8601 formatted timestamp when data transmission completed

        • dataTransmissionStartTimestring

          The ISO 8601 formatted timestamp when data transmission start

      • benchmarkIdstring

        The benchmark ID

      • descriptionstring

        The benchmark description

      • statusMessagestring

        Additional details about the benchmark status

      • benchmarkEndTimestring

        The ISO 8601 formatted timestamp when the benchmark task completed or was cancelled

      • concurrentReloadsinteger

        Number of concurrent benchmarks/reloads observed when this benchmark was started

      • benchmarkStartTimestring

        The ISO 8601 formatted timestamp when the benchmark task started execution

      • totalBytesRequestedinteger

        The total bytes requested to be transferred during the benchmark

      • getReloadSlotEndTimestring

        The ISO 8601 formatted timestamp when get reload slot completed

      • dataGenerationEndTimestring

        The ISO 8601 formatted timestamp when data generation completed

      • getReloadSlotStartTimestring

        The ISO 8601 formatted timestamp when get reload slot started

      • dataGenerationStartTimestring

        The ISO 8601 formatted timestamp when data generation started

    • pageinteger
    • limitinteger
    • linksobject
      Show links properties
      • nextobject
        Show next properties
        • hrefstring

          The URL to the related resource

      • prevobject
        Show prev properties
        • hrefstring

          The URL to the related resource

      • selfobject
        Show self properties
        • hrefstring

          The URL to the related resource

    • totalCountinteger
    • totalPagesinteger

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

403

The requestor does not have the required permissions for the gateway's space.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

404

The gateway was not found.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

429

Too many requests.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

500

There was an error processing the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

501

All or part of the request has not yet been implemented.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

503

Service is unavailable.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean
GET /api/connectivity/direct-access-agents/{agentId}/benchmarks
// qlik-api has not implemented support for `GET /api/connectivity/direct-access-agents/{agentId}/benchmarks` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/connectivity/direct-access-agents/{agentId}/benchmarks',
{
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
},
)
# qlik-cli has not implemented support for GET /api/connectivity/direct-access-agents/{agentId}/benchmarks yet.
curl "https://{tenant}.{region}.qlikcloud.com/api/connectivity/direct-access-agents/{agentId}/benchmarks" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"data": [
{
"name": "string",
"status": "string",
"results": {
"latency": 42,
"throughput": 42,
"connectorLatency": 42,
"totalBytesTransferred": 42,
"dataTransmissionEndTime": "2026-03-11T20:54:34.437Z",
"dataTransmissionStartTime": "2026-03-11T20:52:05.308Z"
},
"benchmarkId": "string",
"description": "string",
"statusMessage": "string",
"benchmarkEndTime": "2026-03-11T20:54:34.438Z",
"concurrentReloads": 42,
"benchmarkStartTime": "2026-03-11T20:51:15.927Z",
"totalBytesRequested": 42,
"getReloadSlotEndTime": "2026-03-11T20:51:22.000Z",
"dataGenerationEndTime": "2026-03-11T20:51:40.000Z",
"getReloadSlotStartTime": "2026-03-11T20:51:20.000Z",
"dataGenerationStartTime": "2026-03-11T20:51:23.000Z"
}
],
"page": 42,
"limit": 42,
"links": {
"next": {
"href": "string"
},
"prev": {
"href": "string"
},
"self": {
"href": "string"
}
},
"totalCount": 42,
"totalPages": 42
}

Start an agent benchmark

Starts a background benchmark task that measures the throughput and latency of a Direct Access agent. Use the returned benchmarkId to monitor progress and retrieve performance metrics for capacity planning or performance optimization. The requestor must have the TenantAdmin role and be either the gateway's space owner or a member of the gateway's space with the Can Consume Data role. Available in Direct Access Gateway V1.7.8+.

Facts

Rate limit Tier 2 (100 requests per minute)
Replaces

Query Parameters

  • descriptionstring

    The description for the benchmark task.

  • forceboolean

    Forces the benchmark to start regardless of the state of the agent. Does not override QCS resource limits. Use with caution.

  • gigaBytesToTransferinteger

    The volume of data in GB to transfer during the throughput measurement part of the benchmark.

  • namestring

    The name to assign to the benchmark task.

Path Parameters

  • agentIdstring
    Required

    The agent ID

Responses

201

Benchmark task created successfully with a unique identifier.

  • application/jsonobject
    Show application/json properties
    • benchmarkIdstring

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

403

The requestor does not have the required permissions for the gateway's space.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

404

The agent was not found.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

429

Too many requests.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

500

There was an error processing the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

501

All or part of the request has not yet been implemented.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

503

Service is unavailable.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean
POST /api/connectivity/direct-access-agents/{agentId}/benchmarks
// qlik-api has not implemented support for `POST /api/connectivity/direct-access-agents/{agentId}/benchmarks` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/connectivity/direct-access-agents/{agentId}/benchmarks',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
},
)
# qlik-cli has not implemented support for POST /api/connectivity/direct-access-agents/{agentId}/benchmarks yet.
curl "https://{tenant}.{region}.qlikcloud.com/api/connectivity/direct-access-agents/{agentId}/benchmarks" \
-X POST \
-H "Authorization: Bearer <access_token>"

Example Response

{
"benchmarkId": "string"
}

Get load performance metrics

Retrieves performance metrics for loads processed by the gateway, either for all loads or a filtered subset. Use these metrics to evaluate reload throughput, connector latency, and concurrent reload activity. The requestor must have the TenantAdmin role and be either the gateway's space owner or a member of the gateway's space with the Can Consume Data role. Load performance recording is disabled by default and is controlled by the BENCHMARK_LOAD_PERFORMANCE_METRICS_RECORDING_ENABLED configuration property. Available in Direct Access Gateway V1.7.17+.

Facts

Rate limit Tier 1 (1000 requests per minute)

Query Parameters

  • filterstring

    SCIM style filter string as defined in RFC 7644 section 3.4.2.2

  • limitinteger

    The page size

  • pageinteger

    The page number

  • sortstring

    The field to sort by with +/- prefix indicating sort order

    Can be one of: "-benchmarkStartTime""+benchmarkStartTime""benchmarkStartTime""-benchmarkEndTime""+benchmarkEndTime""benchmarkEndTime""-dataTransmissionStartTime""+dataTransmissionStartTime""dataTransmissionStartTime""-dataTransmissionEndTime""+dataTransmissionEndTime""dataTransmissionEndTime"

Path Parameters

  • agentIdstring
    Required

    The agent ID

Responses

200

Load performance metrics retrieved successfully.

  • application/jsonobject

    Contains a paginated collection of load performance metrics for an agent.

    Show application/json properties
    • dataarray of objects

      Represents performance data captured for a load processed by the gateway.

      Show data properties
      • namestring

        The name of the load performance metric, typically in the format "reload-YYYY-MM-DDTHH:mm:ssK"

      • appIdstring

        The app id associated with the reload

      • statusstring

        The status of the load, e.g. "Completed", "Failed", "Cancelled"

      • metricIdstring

        A unique identifier generated for this metric

      • reloadIdstring

        The reload id that this load is a part of

      • statementstring

        The load script statement for the load

      • throughputinteger

        The data throughput in KB/s measured during data transmission

      • connectorUrlstring

        The url of the connector

      • dataSourceIdstring

        The data source id

      • dataSourceNamestring

        The data source name

      • sessionAppLoadboolean

        A flag indicating whether this load is part of a session app load or not.

      • connectorLatencyinteger

        The connector latency in ms measured during data transmission

      • concurrentReloadsinteger

        Number of concurrent benchmarks/reloads observed when this load was started

      • benchmarkingReloadboolean

        A flag indicating whether this load is part of a benchmarking reload or not.

      • totalBytesTransferredinteger

        The total bytes transferred during the load

      • dataTransmissionEndTimestring

        The ISO 8601 formatted timestamp when data transmission completed

      • dataTransmissionStartTimestring

        The ISO 8601 formatted timestamp when data transmission started

      • approximateMaxConnectorThroughputinteger

        Approximation of the maximum connector throughput in KB/s, excluding downstream write time

    • pageinteger
    • limitinteger
    • linksobject
      Show links properties
      • nextobject
        Show next properties
        • hrefstring

          The URL to the related resource

      • prevobject
        Show prev properties
        • hrefstring

          The URL to the related resource

      • selfobject
        Show self properties
        • hrefstring

          The URL to the related resource

    • totalCountinteger
    • totalPagesinteger

400

Bad Request

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

403

The requestor does not have the required permissions for the gateway's space.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

404

The gateway was not found.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

429

Too many requests.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

500

There was an error processing the request.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean

503

Service is unavailable.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
      Show errors properties
      • codestring
      • titlestring
      • detailstring
    • traceIdstring
    • hasErrorsboolean
GET /api/connectivity/direct-access-agents/{agentId}/load-performance-metrics
// qlik-api has not implemented support for `GET /api/connectivity/direct-access-agents/{agentId}/load-performance-metrics` yet.
// In the meantime, you can use fetch like this:
const response = await fetch(
'/api/connectivity/direct-access-agents/{agentId}/load-performance-metrics',
{
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
},
)
# qlik-cli has not implemented support for GET /api/connectivity/direct-access-agents/{agentId}/load-performance-metrics yet.
curl "https://{tenant}.{region}.qlikcloud.com/api/connectivity/direct-access-agents/{agentId}/load-performance-metrics" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"data": [
{
"name": "string",
"appId": "string",
"status": "string",
"metricId": "string",
"reloadId": "string",
"statement": "string",
"throughput": 42,
"connectorUrl": "string",
"dataSourceId": "string",
"dataSourceName": "string",
"sessionAppLoad": true,
"connectorLatency": 42,
"concurrentReloads": 42,
"benchmarkingReload": true,
"totalBytesTransferred": 42,
"dataTransmissionEndTime": "2026-03-11T21:54:33.595Z",
"dataTransmissionStartTime": "2026-03-11T21:54:19.352Z",
"approximateMaxConnectorThroughput": 42
}
],
"page": 42,
"limit": 42,
"links": {
"next": {
"href": "string"
},
"prev": {
"href": "string"
},
"self": {
"href": "string"
}
},
"totalCount": 42,
"totalPages": 42
}