Authentication

There are two modes of authentication:

  • By token: after identification with your login credentials
  • By cookie: by reusing a valid session ID

Credential

List the credentials parameters

Returns all credentials parameters.

The available parameters to search / sort_by are:

  • id
  • name
Authorizations:
TokenCookie
query Parameters
limit
integer (RequestParameters.limit) >= 1
Example: limit=20

Max items per pages

page
integer (RequestParameters.page) >= 1
Example: page=1

Number of the page requested

sort_by
object (RequestParameters.sortBy)
Example: sort_by={"id":"ASC"}

Used to sort the request

search
object (RequestParameters.search)
Example: search={"name":"localhost"}

Used to search with specifics parameters

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "meta": {
    }
}

Get credential parameters

Authorizations:
TokenCookie
path Parameters
credential_id
required
integer <int64>

Id of credential parameters

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type_id": 0,
  • "name": "string",
  • "parameters": [
    ]
}

Delete credential parameters

Authorizations:
TokenCookie
path Parameters
credential_id
required
integer <int64>

Id of the credential parameters to be deleted

Responses

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Update credential parameters

Authorizations:
TokenCookie
path Parameters
credential_id
required
integer <int64>

Id of the credential parameters

Request Body schema: application/json
required

Credential parameters

name
string

Name of the credential

Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "parameters": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

List the credentials parameters according to the provider type

Returns all credentials parameters according to the provider type.

The available parameters to search / sort_by are:

  • id
  • name
Authorizations:
TokenCookie
path Parameters
type_id
required
integer <int64>

Type's id of the provider linked to the credential parameters

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "meta": {
    }
}

Add a credential parameters according to a provider

Authorizations:
TokenCookie
path Parameters
type_id
required
integer <int64>

Type id of the provider linked to the credential parameters

Request Body schema: application/json
required

Credential parameters

name
string

Name of the credential

Array of objects (CredentialParameter.add)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "parameters": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

List the credentials templates for a provider

Authorizations:
TokenCookie
path Parameters
type_id
required
integer <int64>

Type's id of the provider to which the credentials templates are linked

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Job

List all discovery jobs

Returns all discovery jobs

The available parameters to search / sort_by are:

  • id
  • creation_date
  • status
  • duration
  • last_execution
  • discovered_items
  • alias
  • provider
Authorizations:
TokenCookie
query Parameters
limit
integer (RequestParameters.limit) >= 1
Example: limit=20

Max items per pages

page
integer (RequestParameters.page) >= 1
Example: page=1

Number of the page requested

sort_by
object (RequestParameters.sortBy)
Example: sort_by={"id":"ASC"}

Used to sort the request

search
object (RequestParameters.search)
Example: search={"name":"localhost"}

Used to search with specifics parameters

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "meta": {
    }
}

Add discovery job

Authorizations:
TokenCookie
Request Body schema: application/json
required

Discovery job parameters

alias
required
string [ 1 .. 100 ] characters

Alias of the discovery job

credential_id
required
integer or null

Credential id

provider_id
required
integer

Provider id

monitoring_server_id
required
integer

Id of monitoring server

execution_mode
required
integer
Enum: 0 1 2

Execution mode:

  • 0 - IMMEDIATE_EXECUTION
  • 1 - SCHEDULED_EXECUTION
  • 2 - PAUSED_SCHEDULE
analysis_mode
required
integer
Enum: 0 1

Analysis mode:

  • 0 - MANUAL_ANALYSIS
  • 1 - AUTOMATIC_ANALYSIS
save_mode
integer [ 0 .. 63 ]

save_mode:

  • 1 - ADD_HOST
  • 2 - DISABLE_HOST
  • 4 - ENABLE_HOST
  • 8 - ENABLE_EXPORT_RELOAD
  • 16- UPDATE_HOST
  • 32- DO_NOT_APPLY_DEFAULT_TEMPLATE

This property is only mandatory when the analysis_mode is equal to 1 (AUTOMATIC_ANALYSIS).

To select more than one option, you have to add up their values.

Example: If I select the options ADD_HOST and ENABLE_HOST => save_mode=5 (1+4)

object (DiscoveryJob.scheduling)

Allows you to define the scheduling of the task.

Either the cron expression is directly defined or you just have to complete the properties minutes, hours, days, months and weekdays.

required
object (Proxy)
required
Array of objects (Mapper)
required
Array of objects (JobParameter.short)

Responses

Request samples

Content type
application/json
{
  • "alias": "string",
  • "credential_id": 0,
  • "provider_id": 0,
  • "monitoring_server_id": 0,
  • "execution_mode": 0,
  • "analysis_mode": 0,
  • "save_mode": 63,
  • "scheduling": {
    },
  • "proxy": {
    },
  • "mappers": [
    ],
  • "job_parameters": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Get discovery job

Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Id of discovery job

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "alias": "string",
  • "credential": {
    },
  • "provider": {
    },
  • "monitoring_server": {
    },
  • "creation_date": "string",
  • "last_execution": "string",
  • "status": 0,
  • "execution_mode": 0,
  • "analysis_mode": 0,
  • "save_mode": 63,
  • "scheduling": {
    },
  • "duration": 0,
  • "number_of_hosts_discovered": 0,
  • "message": "string",
  • "proxy": {
    },
  • "job_parameters": [
    ],
  • "mappers_to_apply": [
    ]
}

Delete discovery job

Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Id of discovery job to be deleted

Responses

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Update discovery jobs

Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Id of discovery job to be updated

Request Body schema: application/json
required

Discovery job parameters

alias
required
string [ 1 .. 100 ] characters

Alias of the discovery job

credential_id
required
integer or null

Credential id

provider_id
required
integer

Provider id

monitoring_server_id
required
integer

Id of monitoring server

execution_mode
required
integer
Enum: 0 1 2

Execution mode:

  • 0 - IMMEDIATE_EXECUTION
  • 1 - SCHEDULED_EXECUTION
  • 2 - PAUSED_SCHEDULE
analysis_mode
required
integer
Enum: 0 1

Analysis mode:

  • 0 - MANUAL_ANALYSIS
  • 1 - AUTOMATIC_ANALYSIS
save_mode
integer [ 0 .. 63 ]

save_mode:

  • 1 - ADD_HOST
  • 2 - DISABLE_HOST
  • 4 - ENABLE_HOST
  • 8 - ENABLE_EXPORT_RELOAD
  • 16- UPDATE_HOST
  • 32- DO_NOT_APPLY_DEFAULT_TEMPLATE

This property is only mandatory when the analysis_mode is equal to 1 (AUTOMATIC_ANALYSIS).

To select more than one option, you have to add up their values.

Example: If I select the options ADD_HOST and ENABLE_HOST => save_mode=5 (1+4)

object (DiscoveryJob.scheduling)

Allows you to define the scheduling of the task.

Either the cron expression is directly defined or you just have to complete the properties minutes, hours, days, months and weekdays.

required
object (Proxy)
required
Array of objects (Mapper)
required
Array of objects (JobParameter.short)

Responses

Request samples

Content type
application/json
{
  • "alias": "string",
  • "credential_id": 0,
  • "provider_id": 0,
  • "monitoring_server_id": 0,
  • "execution_mode": 0,
  • "analysis_mode": 0,
  • "save_mode": 63,
  • "scheduling": {
    },
  • "proxy": {
    },
  • "mappers": [
    ],
  • "job_parameters": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Partial update of a discovery job

Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Id of discovery job to be updated

Request Body schema: application/json
required

Discovery job parameters

alias
string [ 1 .. 100 ] characters

Alias of the discovery job

credential_id
integer or null

Credential id

provider_id
integer

Provider id

monitoring_server_id
integer

Id of monitoring server

execution_mode
integer
Enum: 0 1 2

Execution mode:

  • 0 - IMMEDIATE_EXECUTION
  • 1 - SCHEDULED_EXECUTION
  • 2 - PAUSED_SCHEDULE
analysis_mode
integer
Enum: 0 1

Analysis mode:

  • 0 - MANUAL_ANALYSIS
  • 1 - AUTOMATIC_ANALYSIS
save_mode
integer [ 0 .. 63 ]

save_mode:

  • 1 - ADD_HOST
  • 2 - DISABLE_HOST
  • 4 - ENABLE_HOST
  • 8 - ENABLE_EXPORT_RELOAD
  • 16- UPDATE_HOST
  • 32- DO_NOT_APPLY_DEFAULT_TEMPLATE

This property is only mandatory when the analysis_mode is equal to 1 (AUTOMATIC_ANALYSIS).

To select more than one option, you have to add up their values.

Example: If I select the options ADD_HOST and ENABLE_HOST => save_mode=5 (1+4)

object (DiscoveryJob.scheduling)

Allows you to define the scheduling of the task.

Either the cron expression is directly defined or you just have to complete the properties minutes, hours, days, months and weekdays.

object (Proxy)
Array of objects (Mapper)
Array of objects (JobParameter.short)

Responses

Request samples

Content type
application/json
{
  • "alias": "string",
  • "credential_id": 0,
  • "provider_id": 0,
  • "monitoring_server_id": 0,
  • "execution_mode": 0,
  • "analysis_mode": 0,
  • "save_mode": 63,
  • "scheduling": {
    },
  • "proxy": {
    },
  • "mappers": [
    ],
  • "job_parameters": [
    ]
}

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Retrieve the raw results of the discovered host

Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Id of discovery job

discovered_host_id
required
integer <int64>

Id of the discovery host for which we want to retrieve the raw results of the discovery

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "job_id": 0,
  • "discovery_result": { }
}

List all discovered hosts for a job

Returns all discovered hosts for a job

The available parameters to search / sort_by are:

  • id
  • host.name
  • host.alias
  • host.ip_address
Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Id of discovery job

query Parameters
limit
integer (RequestParameters.limit) >= 1
Example: limit=20

Max items per pages

page
integer (RequestParameters.page) >= 1
Example: page=1

Number of the page requested

sort_by
object (RequestParameters.sortBy)
Example: sort_by={"id":"ASC"}

Used to sort the request

search
object (RequestParameters.search)
Example: search={"name":"localhost"}

Used to search with specifics parameters

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "meta": {
    }
}

Saving discovered hosts in host configuration

Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Job id associated to the discovered hosts to be saved

Request Body schema: application/json
required
ids
Array of integers

List of discovered host ids to be saved

all
boolean

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ],
  • "all": false
}

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Find mappers of a discovery jobs

Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Id of discovery job

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update mappers of a discovery job

Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Id of the discovery job for which mappers need to be updated

Request Body schema: application/json
required

List of mappers

Array
type
string

Type of the mapper

object (MapperParameter)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Schedule a discovery job

Authorizations:
TokenCookie
path Parameters
job_id
required
integer <int64>

Id of discovery job to schedule

Responses

Response samples

Content type
application/json
{
  • "code": 403,
  • "message": "You are not authorized to access this resource"
}

Mapper

Simulate the mappers according to the host template of the provider

Authorizations:
TokenCookie
Request Body schema: application/json
required
credential_id
integer

Id of the credential

provider_id
integer

Id of the provider

Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "credential_id": 0,
  • "provider_id": 0,
  • "mappers": [
    ],
  • "job_parameters": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Provider

This API allows to:

  • Display the list of provider in plugin packs

List the providers in plugin packs

Returns all providers in plugin packs.

The available parameters to search / sort_by are:

  • id
  • name
  • description
Authorizations:
TokenCookie
query Parameters
limit
integer (RequestParameters.limit) >= 1
Example: limit=20

Max items per pages

page
integer (RequestParameters.page) >= 1
Example: page=1

Number of the page requested

sort_by
object (RequestParameters.sortBy)
Example: sort_by={"id":"ASC"}

Used to sort the request

search
object (RequestParameters.search)
Example: search={"name":"localhost"}

Used to search with specifics parameters

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "meta": {
    }
}

List of available attributes of provider

Returns all available attributes of provider used by mappers.

Authorizations:
TokenCookie
path Parameters
provider_id
required
integer <int64>

Provider id

Responses

Response samples

Content type
application/json
{
  • "attributes": [
    ],
  • "parameters": [
    ],
  • "credentials": [
    ]
}

Scheduling

This API is used by the job scheduler (Gorgone)

List all discovery jobs with details specific to the job scheduler

Returns all discovery jobs

The available parameters to search / sort_by are:

  • creation_date
  • status
  • duration
  • last_execution
  • discovered_items
  • alias
  • provider
Authorizations:
TokenCookie
query Parameters
limit
integer (RequestParameters.limit) >= 1
Example: limit=20

Max items per pages

page
integer (RequestParameters.page) >= 1
Example: page=1

Number of the page requested

sort_by
object (RequestParameters.sortBy)
Example: sort_by={"id":"ASC"}

Used to sort the request

search
object (RequestParameters.search)
Example: search={"name":"localhost"}

Used to search with specifics parameters

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "meta": {
    }
}