Download Contact Sales
User Guide

Making HTTP API Requests

Endpoints, authentication, filtering and pagination for the HTTP API.

Base address and authentication

The HTTP API lives under the following base path on your MyConnection Server:

https://yourserver.example.com/myspeed/api/v1/

Every request authenticates with an API key supplied in a standard bearer header:

Authorization: Bearer mcs_<keyId>_<secret>

Requests must use HTTPS (unless that requirement has been relaxed in the API settings), and must present a browser-style User-Agent that is permitted by the server's security settings.

Endpoints

EndpointPurpose
GET /api/v1/ping An authentication check. It confirms a key is valid and returns the owning user, and does not require the Publish Manager license. Use it to verify connectivity and credentials.
GET /api/v1/data Returns test result data as JSON in a { meta, data } envelope. This is the main endpoint, and it requires the Publish Manager license.

Request parameters

The data endpoint accepts the same selection parameters as the tabular database report:

ParameterDescription
pluginsThe test types to return, for example voip, speed or route. Required.
last / lastunitsA relative time window, for example the last 7 days.
from / toAn explicit date range, used instead of a relative window.
advAdvanced filters, using the same bracket syntax as the report (see below).
detaildataInclude per-test detail data as well as the summary records.
bySummarise the results by a time bucket rather than returning individual tests.
offset / limitPagination controls (see below).

Filtering

Result filtering, including filtering by IP address, is expressed through the adv parameter using the report's bracket syntax. For example, to return results for a single source address across all plugins:

adv=[gbl:ip=1.2.3.4]

Filters can be scoped to a plugin instead of all plugins, wildcards are supported, and string fields offer exact, contains and not-equal operators. There is no separate top-level ip parameter; IP filtering always rides the adv parameter.

Pagination

A single response returns at most the server's configured maximum page size. Use offset and limit to page through larger result sets. The meta section of each response reports the paging state:

meta fieldMeaning
countTotal records matching the query.
returnedRecords included in this response.
offset / limitThe paging position and size used.
truncatedtrue when more records remain beyond this page.

To retrieve everything, keep increasing offset by limit while truncated is true. Narrowing the time window is the most effective way to reduce the size of a large pull.

Example request

A minimal request for the last day of VoIP results from a single source IP:

curl -H "Authorization: Bearer mcs_ab12cd34ef56_..." \
     -H "User-Agent: Mozilla/5.0" \
     "https://yourserver.example.com/myspeed/api/v1/data?plugins=voip&last=1&lastunits=days&adv=[gbl:ip=1.2.3.4]"

The bracket characters in adv may need URL encoding depending on your client.