Rudder API (11)

Download OpenAPI specification:Download

Rudder developers: dev@rudder.io URL: https://www.rudder.io License: CC-BY-SA 2.0

Introduction

Rudder exposes a REST API, enabling the user to interact with Rudder without using the webapp, for example in scripts or cronjobs.

Versioning

Each time the API is extended with new features (new functions, new parameters, new responses, ...), it will be assigned a new version number. This will allow you to keep your existing scripts (based on previous behavior). Versions will always be integers (no 2.1 or 3.3, just 2, 3, 4, ...) or latest.

You can change the version of the API used by setting it either within the url or in a header:

  • the URL: each URL is prefixed by its version id, like /api/version/function.
# Version 10
curl -X GET -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/10/rules
# Latest
curl -X GET -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/rules
# Wrong (not an integer) => 404 not found
curl -X GET -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/3.14/rules
  • the HTTP headers. You can add the X-API-Version header to your request. The value needs to be an integer or latest.
# Version 10
curl -X GET -H "X-API-Token: yourToken" -H "X-API-Version: 10" https://rudder.example.com/rudder/api/rules
# Wrong => Error response indicating which versions are available
curl -X GET -H "X-API-Token: yourToken" -H "X-API-Version: 3.14" https://rudder.example.com/rudder/api/rules

In the future, we may declare some versions as deprecated, in order to remove them in a later version of Rudder, but we will never remove any versions without warning, or without a safe period of time to allow migration from previous versions.

Existing versions

Version Rudder versions it appeared in Description
1 Never released (for internal use only) Experimental version
2 to 10 (deprecated) 4.3 and before These versions provided the core set of API features for rules, directives, nodes global parameters, change requests and compliance, rudder settings and system API
11 5.0 New system API (replacing old localhost v1 api): status, maintenance operations and server behavior
12 6.0 Node key management

Response format

All responses from the API are in the JSON format.

{
  "action": The name of the called function,
  "id": The ID of the element you want, if relevant,
  "result": The result of your action: success or error,
  "data": Only present if this is a success and depends on the function, it's usually a JSON object,
  "errorDetails": Only present if this is an error, it contains the error message
}
  • Success responses are sent with the 200 HTTP (Success) code

  • Error responses are sent with a HTTP error code (mostly 5xx...)

HTTP method

Rudder's REST API is based on the usage of HTTP methods. We use them to indicate what action will be done by the request. Currently, we use four of them:

  • GET: search or retrieve information (get rule details, get a group, ...)

  • PUT: add new objects (create a directive, clone a Rule, ...)

  • DELETE: remove objects (delete a node, delete a parameter, ...)

  • POST: update existing objects (update a directive, reload a group, ...)

Parameters

To use Rudder API, you may need to pass data attributes to the API. Most of them depends on the called function and will be described below, in the corresponding function's section. Some are common to almost all functions and are described here:

Passing parameters

Parameters to the API can be sent:

  • As part of the URL

  • As request arguments

  • Directly in JSON format

As part of the URL

Parameters in URLs are used to indicate which data you want to interact with. The function will not work if this data is missing.

# Get the Rule of ID "id"
curl -H "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/rules/id

Request parameters

In most cases, data will be sent using request parameters. for all data you want to change, you need to pass one parameter.

Parameters follow the following schema:

key=value

You can pass parameters by two means:

  • As query parameters: At the end of your url, put a ? then your first parameter and then a & before next parameters
# Update the Rule 'id' with a new name, disabled, and setting it one directive 
curl -X POST -H "X-API-Token: yourToken"  https://rudder.example.com/rudder/api/rules/latest/{id}?"displayName=my new name"&"enabled=false"&"directives=aDirectiveId"
  • As request data: You can pass those parameters in the request data, they won't figure in the URL, making it lighter to read, You can pass a file that contains data.
# Update the Rule 'id' with a new name, disabled, and setting it one directive (in file directive-info.json)
curl -X POST -H "X-API-Token: yourToken"
https://rudder.example.com/rudder/api/rules/latest/{id} -d "displayName=my new name" -d "enabled=false" -d @directive-info.json

Directly in JSON format

Instead of passing parameters one by one, you can instead supply a JSON object containing all you want to do. You'll also have to set the Content-Type header to application/json (without it the JSON content would be ignored).

The supplied file must contain a valid JSON: strings need quotes, booleans and integers don't, ...

The (human readable) format is:

{
  "key1": "value1",
  "key2": false,
  "key3": 42
}

Here is an example with inlined data:

# Update the Rule 'id' with a new name, disabled, and setting it one directive
curl -X POST -H "X-API-Token: yourToken" -H  "Content-Type: application/json"
  https://rudder.example.com/rudder/api/rules/latest/{id} 
  -d '{ "displayName": "new name", "enabled": false, "directives": "directiveId"}'

You can also pass a supply the JSON in a file:

# Update the Rule 'id' with a new name, disabled, and setting it one directive 
curl -X POST -H "X-API-Token: yourToken" -H "Content-Type: application/json" https://rudder.example.com/rudder/api/rules/latest/{id} -d @jsonParam

Note that some parameters cannot be passed in a JSON (general parameters, it will be precised when necessary), and you will need to pass them a URL parameters if you want them to be taken into account (you can't mix JSON and request parameters)

# Update the Rule 'id' with a new name, disabled, and setting it one directive with reason message "Reason used" 
curl -X POST -H "X-API-Token: yourToken" -H "Content-Type: application/json" "https://rudder.example.com/rudder/api/rules/latest/{id}?reason=Reason used" -d @jsonParam -d "reason=Reason ignored"

General parameters

Some parameters are available for almost all API functions. They will be described in this section. They must be part of the query and can't be submitted in a JSON form.

Available for all requests

Field Type Description
prettify boolean
optional
Determine if the answer should be prettified (human friendly) or not. We recommend using this for debugging purposes, but not for general script usage as this does add some unnecessary load on the server side.

Default value: false

Available for modification requests (PUT/POST/DELETE)

Field Type Description
reason string
optional or required
Set a message to explain the change. If you set the reason messages to be mandatory in the web interface, failing to supply this value will lead to an error.

Default value: ""

changeRequestName string
optional
Set the change request name, is used only if workflows are enabled. The default value depends on the function called

Default value: A default string for each function

changeRequestDescription string
optional
Set the change request description, is used only if workflows are enabled.

Default value: ""

Authentication

API tokens

Authenticating against the API is mandatory for every request, as sensitive information like inventories or configuration rules may get exposed. It is done using a dedicated API Account, than can be created in the web interface on the 'API Accounts' page located inside the Administration part.

API Tokens settings

API Accounts are not linked to standard user accounts, and currently give full administrative privileges: they must be secured adequately. Once you have created an API account, you get a token that will be needed to authenticate every request. This token is the API equivalent of a password, and must be secured just like a password would be.

On any call to the API, you will need to add a X-API-Token header to your request to authenticate:

curl --request GET --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/rules

If you perform any action (creation, update, deletion) using the API, the event log generated will record the API account as the user.

Security Scheme Type API Key
Header parameter name: X-API-Token

Compliance

Access compliance data

Global compliance

get/compliance

Rudder server

/rudder/api/latest/compliance

Get current global compliance of a Rudder server

Authorizations:

Responses

200

Success

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getGlobalCompliance"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/compliance?prettify=true'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getGlobalCompliance",
  • "data":
    {
    }
}

Compliance details for all nodes

get/compliance/nodes

Rudder server

/rudder/api/latest/compliance/nodes

Get current compliance of all the nodes of a Rudder server

Authorizations:
query Parameters
level
integer
Default: 10
Example: level=4

Number of depth level of compliance objects to display (1:rules, 2:directives, 3:components, 4:nodes, 5:values, 6:reports)

Responses

200

Success

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getNodesCompliance"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/compliance/nodes?level=2'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getNodesCompliance",
  • "data":
    {
    }
}

Compliance details by node

get/compliance/nodes/{nodeId}

Rudder server

/rudder/api/latest/compliance/nodes/{nodeId}

Get current compliance of a node of a Rudder server

Authorizations:
path Parameters
nodeId
required
string <uuid (or "root")>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target node

query Parameters
level
integer
Default: 10
Example: level=4

Number of depth level of compliance objects to display (1:rules, 2:directives, 3:components, 4:nodes, 5:values, 6:reports)

Responses

200

Success

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getNodeCompliance"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/compliance/nodes/root?level=1'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getNodeCompliance",
  • "data":
    {
    }
}

Compliance details for all rules

get/compliance/rules

Rudder server

/rudder/api/latest/compliance/rules

Get current compliance of all the rules of a Rudder server

Authorizations:
query Parameters
level
integer
Default: 10
Example: level=4

Number of depth level of compliance objects to display (1:rules, 2:directives, 3:components, 4:nodes, 5:values, 6:reports)

Responses

200

Success

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getRulesCompliance"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/compliance/rules?level=2'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getRulesCompliance",
  • "data":
    {
    }
}

Compliance details by rule

get/compliance/rules/{ruleId}

Rudder server

/rudder/api/latest/compliance/rules/{ruleId}

Get current compliance of a rule of a Rudder server

Authorizations:
path Parameters
ruleId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target rule

query Parameters
level
integer
Default: 10
Example: level=4

Number of depth level of compliance objects to display (1:rules, 2:directives, 3:components, 4:nodes, 5:values, 6:reports)

Responses

200

Success

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getRuleCompliance"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/compliance/rules?level=2'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getRuleCompliance",
  • "data":
    {
    }
}

Rules

Rules management

List all rules

get/rules

Rudder server

/rudder/api/latest/rules

List all rules

Authorizations:

Responses

200

Rules information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "listRules"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/rules'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "listRules",
  • "data":
    {
    }
}

Create a rule

put/rules

Rudder server

/rudder/api/latest/rules

Create a new rule. You can specify a source rule to clone it.

Authorizations:
Request Body schema: application/json
source
string <uuid>

The id of the rule the clone will be based onto. If this parameter if provided, the new rule will be a clone of this source. Other value will override values from the source.

id
string <uuid>

Rule id

displayName
string

Rule name

shortDescription
string

One line rule description

longDescription
string

Rule documentation

category
string <uuid>

The parent category id. If provided, the new rule will be in this parent category

directives
Array of strings

Directives linked to the rule

targets
Array of strings

Groups linked to the rule

enabled
boolean

Is the rule enabled

system
boolean

If true it is an internal Rudder rule

tags
Array of objects

Responses

200

Rules information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "createRule"

The id of the action

data
required
object

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "source": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
  • "id": "0c1713ae-cb9d-4f7b-abda-ca38c5d643ea",
  • "displayName": "Security policy",
  • "shortDescription": "Baseline applying CIS guidelines",
  • "longDescription": "This rules should be applied to all Linux nodes required basic hardening",
  • "category": "38e0c6ea-917f-47b8-82e0-e6a1d3dd62ca",
  • "directives":
    [
    ],
  • "targets":
    [
    ],
  • "enabled": true,
  • "system": false,
  • "tags":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "createRule",
  • "data":
    {
    }
}

Create a rule category

put/rules/categories

Rudder server

/rudder/api/latest/rules/categories

Create a new rule category

Authorizations:
Request Body schema: application/x-www-form-urlencoded
parent
required
string <uuid>

The parent category of the rules

id
string <uuid>
Default: "{autogenerated}"

Rule category id, only provide it when needed.

name
required
string

Name of the rule category

description
string

Rules category description

Responses

200

Rules category information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "CreateRuleCategory"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request PUT 'https://rudder.example.com/rudder/api/latest/rules/categories' --data "name=new category" -d "parent=4306143d-eabf-4478-b7b1-1616f4aa02b5" -d "description=A new category created via API"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "CreateRuleCategory",
  • "data":
    {
    }
}

Get rule category details

get/rules/categories/{ruleCategoryId}

Rudder server

/rudder/api/latest/rules/categories/{ruleCategoryId}

Get detailed information about a rule category

Authorizations:
path Parameters
ruleCategoryId
required
string <uuid>
Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90

Rule category id

Responses

200

Rules category information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "GetRuleCategoryDetails"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/rules/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5?prettify=true'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "GetRuleCategoryDetails",
  • "data":
    {
    }
}

Delete group category

delete/rules/categories/{ruleCategoryId}

Rudder server

/rudder/api/latest/rules/categories/{ruleCategoryId}

Delete a group category. It must have no child groups and no children categories.

Authorizations:
path Parameters
ruleCategoryId
required
string <uuid>
Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90

Rule category id

Responses

200

Groups category information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "DeleteRuleCategory"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request DELETE 'https://rudder.example.com/rudder/api/latest/rules/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5?prettify=true'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "DeleteRuleCategory",
  • "data":
    {
    }
}

Update rule category details

post/rules/categories/{ruleCategoryId}

Rudder server

/rudder/api/latest/rules/categories/{ruleCategoryId}

Update detailed information about a rule category

Authorizations:
path Parameters
ruleCategoryId
required
string <uuid>
Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90

Rule category id

Request Body schema: application/x-www-form-urlencoded
parent
required
string <uuid>

The parent category of the rules

name
required
string

Name of the rule category

description
string

Rules category description

Responses

200

Rules category information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "UpdateRuleCategory"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/rules/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5?prettify=true' --data "name=new category name"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "UpdateRuleCategory",
  • "data":
    {
    }
}

Get rules tree

get/rules/tree

Rudder server

/rudder/api/latest/rules/tree

Get all available rules and their categories in a tree

Authorizations:

Responses

200

Rules information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "GetRuleTree"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/rules/tree?prettify=true'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "GetRuleTree",
  • "data":
    {
    }
}

Get a rule details

get/rules/{ruleId}

Rudder server

/rudder/api/latest/rules/{ruleId}

Get the details of a rule

Authorizations:
path Parameters
ruleId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target rule

Responses

200

Rules information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "ruleDetails"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/rules/06ba8940-ed6c-4102-ba46-93d640a64c36'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "ruleDetails",
  • "data":
    {
    }
}

Update a rule details

post/rules/{ruleId}

Rudder server

/rudder/api/latest/rules/{ruleId}

Update the details of a rule

Authorizations:
path Parameters
ruleId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target rule

Request Body schema: application/x-www-form-urlencoded
id
string <uuid>

Rule id

displayName
string

Rule name

shortDescription
string

One line rule description

longDescription
string

Rule documentation

category
string <uuid>

The parent category id.

directives
Array of strings

Directives linked to the rule

targets
Array of strings

Groups linked to the rule

enabled
boolean

Is the rule enabled

system
boolean

If true it is an internal Rudder rule

tags
Array of objects

Responses

200

Rules information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "updateRule"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/rules/17dadf50-6056-4c8b-a935-6b97d14b89a7' --data "displayName=Name of rule"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "updateRule",
  • "data":
    {
    }
}

Delete a rule

delete/rules/{ruleId}

Rudder server

/rudder/api/latest/rules/{ruleId}

Delete a rule.

Authorizations:
path Parameters
ruleId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target rule

Responses

200

Rules information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "deleteRule"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request DELETE 'https://rudder.example.com/rudder/api/latest/rules/176ad06b-ed02-4da3-8053-16225d217741'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "deleteRule",
  • "data":
    {
    }
}

Directives

Directives management

List all directives

get/directives

Rudder server

/rudder/api/latest/directives

List all directives

Authorizations:

Responses

200

Directives information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "listDirectives"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/directives

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "listDirectives",
  • "data":
    {
    }
}

Create a directive

put/directives

Rudder server

/rudder/api/latest/directives

Create a new directive from provided parameters. You can specify a source directive to clone it.

Authorizations:
Request Body schema: application/json
source
string <uuid>

The id of the directive the clone will be based onto. If this parameter if provided, the new directive will be a clone of this source. Other value will override values from the source.

id
string <uuid>

Directive id

displayName
string

Human readable name of the directive

shortDescription
string

One line directive description

longDescription
string <markdown>

Description of the technique (rendered as markdown)

techniqueName
string

Directive id

techniqueVersion
string

Directive id

priority
integer [ 0 .. 10 ]

Directive priority. 0 has highest priority.

enabled
boolean

Is the directive enabled

system
boolean

If true it is an internal Rudder directive

tags
Array of objects
parameters
object

Directive parameters (depends on the source technique)

Responses

200

Directives information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "createDirective"

The id of the action

data
required
object

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "source": "b9f6d98a-28bc-4d80-90f7-d2f14269e215",
  • "id": "91252ea2-feb2-412d-8599-c6945fee02c4",
  • "displayName": "91252ea2-feb2-412d-8599-c6945fee02c4",
  • "shortDescription": "91252ea2-feb2-412d-8599-c6945fee02c4",
  • "longDescription": "# Documentation\n* [Ticket link](https://tickets.example.com/issues/3456)",
  • "techniqueName": "userManagement",
  • "techniqueVersion": "8.0",
  • "priority": 5,
  • "enabled": true,
  • "system": false,
  • "tags":
    [
    ],
  • "parameters":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "createDirective",
  • "data":
    {
    }
}

Get directive details

get/directives/{directiveId}

Rudder server

/rudder/api/latest/directives/{directiveId}

Get all information about a given directive

Authorizations:
path Parameters
directiveId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the directive

Responses

200

Directives information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "directiveDetails"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/directives/17dadf50-6056-4c8b-a935-6b97d14b89a7

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "directiveDetails",
  • "data":
    {
    }
}

Delete a directive

delete/directives/{directiveId}

Rudder server

/rudder/api/latest/directives/{directiveId}

Delete a directive

Authorizations:
path Parameters
directiveId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the directive

Responses

200

Directives information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "deleteDirective"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/directives/17dadf50-6056-4c8b-a935-6b97d14b89a7

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "deleteDirective",
  • "data":
    {
    }
}

Update a directive details

post/directives/{directiveId}

Rudder server

/rudder/api/latest/directives/{directiveId}

Update directive information

Authorizations:
path Parameters
directiveId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the directive

Request Body schema: application/x-www-form-urlencoded
id
string <uuid>

Directive id

displayName
string

Human readable name of the directive

shortDescription
string

One line directive description

longDescription
string <markdown>

Description of the technique (rendered as markdown)

techniqueName
string

Directive id

techniqueVersion
string

Directive id

priority
integer [ 0 .. 10 ]

Directive priority. 0 has highest priority.

enabled
boolean

Is the directive enabled

system
boolean

If true it is an internal Rudder directive

tags
Array of objects
parameters
object

Directive parameters (depends on the source technique)

Responses

200

Directives information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "updateDirective"

The id of the action

data
required
object

Request samples

Copy
directive.json:
{
  "longDescription": "Add a loooooooooooong description",
  "parameters": {
    "section": {
      "name": "sections",
      "sections": [
        {
          "section": {
            "name": "Variable definition",
            "vars": [
              {
                "var": {
                  "name": "GENERIC_VARIABLE_CONTENT",
                  "value": "Change Variable Content"
                }
              },
              {
                "var": {
                  "name": "GENERIC_VARIABLE_NAME",
                  "value": "new_variable"
                }
              }
            ]
          }
        }
      ]
    }
  },
  "priority": 5
}

curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/directives/cf2a6c72-18ae-4f82-a12c-0b887792db41 --header "Content-type: application/json" --data @directive.json

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "updateDirective",
  • "data":
    {
    }
}

Check that update on a directive is valid

post/directives/{directiveId}/check

Rudder server

/rudder/api/latest/directives/{directiveId}/check

Check that update on a directive is valid

Authorizations:
path Parameters
directiveId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the directive

Request Body schema: application/x-www-form-urlencoded
id
string <uuid>

Directive id

displayName
string

Human readable name of the directive

shortDescription
string

One line directive description

longDescription
string <markdown>

Description of the technique (rendered as markdown)

techniqueName
string

Directive id

techniqueVersion
string

Directive id

priority
integer [ 0 .. 10 ]

Directive priority. 0 has highest priority.

enabled
boolean

Is the directive enabled

system
boolean

If true it is an internal Rudder directive

tags
Array of objects
parameters
object

Directive parameters (depends on the source technique)

Responses

200

Directives information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "checkDirective"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/directives/17dadf50-6056-4c8b-a935-6b97d14b89a7/check  --data "displayName=Name of new directive"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "checkDirective",
  • "data":
    {
    }
}

Techniques

Techniques management

List all techniques

get/techniques

Rudder server

/rudder/api/latest/techniques

List all technique with their versions

Authorizations:

Responses

200

Techniques information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "listTechniques"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/techniques

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "listTechniques",
  • "data":
    {
    }
}

List all directives based on a technique

get/techniques/{techniqueName}/directives

Rudder server

/rudder/api/latest/techniques/{techniqueName}/directives

List all directives based on all version of a technique

Authorizations:
path Parameters
techniqueName
required
string
Example: userManagement

Technique name

Responses

200

Techniques information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "listTechniquesDirectives"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/techniques/checkGenericFileContent/directives

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "listTechniquesDirectives",
  • "data":
    {
    }
}

List all directives based on a version of a technique

get/techniques/{techniqueName}/{techniqueVersion}/directives

Rudder server

/rudder/api/latest/techniques/{techniqueName}/{techniqueVersion}/directives

List all directives based on a version of a technique

Authorizations:
path Parameters
techniqueName
required
string
Example: userManagement

Technique name

techniqueVersion
required
string
Example: 6.0

Technique version

Responses

200

Techniques information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "listTechniqueDirectives"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/techniques/checkGenericFileContent/6.0/directives

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "listTechniqueDirectives",
  • "data":
    {
    }
}

Groups

Groups management

List all groups

get/groups

Rudder server

/rudder/api/latest/groups

List all groups

Authorizations:

Responses

200

Groups information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "listGroups"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "listGroups",
  • "data":
    {
    }
}

Create a group

put/groups

Rudder server

/rudder/api/latest/groups

Create a new group based in provided parameters

Authorizations:
Request Body schema: application/json
id
string <uuid>
Default: "{autogenerated}"

Group id

displayName
string

Name of the group

description
string

Group description

query
object

The criteria defining the group

nodeIds
Array of strings <uuid (or "root")>

List of nodes in the group

dynamic
boolean
Default: true

Should the group be dynamically refreshed (if not, it is a static group)

enabled
boolean
Default: true

Enable or disable the group

groupClass
Array of strings <condition>

Responses

200

Group information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "createGroup"

The id of the action

data
required
object

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "32d013f7-b6d8-46c8-99d3-016307fa66c0",
  • "displayName": "Ubuntu 18.04 nodes",
  • "description": "Documentation for the group",
  • "query":
    {
    },
  • "nodeIds":
    [
    ],
  • "dynamic": true,
  • "enabled": true,
  • "groupClass":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "createGroup",
  • "data":
    {
    }
}

Create a group category

put/groups/categories

Rudder server

/rudder/api/latest/groups/categories

Create a new group category

Authorizations:
Request Body schema: application/x-www-form-urlencoded
parent
required
string <uuid>

The parent category of the groups

id
string <uuid>
Default: "{autogenerated}"

Group category id, only provide it when needed.

name
required
string

Name of the group category

description
string

Group category description

Responses

200

Groups category information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "CreateGroupCategory"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request PUT 'https://rudder.example.com/rudder/api/latest/groups/categories' --data "name=new category name" -d "parent=4306143d-eabf-4478-b7b1-1616f4aa02b5" -d "description=A new category created via API'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "CreateGroupCategory",
  • "data":
    {
    }
}

Get group category details

get/groups/categories/{groupCategoryId}

Rudder server

/rudder/api/latest/groups/categories/{groupCategoryId}

Get detailed information about a group category

Authorizations:
path Parameters
groupCategoryId
required
string <uuid>
Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90

Group category id

Responses

200

Groups category information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "GetGroupCategoryDetails"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/groups/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "GetGroupCategoryDetails",
  • "data":
    {
    }
}

Delete group category

delete/groups/categories/{groupCategoryId}

Rudder server

/rudder/api/latest/groups/categories/{groupCategoryId}

Delete a group category. It must have no child groups and no children categories.

Authorizations:
path Parameters
groupCategoryId
required
string <uuid>
Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90

Group category id

Responses

200

Groups category information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "DeleteGroupCategory"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request DELETE 'https://rudder.example.com/rudder/api/latest/groups/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "DeleteGroupCategory",
  • "data":
    {
    }
}

Update group category details

post/groups/categories/{groupCategoryId}

Rudder server

/rudder/api/latest/groups/categories/{groupCategoryId}

Update detailed information about a group category

Authorizations:
path Parameters
groupCategoryId
required
string <uuid>
Example: e0a311fa-f7b2-4f9e-89a9-db517b9c6b90

Group category id

Request Body schema: application/x-www-form-urlencoded
parent
required
string <uuid>

The parent category of the groups

name
required
string

Name of the group category

description
string

Group category description

Responses

200

Groups category information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "UpdateGroupCategory"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/groups/categories/4306143d-eabf-4478-b7b1-1616f4aa02b5' --data "name=new category name"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "UpdateGroupCategory",
  • "data":
    {
    }
}

Get groups tree

get/groups/tree

Rudder server

/rudder/api/latest/groups/tree

Get all available groups and their categories in a tree

Authorizations:

Responses

200

Groups information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "GetGroupTree"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/groups/tree

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "GetGroupTree",
  • "data":
    {
    }
}

Get group details

get/groups/{groupId}

Rudder server

/rudder/api/latest/groups/{groupId}

Get detailed information about a group

Authorizations:
path Parameters
groupId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the group

Responses

200

Groups information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "groupDetails"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/groups/17dadf50-6056-4c8b-a935-6b97d14b89a7'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "groupDetails",
  • "data":
    {
    }
}

Update group details

post/groups/{groupId}

Rudder server

/rudder/api/latest/groups/{groupId}

Update detailed information about a group

Authorizations:
path Parameters
groupId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the group

Request Body schema: application/x-www-form-urlencoded
category
string <uuid>

Id of the new group's category

displayName
string

Name of the group

description
string

Group description

query
object

The criteria defining the group. If not provided, the group will be empty.

dynamic
boolean
Default: true

Should the group be dynamically refreshed (if not, it is a static group)

enabled
boolean
Default: true

Enable or disable the group

Responses

200

Groups information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "updateGroup"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/groups/17dadf50-6056-4c8b-a935-6b97d14b89a7' --data "displayName=New name of group"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "updateGroup",
  • "data":
    {
    }
}

Delete a group

delete/groups/{groupId}

Rudder server

/rudder/api/latest/groups/{groupId}

Update detailed information about a group

Authorizations:
path Parameters
groupId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the group

Responses

200

Groups information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "deleteGroup"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request DELETE 'https://rudder.example.com/rudder/api/latest/groups/17dadf50-6056-4c8b-a935-6b97d14b89a7'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "deleteGroup",
  • "data":
    {
    }
}

Reload a group

post/groups/{groupId}/reload

Rudder server

/rudder/api/latest/groups/{groupId}/reload

Recompute the content of a group

Authorizations:
path Parameters
groupId
required
string <uuid>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the group

Responses

200

Groups information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "reloadGroup"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/groups/17dadf50-6056-4c8b-a935-6b97d14b89a7/reload'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "reloadGroup",
  • "data":
    {
    }
}

Nodes

Nodes management

List managed nodes

get/nodes

Rudder server

/rudder/api/latest/nodes

Get information about the nodes managed by the target server

Authorizations:
query Parameters
include
string <comma-separated list>
Default: "default"
Example: include=minimal

Level of information to include from the node inventory. Some base levels are defined (minimal, default, full). You can add fields you want to a base level by adding them to the list, possible values are keys from json answer. If you don't provide a base level, they will be added to default level, so if you only want os details, use minimal,os as the value for this parameter.

  • minimal includes: id, hostname and status
  • default includes minimal plus architectureDescription, description, ipAddresses, lastRunDate, lastInventoryDate, machine, os, managementTechnology, policyServerId, properties, policyMode, ram and timezone
  • full includes: default plus accounts, bios, controllers, environmentVariables, fileSystems, managementTechnologyDetails, memories, networkInterfaces, ports, processes, processors, slots, software, sound, storage, videos and virtualMachines
query
object

The criterion you want to find for your nodes. Replaces the where, composition and select parameters in a single parameter.

where
Array of objects

The criterion you want to find for your nodes

composition
string
Default: "and"
Enum: "and" "or"
Example: composition=and

Boolean operator to use between each where criteria.

select
string
Default: "node"

What kind of data we want to include. Here we can get policy servers/relay by setting nodeAndPolicyServer. Only used if where is defined.

Responses

200

Nodes

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "listAcceptedNodes"

The id of the action

data
required
object

Information about the nodes

Request samples

Copy
curl --header "X-API-Token: yourToken" 'https://rudder.example.com/rudder/api/latest/nodes?where=\[\{"objectType":"node","attribute":"OS","comparator":"eq","value":"Linux"\},\{"objectType":"node","attribute":"nodeHostname","comparator":"regex","value":"node1.*"\}\]'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "listAcceptedNodes",
  • "data":
    {
    }
}

Trigger a agent runs

post/nodes/applyPolicy

Rudder server

/rudder/api/latest/nodes/applyPolicy

This API allows to trigger an agent run on the target node. Response contains a json stating if agent could be started on each node, but not if the run went fine and do not display any output from it. You can see the result of the run in Rudder web interface or in the each agent logs.

Authorizations:

Responses

200

Result

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "applyPolicyAllNodes"

The id of the action

data
required
Array of objects

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST --header "Content-Type: application/json" https://rudder.example.com/rudder/api/latest/nodes/applyPolicy

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "applyPolicyAllNodes",
  • "data":
    [
    ]
}

Update pending Node status

post/nodes/pending/{nodeId}

Rudder server

/rudder/api/latest/nodes/pending/{nodeId}

Accept or refuse a pending node

Authorizations:
path Parameters
nodeId
required
string <uuid (or "root")>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target node

Request Body schema: application/x-www-form-urlencoded
status
string
Enum: "accepted" "refused"

New status of the pending node

Responses

200

Nodes

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "changePendingNodeStatus"

The id of the action

data
required
object

Information about the node

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/nodes/pending/17dadf50-6056-4c8b-a935-6b97d14b89a7 --data "status=accepted"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "changePendingNodeStatus",
  • "data":
    {
    }
}

Get information about a node

get/nodes/{nodeId}

Rudder server

/rudder/api/latest/nodes/{nodeId}

Get details about a given node

Authorizations:
path Parameters
nodeId
required
string <uuid (or "root")>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target node

query Parameters
include
string <comma-separated list>
Default: "default"
Example: include=minimal

Level of information to include from the node inventory. Some base levels are defined (minimal, default, full). You can add fields you want to a base level by adding them to the list, possible values are keys from json answer. If you don't provide a base level, they will be added to default level, so if you only want os details, use minimal,os as the value for this parameter.

  • minimal includes: id, hostname and status
  • default includes minimal plus architectureDescription, description, ipAddresses, lastRunDate, lastInventoryDate, machine, os, managementTechnology, policyServerId, properties, policyMode, ram and timezone
  • full includes: default plus accounts, bios, controllers, environmentVariables, fileSystems, managementTechnologyDetails, memories, networkInterfaces, ports, processes, processors, slots, software, sound, storage, videos and virtualMachines

Responses

200

Nodes

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "nodeDetails"

The id of the action

data
required
object

Information about the node

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/nodes/17dadf50-6056-4c8b-a935-6b97d14b89a7\?include=full

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "nodeDetails",
  • "data":
    {
    }
}

Update node settings and properties

post/nodes/{nodeId}

Rudder server

/rudder/api/latest/nodes/{nodeId}

Update node settings and properties

Authorizations:
path Parameters
nodeId
required
string <uuid (or "root")>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target node

Request Body schema: application/json
properties
Array of objects
policyMode
string
Enum: "audit" "enforce" "default"

In which mode the node will apply its configuration policy. Use default to use the global mode.

state
string
Enum: "enabled" "ignored" "empty-policies" "initializing" "preparing-eol"

The node life cycle state. See dedicated doc for more information.

Responses

200

Nodes

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "updateNode"

The id of the action

data
required
object

Information about the node

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "properties":
    [
    ],
  • "policyMode": "audit",
  • "state": "enabled"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "updateNode",
  • "data":
    {
    }
}

Delete a node

delete/nodes/{nodeId}

Rudder server

/rudder/api/latest/nodes/{nodeId}

Remove a node from the Rudder server. It won't be managed anymore.

Authorizations:
path Parameters
nodeId
required
string <uuid (or "root")>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target node

Responses

200

Nodes

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "deleteNode"

The id of the action

data
required
object

Information about the node

Request samples

Copy
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/nodes/17dadf50-6056-4c8b-a935-6b97d14b89a7

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "deleteNode",
  • "data":
    {
    }
}

Trigger an agent run

post/nodes/{nodeId}/applyPolicy

Rudder server

/rudder/api/latest/nodes/{nodeId}/applyPolicy

This API allows to trigger an agent run on the target node. Response is a stream of the actual agent run on the node.

Authorizations:
path Parameters
nodeId
required
string <uuid (or "root")>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target node

Responses

200

Agent output

Response Schema: text/plain
string

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/nodes/17dadf50-6056-4c8b-a935-6b97d14b89a7\?include=full

Inventories

Inventory processing service

Get information about inventory processing queue

get/inventories/info

Rudder server

/rudder/api/latest/inventories/info

Provide information about the current state of the inventory processor

Authorizations:

Responses

200

Inventories information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "queueInformation"

The id of the action

data
required
object

Information about the service

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "queueInformation",
  • "data":
    {
    }
}

Upload an inventory for processing

post/inventories/upload

Rudder server

/rudder/api/latest/inventories/upload

Upload an inventory to the web application

Authorizations:
Request Body schema: multipart/form-data
file
string <binary>
signature
string <binary>

Responses

200

Inventory uploaded

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "uploadInventory"

The id of the action

data
required
string

Request samples

Copy
curl --request POST --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/inventories/upload -F "file=@inventory-file" -F "signature=@signature-file"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "uploadInventory",
  • "data": "Inventory 'file.xml' for Node 'c1bab9fc-bcf6-4d59-a397-84c8e2fc06c0' added to processing queue."
}

Restart inventory watcher

post/inventories/watcher/restart

Rudder server

/rudder/api/latest/inventories/watcher/restart

Restart the inventory watcher if necessary

Authorizations:

Responses

200

Started

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "fileWatcherRestart"

The id of the action

data
required
string

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/inventories/watcher/restart'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "fileWatcherRestart",
  • "data": "Incoming inventory watcher restarted"
}

Start inventory watcher

post/inventories/watcher/start

Rudder server

/rudder/api/latest/inventories/watcher/start

Start the inventory watcher if necessary

Authorizations:

Responses

200

Started

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "fileWatcherStart"

The id of the action

data
required
string

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/inventories/watcher/start'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "fileWatcherStart",
  • "data": "Incoming inventory watcher started"
}

Stop inventory watcher

post/inventories/watcher/stop

Rudder server

/rudder/api/latest/inventories/watcher/stop

Stop the inventory watcher if necessary

Authorizations:

Responses

200

Stopped

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "fileWatcherStop"

The id of the action

data
required
string

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/inventories/watcher/stop'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "fileWatcherStop",
  • "data": "Incoming inventory watcher stopped"
}

Parameters

Global parameters

List all global parameters

get/parameters

Rudder server

/rudder/api/latest/parameters

Get the current value of all the global parameters

Authorizations:

Responses

200

Settings

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "listParameters"

The id of the action

data
required
object

Parameters

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/parameters

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "listParameters",
  • "data":
    {
    }
}

Create a new parameter

put/parameters

Rudder server

/rudder/api/latest/parameters

Create a new global parameter

Authorizations:
Request Body schema: application/x-www-form-urlencoded
id
required
string

Name of the parameter

value
string

Value of the parameter

description
string

Description of the parameter

overridable
boolean

Is the global parameter overridable by node

Responses

200

Settings

Response Schema: application/json
id
required
string

Id of the parameter

result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "createParameter"

The id of the action

data
required
object

Parameters

Request samples

Copy
curl --header "X-API-Token: yourToken" --header "Content-Type: application/json" --request PUT https://rudder.example.com/rudder/api/latest/parameters --data @JSON-file-name

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "rudder_file_edit_footer",
  • "result": "success",
  • "action": "createParameter",
  • "data":
    {
    }
}

Get the value of a parameter

get/parameters/{parameterId}

Rudder server

/rudder/api/latest/parameters/{parameterId}

Get the current value of a given parameter

Authorizations:
path Parameters
parameterId
required
string
Example: rudder_file_edit_header

Id of the parameter to manage

Responses

200

Settings

Response Schema: application/json
id
required
string

Id of the parameter

result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "parameterDetails"

The id of the action

data
required
object

Parameters

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/parameters/ParameterId

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "rudder_file_edit_footer",
  • "result": "success",
  • "action": "parameterDetails",
  • "data":
    {
    }
}

Update a parameter's value

post/parameters/{parameterId}

Rudder server

/rudder/api/latest/parameters/{parameterId}

Update the properties of a parameter

Authorizations:
path Parameters
parameterId
required
string
Example: rudder_file_edit_header

Id of the parameter to manage

Responses

200

Settings

Response Schema: application/json
id
required
string

Id of the parameter

result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "updateParameter"

The id of the action

data
required
object

Parameters

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/parameters/ParameterId --data "value=### Edited by Rudder ###"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "rudder_file_edit_footer",
  • "result": "success",
  • "action": "updateParameter",
  • "data":
    {
    }
}

Delete a parameter

delete/parameters/{parameterId}

Rudder server

/rudder/api/latest/parameters/{parameterId}

Delete an existing parameter

Authorizations:
path Parameters
parameterId
required
string
Example: rudder_file_edit_header

Id of the parameter to manage

Responses

200

Settings

Response Schema: application/json
id
required
string

Id of the parameter

result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "deleteParameter"

The id of the action

data
required
object

Parameters

500

Non existing parameter

Request samples

Copy
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/parameters/ParameterId

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "rudder_file_edit_footer",
  • "result": "success",
  • "action": "deleteParameter",
  • "data":
    {
    }
}

Settings

Server configuration

List all settings

get/settings

Rudder server

/rudder/api/latest/settings

Get the current value of all the settings

Authorizations:

Responses

200

Settings

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getAllSettings"

The id of the action

data
required
object

Information about the setting

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/settings

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getAllSettings",
  • "data":
    {
    }
}

Get the value of a setting

get/settings/{settingId}

Rudder server

/rudder/api/latest/settings/{settingId}

Get the current value of a specific setting

Authorizations:
path Parameters
settingId
required
string
Example: global_policy_mode

Id of the setting to set

Responses

200

Settings

Response Schema: application/json
id
required
string

Id of the setting

result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getSetting"

The id of the action

data
required
object

Information about the setting

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/settings/run_frequency

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "global_policy_mode",
  • "result": "success",
  • "action": "getSetting",
  • "data":
    {
    }
}

Set the value of a setting

post/settings/{settingId}

Rudder server

/rudder/api/latest/settings/{settingId}

Set the current value of a specific setting

Authorizations:
path Parameters
settingId
required
string
Example: global_policy_mode

Id of the setting to set

Request Body schema: application/x-www-form-urlencoded
value
string

New value of the setting

Responses

200

Settings

Response Schema: application/json
id
required
string

Id of the setting

result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "modifySetting"

The id of the action

data
required
object

Information about the setting

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/settings/global_policy_mode_overridable --data "value=true"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "global_policy_mode",
  • "result": "success",
  • "action": "modifySetting",
  • "data":
    {
    }
}

System

Internal components and administration

Trigger a new policy generation

post/regenerate/policies

Rudder server

/rudder/api/latest/regenerate/policies

Trigger a full policy generation

Authorizations:

Responses

200

Success

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "regeneratePolicies"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/regenerate/policies'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "regeneratePolicies",
  • "data":
    {
    }
}

Reload dynamic groups

post/reload/groups

Rudder server

/rudder/api/latest/reload/groups

Reload dynamic groups

Authorizations:

Responses

200

Service reload

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "reloadGroups"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/reload/groups'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "reloadGroups",
  • "data":
    {
    }
}

Reload techniques

post/reload/techniques

Rudder server

/rudder/api/latest/reload/techniques

Reload techniques from local technique library

Authorizations:

Responses

200

Service reload

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "reloadTechniques"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/reload/techniques'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "reloadTechniques",
  • "data":
    {
    }
}

List archives

get/system/archives/{archiveKind}

Rudder server

/rudder/api/latest/system/archives/{archiveKind}

List configuration archives

Authorizations:
path Parameters
archiveKind
required
string
Enum: "full" "groups" "rules" "directives"
Example: full

Type of archive to make

Responses

200

Success

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Enum: "archiveFull" "archiveGroups" "archiveRules" "archiveDirectives"

The kind of the archive

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/system/archives/full

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "archiveFull",
  • "data":
    {
    }
}

Create an archive

post/system/archives/{archiveKind}

Rudder server

/rudder/api/latest/system/archives/{archiveKind}

Create new archive of the given kind

Authorizations:
path Parameters
archiveKind
required
string
Enum: "full" "groups" "rules" "directives"
Example: full

Type of archive to make

Responses

200

Success

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Enum: "archiveFull" "archiveGroups" "archiveRules" "archiveDirectives"

The kind of the archive

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/system/archives/full

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "archiveFull",
  • "data":
    {
    }
}

Get server information

get/system/info

Rudder server

/rudder/api/latest/system/info

Get information about the server version

Authorizations:

Responses

200

Service information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getSystemInfo"

The id of the action

data
required
object

Information about the service

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/system/info

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getSystemInfo",
  • "data":
    {
    }
}

Reload both techniques and dynamic groups

post/system/reload

Rudder server

/rudder/api/latest/system/reload

Reload both techniques and dynamic groups

Authorizations:

Responses

200

Service reload

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "reloadAll"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/reload'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "reloadAll",
  • "data":
    {
    }
}

Get server status

get/system/status

Rudder server

/rudder/api/latest/system/status

Get information about current server status

Authorizations:

Responses

200

Service status

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getStatus"

The id of the action

data
required
object

Status of the service

Request samples

Copy
curl --header "X-API-Token: yourToken" https://rudder.example.com/rudder/api/latest/system/status

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getStatus",
  • "data":
    {
    }
}

Trigger update of policies

post/system/update/policies

Rudder server

/rudder/api/latest/system/update/policies

Update configuration policies if needed

Authorizations:

Responses

200

Success

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "updatePolicies"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST 'https://rudder.example.com/rudder/api/latest/system/update/policies'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "updatePolicies",
  • "data":
    {
    }
}

🧩 Change requests

Requires that the changes-validation plugin is installed on the server.

Manage change requests.

List all change requests

get/api/changeRequests

Rudder server

/rudder/api/latest/api/changeRequests

List all change requests

Authorizations:

Responses

200

Change requests information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "listChangeRequests"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/changeRequests --data "status=open"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "listChangeRequests",
  • "data":
    {
    }
}

Get a change request details

get/changeRequests/{changeRequestId}

Rudder server

/rudder/api/latest/changeRequests/{changeRequestId}

Get a change request details

Authorizations:
path Parameters
changeRequestId
required
integer
Example: 37

Change request id

Responses

200

Change requests information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "changeRequestDetails"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/changeRequests --data "status=open"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "changeRequestDetails",
  • "data":
    {
    }
}

Decline a request details

delete/changeRequests/{changeRequestId}

Rudder server

/rudder/api/latest/changeRequests/{changeRequestId}

Refuse a change request

Authorizations:
path Parameters
changeRequestId
required
integer
Example: 37

Change request id

Responses

200

Change requests information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "declineChangeRequest"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/changeRequests/43

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "declineChangeRequest",
  • "data":
    {
    }
}

Update a request details

post/changeRequests/{changeRequestId}

Rudder server

/rudder/api/latest/changeRequests/{changeRequestId}

Update a change request

Authorizations:
path Parameters
changeRequestId
required
integer
Example: 37

Change request id

Request Body schema: application/x-www-form-urlencoded
name
string

Change request name

description
string

Change request description

Responses

200

Change requests information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "updateChangeRequest"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/changeRequests/42  --data "name=new Name of change request" -d "description=add a new description"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "updateChangeRequest",
  • "data":
    {
    }
}

Accept a request details

post/changeRequests/{changeRequestId}/accept

Rudder server

/rudder/api/latest/changeRequests/{changeRequestId}/accept

Accept a change request

Authorizations:
path Parameters
changeRequestId
required
integer
Example: 37

Change request id

Request Body schema: application/x-www-form-urlencoded
status
string
Enum: "pending deployment" "deployed"

New status of the change request

Responses

200

Change requests information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "acceptChangeRequest"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/changeRequests --data "status=open"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "acceptChangeRequest",
  • "data":
    {
    }
}

🧩 Data sources

Requires that the datasources plugin is installed on the server.

Data sources plugin configuration.

List all data sources

get/datasources

Rudder server

/rudder/api/latest/datasources

Get the configuration of all present data sources

Authorizations:

Responses

200

Data sources information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getAllDataSources"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET 'https://rudder.example.com/rudder/api/latest/datasources'

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getAllDataSources",
  • "data":
    {
    }
}

Create a data source

put/datasources

Rudder server

/rudder/api/latest/datasources

Create a new data source

Authorizations:
Request Body schema: application/json
id
string

Unique identifier of the data source to create.

name
string

The human readable name of the data source to create.

description
string

Description of the goal of the data source to create.

enabled
boolean

Enable or disable data source.

updateTimeout
integer

Duration in seconds before aborting data source update. The main goal is to prevent never ending requests. If a periodicity if configured, you should set that timeout at a lower value.

runParameters
object

Parameters to configure when the data source is fetched to update node properties.

type
object

Define and configure data source type.

Responses

200

Created

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "createDataSource"

The id of the action

data
required
object

Information about the data sources

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "test-data-source",
  • "name": "Test data source",
  • "description": "Synchronize example data from the CMDB",
  • "enabled": true,
  • "updateTimeout": 30,
  • "runParameters":
    {
    },
  • "type":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "createDataSource",
  • "data":
    {
    }
}

Update properties from data sources

post/datasources/reload

Rudder server

/rudder/api/latest/datasources/reload

Update properties from all data source on all nodes. The call is asynchronous.

Authorizations:

Responses

200

Data source reloaded

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "ReloadAllDatasourcesAllNodes"

The id of the action

data
required
string

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/datasources/reload

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "ReloadAllDatasourcesAllNodes",
  • "data": "Data for all nodes, for all configured data sources are going to be updated"
}

Update properties from data sources

post/datasources/reload/{datasourceId}

Rudder server

/rudder/api/latest/datasources/reload/{datasourceId}

Update properties from all data source on all nodes. The call is asynchronous.

Authorizations:
path Parameters
datasourceId
required
string
Example: test-data-source

Id of the data source

Responses

200

Data source reloaded

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "ReloadOneDatasourceAllNodes"

The id of the action

data
required
string

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/datasources/reload/datasourceId

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "ReloadOneDatasourceAllNodes",
  • "data": "Data for all nodes, for the 'test-data-source' data source are going to be updated"
}

Get data source configuration

get/datasources/{datasourceId}

Rudder server

/rudder/api/latest/datasources/{datasourceId}

Get the configuration of a data source

Authorizations:
path Parameters
datasourceId
required
string
Example: test-data-source

Id of the data source

Responses

200

Data source information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "getDataSource"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request GET https://rudder.example.com/rudder/api/latest/datasources/my-data-source

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "getDataSource",
  • "data":
    {
    }
}

Update a data source configuration

post/datasources/{datasourceId}

Rudder server

/rudder/api/latest/datasources/{datasourceId}

Update the configuration of a data source

Authorizations:
path Parameters
datasourceId
required
string
Example: test-data-source

Id of the data source

Request Body schema: application/json
id
string

Unique identifier of the data source to create.

name
string

The human readable name of the data source to create.

description
string

Description of the goal of the data source to create.

enabled
boolean

Enable or disable data source.

updateTimeout
integer

Duration in seconds before aborting data source update. The main goal is to prevent never ending requests. If a periodicity if configured, you should set that timeout at a lower value.

runParameters
object

Parameters to configure when the data source is fetched to update node properties.

type
object

Define and configure data source type.

Responses

200

Data source information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "updateDataSource"

The id of the action

data
required
object

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "test-data-source",
  • "name": "Test data source",
  • "description": "Synchronize example data from the CMDB",
  • "enabled": true,
  • "updateTimeout": 30,
  • "runParameters":
    {
    },
  • "type":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "updateDataSource",
  • "data":
    {
    }
}

Delete a data source

delete/datasources/{datasourceId}

Rudder server

/rudder/api/latest/datasources/{datasourceId}

Delete a data source configuration

Authorizations:
path Parameters
datasourceId
required
string
Example: test-data-source

Id of the data source

Responses

200

Data source information

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "deleteDataSource"

The id of the action

data
required
object

Request samples

Copy
curl --header "X-API-Token: yourToken" --request DELETE https://rudder.example.com/rudder/api/latest/datasources/my-data-source

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "deleteDataSource",
  • "data":
    {
    }
}

Update properties for one node from all data sources

post/nodes/{nodeId}/fetchData

Rudder server

/rudder/api/latest/nodes/{nodeId}/fetchData

Update properties from all data sources on one nodes. The call is asynchronous.

Authorizations:
path Parameters
nodeId
required
string <uuid (or "root")>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target node

Responses

200

Data sources reloaded

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "ReloadAllDatasourcesOneNode"

The id of the action

data
required
string

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/nodes/17dadf50-6056-4c8b-a935-6b97d14b89a7/fetchData

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "ReloadAllDatasourcesOneNode",
  • "data": "Data for node '4e3336f9-ace8-44d6-8d07-496ff1631b01', for all configured data sources, is going to be updated"
}

Update properties for one node from a data source

post/nodes/{nodeId}/fetchData/{datasourceId}

Rudder server

/rudder/api/latest/nodes/{nodeId}/fetchData/{datasourceId}

Update properties from a data source on one nodes. The call is asynchronous.

Authorizations:
path Parameters
nodeId
required
string <uuid (or "root")>
Example: 9a1773c9-0889-40b6-be89-f6504443ac1b

Id of the target node

datasourceId
required
string
Example: test-data-source

Id of the data source

Responses

200

Data sources reloaded

Response Schema: application/json
result
required
string
Enum: "success" "error"

Result of the request

action
required
string
Value: "ReloadOneDatasourceOneNode"

The id of the action

data
required
string

Request samples

Copy
curl --header "X-API-Token: yourToken" --request POST https://rudder.example.com/rudder/api/latest/nodes/nodeId/fetchData/datasourceId

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success",
  • "action": "ReloadOneDatasourceOneNode",
  • "data": "Data for node '4e3336f9-ace8-44d6-8d07-496ff1631b01', for ' test-data-source' data source, is going to be updated"
}