Request & Response Format

The perform Endpoint

POST https://saner.secpod.com/AncorWebService/perform?accountid=<account_name>
  • perform is a POST request.
  • Request data is passed as a JSON body.
  • The accountid query parameter scopes the request to a specific account (required for Device, Group, Organization, Configuration, Remediation, and Reports operations).
  • The method key inside the JSON body determines which operation to execute.

Request Format

Headers

HeaderValue
Content-Typeapplication/json
Authorization<Your API Key>

Getting your API key: Contact the SecPod Support team at [email protected].

Request Body Structure

{
  "request": {
    "method": "<method_name>",
    "parameters": {
      "parameterset": [
        {
          "parameter": [
            { "key": "<param_key>", "value": "<param_value>" }
          ]
        }
      ]
    }
  }
}

The parameters.parameterset array allows you to batch multiple records in a single request (e.g., adding multiple users in one call).


Example — Add Users

{
  "request": {
    "method": "adduser",
    "parameters": {
      "parameterset": [
        {
          "parameter": [
            { "key": "id",           "value": "[email protected]" },
            { "key": "password",     "value": "XXXXXXX" },
            { "key": "name",         "value": "User One" },
            { "key": "organization", "value": "Acme Corp" },
            { "key": "email",        "value": "[email protected]" },
            { "key": "role",         "value": "ADMIN" }
          ]
        },
        {
          "parameter": [
            { "key": "id",           "value": "[email protected]" },
            { "key": "password",     "value": "XXXXXXX" },
            { "key": "name",         "value": "User Two" },
            { "key": "organization", "value": "Acme Corp" },
            { "key": "email",        "value": "[email protected]" },
            { "key": "role",         "value": "NORMAL" }
          ]
        }
      ]
    }
  }
}

Response Format

Responses are returned as JSON by default. For get* methods, the response payload varies per method. For all write/action operations, a common response structure is used.

Success Response

{
  "response": {
    "method": "adduser",
    "results": {
      "result": [
        { "key": "user1", "status": "SUCCESS", "reason": "" },
	{ "key": "user2", "status": "SUCCESS", "reason": "" }
      ]
    }
  }
}

Failure Response

{
  "response": {
    "method": "adduser",
    "results": {
      "result": [
        { "key": "user2", "status": "SUCCESS", "reason": "" },
	{ "key": "user2", "status": "FAIL", "reason": "Failed due to duplicate name" }
      ]
    }
  }
}

Each entry in results.result corresponds to one record in the request's parameterset array.


ZIP Response Format

Some APIs return a compressed ZIP file instead of JSON. The ZIP contains:

FileDescription
response.jsonThe actual API response payload
response.sigSignature file for integrity verification

APIs returning ZIP responses

MethodDescription
downloadAdAgentDownload the AD agent installer
downloadAgentDownload the Saner agent installer
getAgentActivationConfGet agent activation configuration
getDevicePdfReportGet a device-level PDF report
getPdfReportGet an account-level PDF report