✨ New: Try our AI‑powered Search (Ctrl + K) — Read more

Working with the Agents control API

Prev Next

Provider Connectivity Assurance API for Sensor Agent Control

IMPORTANT: When querying and changing configuration through the orchestration API, it is highly recommended to use a dedicated service account for this task and not an individual user account. Sensor Agents use JWT tokens for authentication, and these tokens will expire if the user account is deleted.

Overview

The control and orchestration of Sensor Agents is part of the Provider Connectivity Assurance cloud platform in this first release. This means that all control of agents are done using the same API credentials as for other Provider Connectivity Assurance services.
In a later release, it will be possible to deploy these orchestration services also on-prem for local access to the control API and metrics data streams.

image.png


API Documentation

All API functions are documented in the AgentServiceV3 section of the
Provider Connectivity Assurance API, see API Documentation for more information.


API Structure and Objects

Each agent, once created and defined in the orchestration API, will be represented with a unique agent object in the system, referred to by its agentId.

Any agent-specific parameters for communication, localization, identification, etc. reside in this configuration block. The agent configuration typically doesn't change but is static for the full lifecycle of the agent once configured.

Each agent also has a status object that can be read through the API. On the status node, the agent reports current version, state, etc. that can be used to check for reachability of the agent.

The API syntax for retreiving these two blocks of information for an agent can be seen below.

Retreive agent status:

GET
https://my.tenant.io/api/orchestrate/v3/agents/<agentId>

Retreive agent configuration:

GET
https://my.tenant.io/api/orchestrate/v3/agents/configuration/<agentId>

Before an agent is deployed, an agent configuration needs to be created on the agent orchestrator. This is also a prerequisite for accessing the SSL secret required for authentication and encryption of the agent communication flows. See Agent Installation Guidelines for information on how to create the initial agent configuration object, retreive the secret through the API, and how to deploy and register your agent.


Typical API Workflow for Agent Control

All agents, sessions and tests are identified with a unique UUID string; this allows for seamless control of an agent, regardless through which Sensor Collector service it is connected, and allows for Provider Connectivity Assurance to keep track of the agent's reported metrics even if the agent name should change.

For each agent, there are typically two parts of configuration that can be defined:

  • Agent configuration - these parameters relate to the agent itself, such as metadata for address, region or geocoordinates.
  • Test or measurement configuration - these parameters define the characteristics of the test that the agent should perform.

Typical workflow for creating a new test or session

  • Look up agentID that should be responsible for the test

Use GET for inventory at /api/orchestrate/v3/agents

  • Create a session or test configuration

Example new session object for TWAMP:

{
  "data": {
    "type": "agentSessions",
    "attributes": {
      "agentId": "{{agentId}}",
      "session": {
        "sessionId": "{{sessionId}}",
        "sessionName": "my TWAMP session example 😀",
        "sessionType": "twamp-stateful",
        "enable": true,
        "period": "continuous",
        "twamp": {
            "senderPayloadSize": 82,
            "senderRate": 10,
            "reflectorAddr": "10.122.1.254",
            "reflectorPort": 50862,
            "reportInterval": 10
        }
      }
    }
  }
}

  • POST new configuration to API

Send the session configuration to
POST to /api/orchestrate/v3/agents/session

  • Optionally start the test if not automatically done

See details for each agent type on these pages:


© 2026 Cisco and/or its affiliates. All rights reserved.

For more information about trademarks, please visit:
Cisco trademarks 
For more information about legal terms, please visit:
Cisco legal terms