This page will guide you through the usage of our API and help you get started quickly.
You will learn how to integrate and use the AGILITY API to analyze network traces with ease.
Please ensure that you have the necessary credentials and permissions to access this API.
Overview
The AGILITY API is designed for system integrators and developers. Its primary function is to enable advanced analysis on network traces, specializing in root cause analysis for call flows within these traces. The API supports file formats such as .PCAP, .PCAPNG, .CAP, and .ZIP.
API base url
The base URL for accessing the API is: https://cv-dev.b-yond.com/cv/api/public/docs
Authentication
To interact with the AGILITY API, you must first authenticate to get an id_token
.
Here's how to do that using the OAuth2 Password Flow:
Requesting the Token
Endpoint: POST /cv/auth/realms/agility/protocol/openid-connect/token
You need to provide your username
, password
, and the client_id
(which is public and provided as d0d8b0d806f9
) in your request.
Headers:
Content-Type:
application/x-www-form-urlencoded
Body:
grant_type
:password
client_id
:d0d8b0d806f9
username
: Your registered username.password
: Your password.scope
:openid
Example cURL request:
curl -X POST https://cv-dev.b-yond.com/cv/auth/realms/agility/protocol/openid-connect/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=password&client_id=d0d8b0d806f9&username=YOUR_USERNAME&password=YOUR_PASSWORD&scope=openid"
Replace YOUR_USERNAME
and YOUR_PASSWORD
with your actual credentials.
Upon successful authentication, you'll receive a JSON response containing the id_token
among other tokens:
{ "access_token": "ACCESS_TOKEN_VALUE", "expires_in": 300, "refresh_expires_in": 1800, "refresh_token": "REFRESH_TOKEN_VALUE", "id_token": "YOUR_ID_TOKEN", ... }
Use the value of YOUR_ID_TOKEN
in your subsequent API requests as a Bearer Token to authenticate your actions.
Note: Always keep your id_token
, access_token
, and refresh_token
secure. Do not expose them in client-side scripts or other insecure locations.
Endpoints
1. Retrieving Supported Services
Endpoint: GET /cv/api/v1/services/
Use this endpoint to fetch a list of supported services.
Parameters:
page
: Specify the page number. (Default: 1)size
: Specify the number of results per page. (Default: 50; Maximum: 100)
Example Request:
curl -X 'GET' \ 'https://cv-dev.b-yond.com/cv/api/v1/services/?page=1&size=50' \ -H 'accept: application/json' \ -H 'Authorization: Bearer YOUR_ID_TOKEN'
2. Starting a New Analysis
Endpoint: POST /cv/api/v1/analysis/file
This endpoint allows you to initiate an analysis using a supported network trace file.
Request Body:
uploadFile
: Upload your network trace file here.serviceKeys
: (Optional) List of service keys for the analysis. If you're unsure, leave this empty for service auto-discovery.
Example Request:
curl -X 'POST' \ 'https://cv-dev.b-yond.com/cv/api/v1/analysis/file' \ -H 'accept: application/json' \ -H 'Authorization: Bearer YOUR_ID_TOKEN' \ -H 'Content-Type: multipart/form-data' \ -F 'uploadFile=@myfile.pcap' \ -F 'serviceKeys=volte'
3. Fetching Analysis Result
Endpoint: GET /cv/api/v1/analysis/{analysis_id}/summary
After initiating an analysis, use this endpoint to retrieve the results.
Parameters:
analysis_id
: The ID of the analysis (received from the previous step).page
: (Optional) Specify the page number. (Default: 1)size
: (Optional) Specify the number of results per page. (Default: 50; Maximum: 1000)
Example Request:
curl -X 'GET' \ 'https://cv-dev.b-yond.com/cv/api/v1/analysis/8599e936-19ee-4b13-a9ad-44fecadad9fe/summary?page=1&size=50' \ -H 'accept: application/json' \ -H 'Authorization: Bearer YOUR_ID_TOKEN'