Skip to content

Quadified APIs

Use this page as a compact endpoint reference for the Quadified API. For runnable examples with copy buttons, open cURL Commands.

API credentials are unique per customer and environment. If you need a clientId and clientSecret, contact support@quadified.com with your customer/project name, target environment, requester email, and intended API usage.

Authentication

Every request needs a bearer token. Exchange your API client's clientId and clientSecret for a token, then send it in the Authorization header:

Authorization: Bearer <accessToken>

The token is valid for expiresIn seconds (one hour). When it expires, requests return 401; request a new token.

Get an access token

/api/v2/connect/token 📋 Copied! ▼

Role: No token needed.

clientId and clientSecret are required. scope is optional; leave it out unless Quadified gave you one.

Request body *

{
"clientId": "string",
"clientSecret": "string",
"scope": "string"
}

Responses

Code Description
201

The access token.

Media type: application/json

Example Value:

{
"accessToken": "eyJraWQiOi...",
"tokenType": "Bearer",
"expiresIn": 3600
}
400

The request was refused, for example because of an unknown scope or a missing field.

401

The client credentials are wrong.

500

The token service could not be reached. Try again later.

Errors

Errors are returned as RFC 7807 problem details with the media type application/problem+json. The response body of an error is never the object the endpoint returns on success.

{
"type": "support@quadified.com/problem-with-message",
"title": "Not Found",
"status": 404,
"detail": "Test Suite not found",
"path": "/api/v2/testsuites/123",
"message": "error.http.404"
}

A request body that fails validation returns 400 with the fields that are wrong:

{
"type": "support@quadified.com/constraint-violation",
"title": "Method argument not valid",
"status": 400,
"path": "/api/v2/testsuites",
"message": "error.validation",
"fieldErrors": [
    {
        "objectName": "testSuiteCreate",
        "field": "name",
        "message": "Size"
    }
]
}
Code Meaning
400 The request is invalid: a required field is missing, a value is out of range, or a value is not allowed.
401 No token, or the token has expired. Request a new token.
403 Your role does not allow this endpoint (see Roles).
404 The item does not exist.
409 The request conflicts with the current state, for example a duplicate name or an item that is in use or running.
429 Too many requests. When the response has a Retry-After header, wait that many seconds before retrying.
500 An unexpected server error.
503 A service the endpoint depends on is not available on this environment.

Roles

Every user and API client has one of three roles. Each role includes the ones below it:

  • Guest: read access.
  • Standard: Guest, plus creating, running and changing test assets.
  • Admin: Standard, plus managing users, tokens and test nodes, and changing or deleting items that other users created.

A token from POST /api/v2/connect/token acts with the role of your API client, which is Standard. Items created through the API belong to the API client. "Admin, or the user who created it" means that a Standard user or API client can change or delete only the items it created itself.

A call without the required role returns 403. Endpoints marked (preview) exist only where their feature is enabled for your environment; elsewhere they return 404.

Endpoint Method Role
/api/v2/agentconfig GET Standard
/api/v2/requirements GET Guest
/api/v2/requirements POST Standard
/api/v2/requirements DELETE Standard
/api/v2/requirements/{id} GET Guest
/api/v2/requirements/{id} PUT Standard
/api/v2/requirements/{id} DELETE Standard
/api/v2/requirements/{id}/done POST Standard
/api/v2/requirements/{id}/feedback GET Guest
/api/v2/requirements/{id}/reopen POST Standard
/api/v2/requirements/{id}/suggestions GET Guest
/api/v2/requirements/{id}/suggestions POST Standard
/api/v2/requirements/{id}/suggestions DELETE Standard
/api/v2/requirements/{id}/suggestions/{suggestionId} DELETE Standard
/api/v2/requirements/{id}/suggestions/{suggestionId}/approve POST Standard
/api/v2/requirements/{id}/suggestions/{suggestionId}/discard POST Standard
/api/v2/apiclients GET Guest
/api/v2/apiclients POST Standard
/api/v2/apiclients/{id} GET Guest
/api/v2/apiclients/{id} PUT Admin, or the user who created it
/api/v2/apiclients/{id} DELETE Admin, or the user who created it
/api/v2/at-command-suggestions (preview) POST Standard
/api/v2/at-command-suggestions/{id} (preview) GET Standard
/api/v2/changelogs GET Guest
/api/v2/deletelogs GET Guest
/api/v2/deviceJobs GET Standard
/api/v2/deviceJobs POST Standard
/api/v2/deviceJobs/{id} GET Standard
/api/v2/devicemodels GET Guest
/api/v2/functionparams GET Guest
/api/v2/connect/token POST No token
/api/v2/mcp/connectors (preview) GET Standard
/api/v2/mcp/connectors (preview) POST Standard
/api/v2/mcp/connectors/{id} (preview) DELETE Standard
/api/v2/mcp/connectors/{id}/rotate (preview) POST Standard
/api/v2/mobiledevices GET Guest
/api/v2/mobiledevices POST Standard
/api/v2/mobiledevices/uptime GET Guest
/api/v2/mobiledevices/{id} GET Guest
/api/v2/mobiledevices/{id} PUT Admin, or the user who created it
/api/v2/mobiledevices/{id} DELETE Admin, or the user who created it
/api/v2/mobiledevices/{id}/action POST Standard
/api/v2/mobiledevices/{id}/status GET Standard
/api/v2/mobiledevices/{id}/testcases GET Guest
/api/v2/mobiledevices/{id}/uptime GET Guest
/api/v2/projects GET Guest
/api/v2/projects POST Standard
/api/v2/projects/assignments POST Standard
/api/v2/projects/listAssignments POST Guest
/api/v2/projects/{id} GET Guest
/api/v2/projects/{id} PUT Admin, or the user who created it
/api/v2/projects/{id} DELETE Admin, or the user who created it
/api/v2/tags GET Guest
/api/v2/testcases GET Guest
/api/v2/testcases POST Standard
/api/v2/testcases/bulk-status PUT Admin
/api/v2/testcases/export POST Standard
/api/v2/testcases/import POST Standard
/api/v2/testcases/validate POST Standard
/api/v2/testcases/{id} GET Guest
/api/v2/testcases/{id} PUT Admin, or the user who created it
/api/v2/testcases/{id} DELETE Admin, or the user who created it
/api/v2/testcases/{id}/result/latest GET Guest
/api/v2/testcases/{id}/results GET Guest
/api/v2/testcases/{id}/run POST Standard
/api/v2/testcases/{id}/testsuites GET Guest
/api/v2/testexecutions GET Guest
/api/v2/testexecutions/{id} GET Guest
/api/v2/testexecutions/{id} DELETE Admin, or the user who created it
/api/v2/testexecutions/{id}/analysis GET Guest
/api/v2/testexecutions/{id}/analysis DELETE Admin
/api/v2/testexecutions/{id}/analyze POST Standard
/api/v2/testexecutions/{id}/rerun POST Standard
/api/v2/testnodes GET Guest
/api/v2/testnodes POST Admin
/api/v2/testnodes/info GET Guest
/api/v2/testnodes/uptime GET Guest
/api/v2/testnodes/{id} GET Guest
/api/v2/testnodes/{id} PUT Admin, or the user who created it
/api/v2/testnodes/{id} DELETE Admin
/api/v2/testnodes/{id}/action POST Admin
/api/v2/testnodes/{id}/mobiledevices GET Guest
/api/v2/testnodes/{id}/status GET Guest
/api/v2/testnodes/{id}/uptime GET Guest
/api/v2/testsuites GET Guest
/api/v2/testsuites POST Standard
/api/v2/testsuites/upcoming GET Guest
/api/v2/testsuites/{id} GET Guest
/api/v2/testsuites/{id} PUT Admin, or the user who created it
/api/v2/testsuites/{id} DELETE Admin, or the user who created it
/api/v2/testsuites/{id}/cancel POST Admin, or the user who created it
/api/v2/testsuites/{id}/execute POST Standard
/api/v2/tokens GET Admin
/api/v2/tokens POST Admin
/api/v2/tokens/validate POST No token
/api/v2/tokens/{id} DELETE Admin
/api/v2/tracefilters GET Guest
/api/v2/tracefilters POST Standard
/api/v2/tracefilters/{id} GET Guest
/api/v2/tracefilters/{id} PUT Admin, or the user who created it
/api/v2/tracefilters/{id} DELETE Admin, or the user who created it
/api/v2/tracefilters/{id}/testcases GET Guest
/api/v2/users GET Admin
/api/v2/users POST Admin
/api/v2/users/me GET Guest
/api/v2/users/{id} GET Admin
/api/v2/users/{id} PUT Admin
/api/v2/users/{id}/delete POST Admin

Paging

List endpoints that take page and size return a page object. The items are in content; totalElements, totalPages, number (the current page) and size describe the paging.

  • page: zero-based page number (integer, default 0).
  • size: page size (integer, default 20).
  • sort: optional, <field>,asc or <field>,desc.