F5® BIG-IP® Next Central Manager API Specifications

Overview

This is the BIG-IP Next Central Manager API documentation.

F5® BIG-IP® Next Central Manager API Redirecting...

F5® BIG-IP® Next Central Manager API

Download OpenAPI specification:Download

The F5® BIG-IP® Next Central Manager API is F5's single front-end API for all services and resources in BIG-IP Next. F5 has undertaken to design it to ensure the APIs are in duty, meaningful, and following the best industry practices. You can consider the object model discussed in this documentation as reflecting a consistent and logical view of how to see resources, manage configurations, and view the actual system state of your BIG-IP Next.

Alerts

Alerts APIs may operate on alert resources of the F5® BIG-IP® Next Central Manager.

Retrieve all alerts

Retrieves a list of all the alerts and notifications.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

expand
string
Examples:
  • expand=notification_configurations,name - array column names

The column names used for filtering array elements in the result query.Ignored if filer parameter is absent.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Save aggregated alerts

Request to save the aggregated alerts from aggregator services.

Request Body schema: application/json
required
required
Array of objects (CreateAlert)

alerts

Responses

Request samples

Content type
application/json
{
  • "alerts": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Retrieve alert

Retrieves a specific alert.

path Parameters
id
required
string <uuid>

uuid of alert

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type_id": "d9779ea4-ba95-4824-86d7-4f1ac083a564",
  • "notification_configurations": [
    ],
  • "name": "string",
  • "level": "INFO",
  • "status": "ACTIVE",
  • "source": "string",
  • "start_time": "string",
  • "end_time": "string",
  • "summary": "string",
  • "description": "string",
  • "help_link": "string",
  • "object_name": "string",
  • "object_type": "string",
  • "additional_information": { },
  • "_links": {
    }
}

Inactivate multiple alerts

Inactivates multiple alerts.

Request Body schema: application/json
required
alerts
required
Array of strings <uuid> [ items <uuid > ]

alert ids

Responses

Request samples

Content type
application/json
{
  • "alerts": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Store alert types

Stores alert types.

Request Body schema: application/json
required
name
required
string non-empty

alert type name

source
required
string non-empty

feature name who is source of this type

level
required
string (AlertLevel)
Enum: "INFO" "WARNING" "SEVERE"

alert severity

help_link
string

help link

object (LinkOrRemovalList)

list of IDs to link and/or removal

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "source": "string",
  • "level": "INFO",
  • "help_link": "string",
  • "notifications": {
    }
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Update alert type

Updates alert type by name and source.

Request Body schema: application/json
required
name
required
string non-empty

alert type name

source
required
string non-empty

feature name who is source of this type

level
string (AlertLevel)
Enum: "INFO" "WARNING" "SEVERE"

alert severity

help_link
string

help link

object (LinkOrRemovalList)

list of IDs to link and/or removal

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "source": "string",
  • "level": "INFO",
  • "help_link": "string",
  • "notifications": {
    }
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Delete alert type

Deletes alert type.

Request Body schema: application/json
required
name
required
string

alert type name

source
required
string

feature name who is source of this type

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "source": "string"
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Retrieve all alert types

Retrieves a list of all the alert types.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Add alert types

Adds alert types.

Request Body schema: application/json
required
Array
name
required
string non-empty

alert type name

source
required
string non-empty

feature name who is source of this type

level
required
string (AlertLevel)
Enum: "INFO" "WARNING" "SEVERE"

alert severity

help_link
string

help link

object (LinkOrRemovalList)

list of IDs to link and/or removal

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/hal+json
[
  • {
    }
]

Update an alert types

Updates an alert type by name and source.

Request Body schema: application/json
required
Array
name
required
string non-empty

alert type name

source
required
string non-empty

feature name who is source of this type

level
string (AlertLevel)
Enum: "INFO" "WARNING" "SEVERE"

alert severity

help_link
string

help link

object (LinkOrRemovalList)

list of IDs to link and/or removal

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/hal+json
[
  • {
    }
]

Delete an alert types

Deletes an alert type.

Request Body schema: application/json
required
Array
name
required
string

alert type name

source
required
string

feature name who is source of this type

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/hal+json
[
  • {
    }
]

Retrieve an alert type

Retrieves a specific alert type.

path Parameters
id
required
string <uuid>

uuid of alert type

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "source": "string",
  • "level": "INFO",
  • "help_link": "string",
  • "notification_configurations": [
    ],
  • "_links": {
    }
}

Update an alert type

Updates a specific alert type identified by id.

path Parameters
id
required
string <uuid>

uuid of alert type

Request Body schema: application/json
required
level
string (AlertLevel)
Enum: "INFO" "WARNING" "SEVERE"

alert severity

help_link
string

help link

object (LinkOrRemovalList)

list of IDs to link and/or removal

Responses

Request samples

Content type
application/json
{
  • "level": "INFO",
  • "help_link": "string",
  • "notifications": {
    }
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Deletes an alert type

Deletes an alert type specified by id.

path Parameters
id
required
string <uuid>

uuid of alert type

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Inactivate an alert

Inactivates a specific alert.

path Parameters
id
required
string <uuid>

uuid of alert

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Update multiple alerts to seen alert status

Updates the status of multiple alerts to seen alert status. Provide a list of alert IDs to specify which alerts will have their status changed to seen.

Request Body schema: application/json
required
alerts
required
Array of strings <uuid> [ items <uuid > ]

alert ids

Responses

Request samples

Content type
application/json
{
  • "alerts": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Update an alert to seen alert status

Updates a specific alert to seen alert status.

path Parameters
id
required
string <uuid>

uuid of alert

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Retrieve alert rules

Retrieves a list of all the alert rules.

Responses

Response samples

Content type
application/hal+json
{
  • "id": [
    ]
}

Notifications

Notifications APIs may operate on notification resources of the F5® BIG-IP® Next Central Manager.

Retrieve notifications

Retrieves a list of all the notifications.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Creates new notification configuration

Creates a new notification configuration from data.

Request Body schema: application/json
required
name
required
string non-empty
notification_type
required
string (NotificationType)
Enum: "SMTP" "UI"
periodicity
string non-empty
suppressed
boolean
location
string
to_emails
Array of strings[ items non-empty ]
server_config
string
object (LinkOrRemovalList)

list of IDs to link and/or removal

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "notification_type": "SMTP",
  • "periodicity": "string",
  • "suppressed": true,
  • "location": "string",
  • "to_emails": [
    ],
  • "server_config": "string",
  • "alert_types": {
    }
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Update notification configuration

Updates an existing notification configuration.

Request Body schema: application/json
required
id
required
string <uuid>
name
required
string
notification_type
required
string (NotificationType)
Enum: "SMTP" "UI"
periodicity
string
suppressed
boolean
location
string
to_emails
Array of strings[ items non-empty ]
server_config
string
object (LinkOrRemovalList)

list of IDs to link and/or removal

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "notification_type": "SMTP",
  • "periodicity": "string",
  • "suppressed": true,
  • "location": "string",
  • "to_emails": [
    ],
  • "server_config": "string",
  • "alert_types": {
    }
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Delete notification configuration

Deletes a notification configuration.

Request Body schema: application/json
required
name
required
string

notification configuration name

notification_type
required
string

notification configuration type

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "notification_type": "string"
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Retrieve notification

Retrieves a specific notification

path Parameters
id
required
string <uuid>

uuid of notification

Responses

Response samples

Content type
application/hal+json
{
  • "data": "string"
}

Update notification

Update an specific notification by ID.

path Parameters
id
required
string <uuid>

uuid of notification

Request Body schema: application/json
required
name
required
string
notification_type
required
string (NotificationType)
Enum: "SMTP" "UI"
periodicity
string
suppressed
boolean
location
string
to_emails
Array of strings[ items non-empty ]
server_config
string
object (LinkOrRemovalList)

list of IDs to link and/or removal

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "notification_type": "SMTP",
  • "periodicity": "string",
  • "suppressed": true,
  • "location": "string",
  • "to_emails": [
    ],
  • "server_config": "string",
  • "alert_types": {
    }
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Delete notification

Deletes a notification identified by ID.

path Parameters
id
required
string <uuid>

uuid of notification

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Suppress Notifications

Suppresses notifications specified by a list of notification IDs.

Request Body schema: application/json
required
notifications
required
Array of strings <uuid> [ items <uuid > ]

notification ids

Responses

Request samples

Content type
application/json
{
  • "notifications": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Suppress single notification

Suppresses a single notification specified by the notification ID.

path Parameters
id
required
string <uuid>

uuid of notification

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Reactivate multiple notifications

Reactivate multiple suppressed notifications specified by a list of notification IDs.

Request Body schema: application/json
required
notifications
required
Array of strings <uuid> [ items <uuid > ]

notification ids

Responses

Request samples

Content type
application/json
{
  • "notifications": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Reactivate a single suppressed notification

Reactivates a suppressed notifications specified by a notification ID.

path Parameters
id
required
string <uuid>

uuid of notification

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "notifications": [
    ],
  • "alert_types": [
    ]
}

Analytic

Analytic APIs may operate on analytics resources of the F5® BIG-IP® Next Central Manager.

Retrieve request count

Retrieves the number of web application requests counted during a specified time interval.

Request Body schema: application/json
required
duration
string
Enum: "5m" "1h" "1d" "1w" "30d"

Defines the analytics timeframe

object (WafEventAnalyticsPeriod)
entity
string
Enum: "geolocation" "source_ip" "url"

Defines the analytics entity

filter
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • actionType - the WAF result after evaluating the request. Possible values: 'legal', 'alarmed', 'blocked'.
  • country - the origin country of the request. A list of countries can be found in /v1/geolocations.
  • url - the URL of the request. Example value '/login'.
  • sourceIP - the client IP address of the request.
  • policy - the name of the WAF policy that enforced the request.
  • application - the name of the application in the request.
  • rating - the violation rating of the request. Possible values: '0', '1', '2', '3', '4', '5'.
  • systemID - the managed device ID.

Supported properties per entity type:

  • geolocation: country, application, policy, actionType, rating, systemID
  • source_ip: sourceIP, application, policy, rating, actionType, systemID
  • url: url, actionType, application, country, policy, rating, systemID
  • none: actionType, application, policy, rating, systemID

Supported operators:

  • and
  • or
  • eq
  • neq

Responses

Request samples

Content type
application/json
Example
{
  • "filter": "actionType eq 'blocked' and country eq 'US' and policy eq 'Policy1'",
  • "entity": "geolocation",
  • "duration": "1h"
}

Response samples

Content type
application/hal+json
{
  • "count": 0,
  • "_links": {
    }
}

Retrieve trend of requests

Retrieves the trend of web application requests counted during a specified time interval.

Request Body schema: application/json
required
duration
string
Enum: "5m" "1h" "1d" "1w" "30d"

Defines the analytics timeframe

object (WafEventAnalyticsPeriod)
entity
string
Enum: "geolocation" "source_ip" "url"

Defines the analytics entity

filter
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • actionType - the WAF result after evaluating the request. Possible values: 'legal', 'alarmed', 'blocked'.
  • country - the origin country of the request. A list of countries can be found in /v1/geolocations.
  • url - the URL of the request. Example value '/login'.
  • sourceIP - the client IP address of the request.
  • policy - the name of the WAF policy that enforced the request.
  • application - the name of the application in the request.
  • rating - the violation rating of the request. Possible values: '0', '1', '2', '3', '4', '5'.
  • systemID - the managed device ID.

Supported properties per entity type:

  • geolocation: country, application, policy, actionType, rating, systemID
  • source_ip: sourceIP, application, policy, rating, actionType, systemID
  • url: url, actionType, application, country, policy, rating, systemID
  • none: actionType, application, policy, rating, systemID

Supported operators:

  • and
  • or
  • eq
  • neq

Responses

Request samples

Content type
application/json
Example
{
  • "filter": "actionType eq 'blocked' and country eq 'US' and policy eq 'Policy1'",
  • "entity": "geolocation",
  • "duration": "1h"
}

Response samples

Content type
application/hal+json
{
  • "percent": 0,
  • "_links": {
    }
}

Retrieve the trends of web application requests

Retrieves the trends of web application requests which were made during a particular time period.

Request Body schema: application/json
required
required
object (WafEventAnalyticsPeriod)
filter
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • request_status - the WAF result after evaluating the request; possible values: 'alerted', 'blocked'
  • geo_location - the country that originated the request; you can find a list of countries at: /v1/geolocations
  • uri - the URI of the request; for example: '/login'
  • policy_name - the name of the WAF policy that enforced the request
  • app_name - the name of the application in the request
  • violation_rating - the violation rating of the request; possible values: '0', '1', '2', '3', '4', '5'
  • ip_client - the client IP address of the request
  • ip_address_intelligence - IP intelligence address of the request
  • severity - the request severity category
  • stack_name - the stack name
  • bot_category - the bot category of the request.
  • bot_signature_name - the name of the bot signature for the request
  • client_class - the name of the bot client class for the request
  • client_type - the name of the bot client type for the request
  • sig_ids - the attack signature ID for the request
  • violations - the violation name for the request
  • sub_violations - the sub violation name for the request
  • threat_campaign_names - the threat campaign name for the request

Supported operators:

  • and
  • or
  • eq
  • neq

Supported functions:

  • contains(...)
  • not(contains(...))

Responses

Request samples

Content type
application/json
{
  • "period": {
    },
  • "filter": "string"
}

Response samples

Content type
application/hal+json
{
  • "percent": 0,
  • "count": 0,
  • "trend": 0,
  • "_links": {
    }
}

Retrieve most frequent web application requests

Retrieves the 20 most abundant web application requests which were made during a time period.

Request Body schema: application/json
required
entity
required
string (WafEventAnalyticsEntityEnum)
Enum: "geo_location" "ip_address" "uri" "signatures" "threat_campaign" "violations" "bot_signature"

Defines the analytics data aggregation criteria.

required
object (WafEventAnalyticsPeriod)
filter
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • request_status - the WAF result after evaluating the request; possible values: 'alerted', 'blocked'
  • geo_location - the country that originated the request; you can find a list of countries at: /v1/geolocations
  • uri - the URI of the request; for example: '/login'
  • policy_name - the name of the WAF policy that enforced the request
  • app_name - the name of the application in the request
  • violation_rating - the violation rating of the request; possible values: '0', '1', '2', '3', '4', '5'
  • ip_client - the client IP address of the request
  • ip_address_intelligence - IP intelligence address of the request
  • severity - the request severity category
  • stack_name - the stack name
  • bot_category - the bot category for the request
  • bot_signature_name - the name of the bot signature for the request
  • client_class - the name of the bot client class for the request
  • client_type - the name of the bot client type for the request
  • sig_ids - the attack signature ID for the request
  • violations - the violation name for the request
  • sub_violations - the sub violation name for the request
  • threat_campaign_names - the threat campaign name for the request

Supported operators:

  • and
  • or
  • eq
  • neq

Supported functions:

  • contains(...)
  • not(contains(...))

Responses

Request samples

Content type
application/json
{
  • "entity": "geo_location",
  • "period": {
    },
  • "filter": "string"
}

Response samples

Content type
application/hal+json
{
  • "top": [
    ],
  • "_links": {
    }
}

Retrieve aggregated statistics for policy or application

Retrieves web application request aggregated statistics for policy or application during a particular time period.

Request Body schema: application/json
required
entity
required
string
Enum: "policy_name" "app_name" "stack_name"

Defines the analytics data aggregation criteria.

required
object (WafEventAnalyticsPeriod)
filter
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • request_status - the WAF result after evaluating the request; possible values: 'alerted', 'blocked'
  • geo_location - the country that originated the request; you can find a list of countries at: /v1/geolocations
  • uri - the URI of the request; for example: '/login'
  • policy_name - the name of the WAF policy that enforced the request
  • app_name - the name of the application in the request
  • violation_rating - the violation rating of the request; possible values: '0', '1', '2', '3', '4', '5'
  • ip_client - the client IP address of the request
  • ip_address_intelligence - IP intelligence address of the request
  • severity - the request severity category
  • stack_name - the stack name
  • bot_category - the bot category for the request
  • bot_signature_name - the name of the bot signature for the request
  • client_class - the name of the bot client class for the request
  • client_type - the name of the bot client type for the request
  • sig_ids - the attack signature ID for the request
  • violations - the violation name for the request
  • sub_violations - the sub violation name for the request
  • threat_campaign_names - the threat campaign name for the request

Supported operators:

  • and
  • or
  • eq
  • neq

Supported functions:

  • contains(...)
  • not(contains(...))

Responses

Request samples

Content type
application/json
{
  • "entity": "policy_name",
  • "period": {
    },
  • "filter": "string"
}

Response samples

Content type
application/hal+json
{
  • "entity": [
    ],
  • "_links": {
    }
}

Retrieve statistics for entity

Retrieve statistics for entity

Request Body schema: application/json
required
entity
required
string (WafEventAnalyticsEntityEnum)
Enum: "geo_location" "ip_address" "uri" "signatures" "threat_campaign" "violations" "bot_signature"

Defines the analytics data aggregation criteria.

required
object (WafEventAnalyticsPeriod)
filter
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • request_status - the WAF result after evaluating the request; possible values: 'alerted', 'blocked'
  • geo_location - the country that originated the request; you can find a list of countries at: /v1/geolocations
  • uri - the URI of the request; for example: '/login'
  • policy_name - the name of the WAF policy that enforced the request
  • app_name - the name of the application in the request
  • violation_rating - the violation rating of the request; possible values: '0', '1', '2', '3', '4', '5'
  • ip_client - the client IP address of the request
  • ip_address_intelligence - IP intelligence address of the request
  • severity - the request severity category
  • stack_name - the stack name
  • bot_category - the bot category for the request
  • bot_signature_name - the name of the bot signature for the request
  • client_class - the name of the bot client class for the request
  • client_type - the name of the bot client type for the request
  • sig_ids - the attack signature ID for the request
  • violations - the violation name for the request
  • sub_violations - the sub violation name for the request
  • threat_campaign_names - the threat campaign name for the request

Supported operators:

  • and
  • or
  • eq
  • neq

Supported functions:

  • contains(...)
  • not(contains(...))

Responses

Request samples

Content type
application/json
{
  • "entity": "geo_location",
  • "period": {
    },
  • "filter": "string"
}

Response samples

Content type
application/hal+json
{
  • "urls": 0,
  • "signatures": 0,
  • "rating": 0,
  • "ip_addresses": 0,
  • "_links": {
    }
}

Retrieve the time interval

Retrieves the time interval which was used to get the number of web application requests.

Request Body schema: application/json
required
required
object (WafEventAnalyticsPeriod)
filter
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • request_status - the WAF result after evaluating the request; possible values: 'alerted', 'blocked'
  • geo_location - the country that originated the request; you can find a list of countries at: /v1/geolocations
  • uri - the URI of the request; for example: '/login'
  • policy_name - the name of the WAF policy that enforced the request
  • app_name - the name of the application in the request
  • violation_rating - the violation rating of the request; possible values: '0', '1', '2', '3', '4', '5'
  • ip_client - the client IP address of the request
  • ip_address_intelligence - IP intelligence address of the request
  • severity - the request severity category
  • stack_name - the stack name
  • bot_category - the bot category of the request.
  • bot_signature_name - the name of the bot signature for the request
  • client_class - the name of the bot client class for the request
  • client_type - the name of the bot client type for the request
  • sig_ids - the attack signature ID for the request
  • violations - the violation name for the request
  • sub_violations - the sub violation name for the request
  • threat_campaign_names - the threat campaign name for the request

Supported operators:

  • and
  • or
  • eq
  • neq

Supported functions:

  • contains(...)
  • not(contains(...))

Responses

Request samples

Content type
application/json
{
  • "period": {
    },
  • "filter": "string"
}

Response samples

Content type
application/hal+json
{
  • "alerted": [
    ],
  • "blocked": [
    ],
  • "_links": {
    }
}

Retrieve trends of web application requests

Retrieves the trends of web application requests which were made during a particular time period.

Request Body schema: application/json
required
entity
required
string (WafEventAnalyticsEntityEnum)
Enum: "geo_location" "ip_address" "uri" "signatures" "threat_campaign" "violations" "bot_signature"

Defines the analytics data aggregation criteria.

required
object (WafEventAnalyticsPeriod)
filter
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • request_status - the WAF result after evaluating the request; possible values: 'alerted', 'blocked'
  • geo_location - the country that originated the request; you can find a list of countries at: /v1/geolocations
  • uri - the URI of the request; for example: '/login'
  • policy_name - the name of the WAF policy that enforced the request
  • app_name - the name of the application in the request
  • violation_rating - the violation rating of the request; possible values: '0', '1', '2', '3', '4', '5'
  • ip_client - the client IP address of the request
  • ip_address_intelligence - IP intelligence address of the request
  • severity - the request severity category
  • stack_name - the stack name
  • bot_category - the bot category for the request
  • bot_signature_name - the name of the bot signature for the request
  • client_class - the name of the bot client class for the request
  • client_type - the name of the bot client type for the request
  • sig_ids - the attack signature ID for the request
  • violations - the violation name for the request
  • sub_violations - the sub violation name for the request
  • threat_campaign_names - the threat campaign name for the request

Supported operators:

  • and
  • or
  • eq
  • neq

Supported functions:

  • contains(...)
  • not(contains(...))

Responses

Request samples

Content type
application/json
{
  • "entity": "geo_location",
  • "period": {
    },
  • "filter": "string"
}

Response samples

Content type
application/hal+json
{
  • "alerted_percent": 0,
  • "alerted_count": 0,
  • "alerted_trend": 0,
  • "blocked_percent": 0,
  • "blocked_count": 0,
  • "blocked_trend": 0,
  • "urls": 0,
  • "rating": 0,
  • "ip_addresses": 0,
  • "_links": {
    }
}

Return the BADOS application stats for the given time interval

Return the BADOS application stats for the given time interval.

Request Body schema: application/json
required
required
object (WafEventAnalyticsPeriod)
app_name
required
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • app_name - Successfully deployed application name. Example value 'test_app_name'.

Responses

Request samples

Content type
application/json
{
  • "period": {
    },
  • "app_name": "test_app_name"
}

Response samples

Content type
application/hal+json
{
  • "stress_level": [
    ],
  • "baseline_dps": [
    ],
  • "incoming_rps": [
    ],
  • "successful_tps": [
    ],
  • "unsuccessful_rps": [
    ],
  • "mitigated_bad_actor_rps": [
    ],
  • "mitigated_global_rps": [
    ],
  • "mitigated_signature_rps": [
    ],
  • "_links": {
    }
}

Retrieve time series instance metrics

Retrieve time series instance-related metrics for a specified time frame and resolution, optionally matching a provided filter.

query Parameters
names
required
string
Examples:
  • names=http.transactions - query a single metric
  • names=cpu.idle,cpu.system - query multiple metrics
  • names=SUM(http.transactions) - query aggregated value of a metric

Defines one or more metrics to be returned. When groupBy is used only one metric should be used. An aggregation function can be added such as SUM, AVG, COUNT, MIN, MAX, RATE.

filter
string
Examples:
  • filter=deviceId eq '91032542-C56B-EB96-6F19-E1BB685CF055' - filter using an equality expression
  • filter=transactionOutcome neq 'incomplete' - filter using an inequality expression
  • filter=port gte 80 - filter using a numerical condition
  • filter=(deviceId eq '91032542-C56B-EB96-6F19-E1BB685CF055') AND (cpu.core eq 'all') - multiple predicates

A logical expression for filtering query results. consists of one or more predicates in the form of .

start
string

The start of the time window to include metrics from (inclusive).

end
string

The end of the time window to include metrics from (non-inclusive) – default to “now”.

resolution
string

Defines the returned data granularity.

aggregate
boolean

Defines if result should be returned aggregated.

Responses

Response samples

Content type
application/hal+json
[
  • {
    }
]

Retrieve list of time series access metrics

Retrieve time series access-related metrics for a specified time frame and resolution, optionally matching a provided filter.

query Parameters
names
required
string
Examples:
  • names=global_access_stat.ts_sessions_active_cur - query a single metric, supports only global_access_stat.ts_sessions_active_cur

Defines one or more metrics to be returned. Supports global_access_stat.ts_sessions_active_cur only. By default groups by DeviceId_CM

filter
string
Examples:
  • filter=deviceId eq '91032542-C56B-EB96-6F19-E1BB685CF055' - filter using an equality expression
  • filter=(deviceId eq '91032542-C56B-EB96-6F19-E1BB685CF055' or deviceId eq '78032542-C56B-EB96-6F19-E1BB685CF022') - multiple predicates

A logical expression for filtering query results. consists of one or more predicates in the form of .

start
string

The start of the time window to include metrics from (inclusive).

end
string

The end of the time window to include metrics from (non-inclusive) – default to “now”.

resolution
string

Defines the returned data granularity.

sort
boolean

when true. orders and assigns a rank to device by the avg(metric) over time window.

aggregate
boolean

Defines if result should be returned aggregated.

Responses

Response samples

Content type
application/hal+json
[
  • {
    }
]

Retrieve applications time series metrics

Retrieves applications-related time series metrics for a specified time frame and resolution, optionally matching a provided filter.

query Parameters
names
required
string
Examples:
  • names=http.transactions - query a single metric
  • names=cpu.idle,cpu.system - query multiple metrics
  • names=SUM(http.transactions) - query aggregated value of a metric

Defines one or more metrics to be returned. When groupBy is used only one metric should be used. An aggregation function can be added such as SUM, AVG, COUNT, MIN, MAX, RATE.

filter
string
Examples:
  • filter=deviceId eq '91032542-C56B-EB96-6F19-E1BB685CF055' - filter using an equality expression
  • filter=transactionOutcome neq 'incomplete' - filter using an inequality expression
  • filter=port gte 80 - filter using a numerical condition
  • filter=(deviceId eq '91032542-C56B-EB96-6F19-E1BB685CF055') AND (cpu.core eq 'all') - multiple predicates

A logical expression for filtering query results. consists of one or more predicates in the form of .

start
string

The start of the time window to include metrics from (inclusive).

end
string

The end of the time window to include metrics from (non-inclusive) – default to “now”.

resolution
string

Defines the returned data granularity.

aggregate
boolean

Defines if result should be returned aggregated.

Responses

Response samples

Content type
application/hal+json
[
  • {
    }
]

Retrieve applications health

Retrieve the health status of all existing application services that match an optionally provided filter. This API supports paging.

query Parameters
limit
integer
Default: 100
Examples:
  • limit=10 - returns upto 10 items per page

Limits the number of items to return per page.

page
integer
Examples:
  • page=5 - return page number 5

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=name - column ascending sort
  • sort=location - single column descending sort
  • sort=name,location - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'Deployed' - query by equality
  • filter=name startswith 'app' - query by string

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "bigIpId": "string",
  • "tenantName": "string",
  • "objectName": "string",
  • "parentObjectName": "string",
  • "objectType": "string",
  • "parentObjectType": "string",
  • "applicationName": "string",
  • "health": "string",
  • "sourceId": "string",
  • "description": "string",
  • "lastUpdated": "string",
  • "_links": {
    }
}

Retrieve application-services locations

Retrieve a list of application-services locations, for the application-service topology view.

path Parameters
app_service_name
required
string

application service name (unique)

Responses

Response samples

Content type
application/hal+json
{
  • "name": "string",
  • "instances": [
    ]
}

Returns a list of virtual servers for a given application service

Returns a list of virtual servers for a given application service, with their health.

path Parameters
app_service_name
required
string

application service name (unique)

query Parameters
id
required
string <uuid>

ID of the application

instance_id
string <uuid>

UUID of instance (instance-id)

type
required
string
Enum: "AS3" "FAST"

type of application

Responses

Response samples

Content type
application/hal+json
[
  • {
    }
]

Retrieve pool properties

Retrieves pool properties for the specified pool.

path Parameters
app_service_name
required
string

application service name (unique)

virtual_server_name
required
string

virtual server name (unique for application)

pool_name
required
string

pool name (unique)

query Parameters
instance_id
string <uuid>

UUID of instance (device-id)

app_id
required
string <uuid>

application service id (unique)

Responses

Response samples

Content type
application/hal+json
{
  • "name": "string",
  • "throughput": 0,
  • "health": "string",
  • "num_active_alerts": 0,
  • "num_pool_members": 0,
  • "num_healthy_pool_members": 0,
  • "percent_healthy_pool_members": "string",
  • "num_unhealthy_pool_members": 0,
  • "percent_unhealthy_pool_members": "string",
  • "lb_method": "string",
  • "virtual_server": "string",
  • "monitor_type": [
    ],
  • "_links": {
    }
}

Retrieve application service properties

Retrieves application service properties for the specified application-service.

path Parameters
app_service_name
required
string

application name (unique)

query Parameters
instance_id
string <uuid>

UUID of instance (device-id)

app_id
required
string <uuid>

application service id (unique)

Responses

Response samples

Content type
application/hal+json
{
  • "name": "string",
  • "description": "string",
  • "last_update": "2019-08-24T14:15:22Z",
  • "health": "Critical",
  • "active_alerts": 0,
  • "virtual_servers": 0,
  • "source": "Template",
  • "template_name": "string",
  • "location": "string",
  • "pools": 0,
  • "pool_members": 0,
  • "security": [
    ],
  • "_links": {
    }
}

Retrieve summary of the WAF policies attached to applications

Retrieves summary of the WAF policies attached to applications.

Responses

Response samples

Content type
application/hal+json
{
  • "total_applications": 0,
  • "applications_with_waf_policies": 0,
  • "blocking": 0,
  • "transparent": 0,
  • "mixed": 0,
  • "no_policy": 0,
  • "_links": {
    }
}

Retrieve summary of applications health

Retrieve a summary of the distribution of applications health to generate a pie chart.

Responses

Response samples

Content type
application/hal+json
{
  • "total_applications": 0,
  • "application_health_summary": [
    ],
  • "_links": {
    }
}

Retrieve summary of applications alerts

Retrieve a summary of the distribution of application alerts by level to generate a pie chart.

Responses

Response samples

Content type
application/hal+json
{
  • "total_alerts": 0,
  • "application_alerts_summary": [
    ],
  • "_links": {
    }
}

Retrieve endpoints data

Retrieves endpoints data for a specified pool.

path Parameters
app_name
required
string

application name (unique)

virtual_name
required
string

virtual server name (unique)

pool_name
required
string

pool name (unique)

query Parameters
app_id
required
string <uuid>

id of application

instance_id
string <uuid>

UUID of instance (device-id)

Responses

Response samples

Content type
application/hal+json
[
  • {
    }
]

Retrieve application health status

Retrieves application health status for a specified application.

path Parameters
app_name
required
string

application name (unique)

query Parameters
instance_id
string <uuid>

UUID of instance (device-id)

Responses

Response samples

Content type
application/hal+json
{
  • "name": "string",
  • "health": "Good",
  • "_links": {
    }
}

Retrieve virtual server properties

Retrieves virtual server properties for a specified virtual server.

path Parameters
app_service_name
required
string

application service name (unique)

virtual_server_name
required
string

virtual server name (unique for application)

query Parameters
instance_id
string <uuid>

UUID of instance (device-id)

app_id
required
string <uuid>

application service id (unique)

Responses

Response samples

Content type
application/hal+json
{
  • "name": "string",
  • "pools": 0,
  • "virtual_address": "string",
  • "virtual_port": 0,
  • "https_certificate": "string",
  • "enabled_protocols_and_profiles": [
    ],
  • "enabled_security_policies": [
    ],
  • "irules": {
    },
  • "_links": {
    }
}

Returns endpoint properties

Returns endpoint properties for a specified endpoint.

path Parameters
app_service_name
required
string

application service name (unique)

virtual_server_name
required
string

virtual server name (unique for application)

pool_name
required
string

pool name (unique)

endpoint-name
required
string

endpoint-name (unique)

query Parameters
instance_id
required
string <uuid>

UUID of instance (device-id)

app_id
required
string <uuid>

application service id (unique)

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "ip_address": "string",
  • "location": "string",
  • "health": "string"
}

Retrieve FQDN status

Retrieve the Fully Qualified Domain Name (FQDN) status as reported by each of the existing DNS servers within that Global Resiliency Group.

path Parameters
fqdn_name
required
string

fqdn name (unique)

Responses

Response samples

Content type
application/hal+json
{
  • "fqdn_Status": [
    ],
  • "_links": {
    }
}

API Gateway

Application Services APIs may operate on application services resources of the F5® BIG-IP® Next Central Manager.

User login

Login with user name and password. Validates the username and password and returns an authentication token and a refresh token. The authentication token has a short lifetime and should be included in subsequent API requests. The refresh token has a longer lifetime and can be used to get a new authentication token.

Request Body schema: application/json
required
username
required
string

User name

password
required
string

Password

provider_type
string
Default: "Local"
Enum: "Local" "LDAP"

Auth provider type

provider_name
string non-empty

Auth provider name

Responses

Request samples

Content type
application/json
{
  • "username": "user01",
  • "password": "Pass2022!",
  • "provider_type": "LDAP",
  • "provider_name": "dummy-ldap"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string",
  • "user_id": "string",
  • "force_change_password": true
}

Generate authentication token

Use a user refresh token to generate an authentication token

Request Body schema: application/json
required
refresh_token
required
string

Refresh token

Responses

Request samples

Content type
application/json
{
  • "refresh_token": "refresh test token"
}

Response samples

Content type
application/json
{
  • "access_token": "string"
}

User logout

Logs out the user by closing their session state.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string"
}

Retrieve system information

Retrieves system information.

Responses

Response samples

Content type
application/hal+json
{
  • "providers": [
    ],
  • "_links": {
    }
}

Replace temporary password with new password

Replaces a temporary password with a new password.

Request Body schema: application/json
required
username
required
string non-empty

User Name

temp_password
required
string non-empty

Temporary password

new_password
required
string non-empty

New password

Responses

Request samples

Content type
application/json
{
  • "username": "admin1",
  • "temp_password": "admin1",
  • "new_password": "Pass123!"
}

Response samples

Content type
application/json
{
  • "message": "Password change was successful."
}

Application Service

Application Services APIs may operate on application services resources of the F5® BIG-IP® Next Central Manager.

Return all AS3 application services

Request all the AS3 application services, their deployments details, and last deployment records.

query Parameters
limit
integer >= 1
Examples:
  • limit=2 - Return up to 2 items per page

Limits the number of items to return per page.

page
integer >= 1
Examples:
  • page=2 - Return page number 2

The page number to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - Two column ascending sort
  • sort=-hostname - Single column descending sort
  • sort=address,-hostname - Mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending sorting order.

select
string
Examples:
  • select=name,state,status - selected column names

Provide the names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - Query by equality
  • filter=hostname starts with 'mbip' - Query by string
  • filter=port gte 80 - Query by numerical condition
  • filter=records/last_record/status eq 'completed'&expand=records - query by json array attributes
  • filter=records/total eq 2 - query by json
  • filter=completed eq true - query by boolean

Filter conditions for result queries. Query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/json
"{ \"_embedded\": { \"appsvcs\": [ { \"_links\": { \"self\": { \"href\": \"/declare/45231c07-5fe9-421d-87e8-fcfd73ac1158\" } }, \"created\": \"2023-08-24T10:06:27.436543Z\", \"deployments\": [ { \"id\": \"c3860d99-f023-478a-8874-9f48afee70f4\", \"instance_id\": \"1753263f-21dc-4fa0-a3ac-7153cab4c05e\", \"target\": { \"instance_ip\": \"10.218.128.154\" }, \"last_successful_deploy_time\": \"0001-01-01T00:00:00Z\", \"modified\": \"2023-08-24T10:08:22.638511Z\", \"last_record\": { \"id\": \"830b6fd1-96d2-47c7-adaf-6d6329b66140\", \"task_id\": \"9b11fc0e-113c-4967-844e-0b1b8bf4426e\", \"start_time\": \"2023-08-24T10:08:22.46672Z\", \"end_time\": \"0001-01-01T00:00:00Z\", \"status\": \"failed\", \"failure_reason\": \"AS3-0004: AS3 Unknown Error : Failed with unknown error: {\\\"code\\\":422,\\\"message\\\":\\\"declaration is invalid\\\",\\\"errors\\\":[\\\"/tenantIKQoA900pQqaKaUVEXePJYA/testiRuleApp/vs1/iRules/0: must contain path pointing to a reference that exists\\\"]}. \" } } ], \"deployments_count\": { \"total\": 1, \"failed\": 1 }, \"id\": \"45231c07-5fe9-421d-87e8-fcfd73ac1158\", \"name\": \"testiRuleApp\", \"tenant_name\": \"tenantIKQoA900pQqaKaUVEXePJYA\", \"type\": \"AS3\" } ] }, \"_links\": { \"self\": { \"href\": \"/declare\" } }, \"count\": 1, \"total\": 1 }"

Save AS3 application service

Save an AS3 declaration to BIG-IP Next Central Manager.

Request Body schema: application/json
required
object (declaration)

declaration

Responses

Request samples

Content type
application/json
"{ \"class\": \"ADC\", \"schemaVersion\": \"3.12.0\", \"DemoTenant\": { \"class\": \"Tenant\", \"TestApp\": { \"class\": \"Application\", \"template\": \"http\", \"serviceMain\": { \"pool\": \"Pool\", \"snat\": \"auto\", \"virtualPort\": 80, \"virtualAddresses\": [ \"5.6.7.8\" ], \"class\": \"Service_HTTP\" }, \"Pool\": { \"members\": [ { \"servicePort\": 80, \"serverAddresses\": [ \"5.6.7.8\" ] } ], \"loadBalancingMode\": \"round-robin\", \"class\": \"Pool\" } } } }"

Response samples

Content type
application/json
"{ \"Message\": \"Application service created successfully\", \"_links\": { \"self\": { \"href\": \"/declare/dd9ab859-11ef-42d3-a107-ae37f557eb15\" } }, \"id\": \"dd9ab859-11ef-42d3-a107-ae37f557eb15\" }"

Returns an AS3 application service

Request a specific AS3 application service, its deployment details, and last deployment records.

path Parameters
document-id
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
"{ \"_links\": { \"self\": { \"href\": \"/declare/45231c07-5fe9-421d-87e8-fcfd73ac1158\" } }, \"app_data\": { \"class\": \"ADC\", \"controls\": { \"class\": \"Controls\", \"logLevel\": \"error\" }, \"id\": \"http-canonical-cm-example-template\", \"label\": \"BIG-IP Next Central Manager Example Template\", \"schemaVersion\": \"3.43.0\", \"tenantIKQoA900pQqaKaUVEXePJYA\": { \"class\": \"Tenant\", \"testiRuleApp\": { \"class\": \"Application\", \"http2Profile_vs1\": { \"class\": \"HTTP2_Profile\" }, \"pool1\": { \"class\": \"Pool\", \"loadBalancingMode\": \"round-robin\", \"members\": [ { \"ratio\": 10, \"servers\": [ { \"address\": \"1.1.1.1\", \"name\": \"test\" }, { \"address\": \"2.2.2.2\", \"name\": \"poolmember2\" } ], \"servicePort\": 80 } ], \"monitors\": [ \"http\" ] }, \"testiRule_1_vs1_vs1\": { \"class\": \"iRule\", \"iRule\": { \"base64\": \"d2hlbiBIVFRQX1JFUVVFU1QgewogIGlmIHtbSFRUUDI6OmFjdGl2ZV19IHsKICAgIGxvZyBsb2NhbDAuICJyZXF1ZXN0IGZyb20gSFRUUC8yIGNsaWVudHMiCiAgfQp9\" } }, \"vs1\": { \"class\": \"Service_HTTP\", \"iRules\": [ \"testiRule_1_vs1\" ], \"persistenceMethods\": [], \"pool\": \"pool1\", \"profileHTTP2\": { \"use\": \"http2Profile_vs1\" }, \"snat\": \"auto\", \"virtualAddresses\": [ \"1.1.1.1\" ], \"virtualPort\": 80 } } } }, \"created\": \"2023-08-24T10:06:27.436543Z\", \"deployments\": [ { \"id\": \"c3860d99-f023-478a-8874-9f48afee70f4\", \"instance_id\": \"1753263f-21dc-4fa0-a3ac-7153cab4c05e\", \"target\": { \"instance_ip\": \"10.218.128.154\" }, \"last_successful_deploy_time\": \"0001-01-01T00:00:00Z\", \"modified\": \"2023-08-24T10:08:22.638511Z\", \"last_record\": { \"id\": \"830b6fd1-96d2-47c7-adaf-6d6329b66140\", \"task_id\": \"9b11fc0e-113c-4967-844e-0b1b8bf4426e\", \"start_time\": \"2023-08-24T10:08:22.46672Z\", \"end_time\": \"0001-01-01T00:00:00Z\", \"status\": \"failed\", \"failure_reason\": \"AS3-0004: AS3 Unknown Error : Failed with unknown error: {\\\"code\\\":422,\\\"message\\\":\\\"declaration is invalid\\\",\\\"errors\\\":[\\\"/tenantIKQoA900pQqaKaUVEXePJYA/testiRuleApp/vs1/iRules/0: must contain path pointing to a reference that exists\\\"]}. \" } } ], \"deployments_count\": { \"total\": 1, \"failed\": 1 }, \"id\": \"45231c07-5fe9-421d-87e8-fcfd73ac1158\", \"name\": \"testiRuleApp\", \"tenant_name\": \"tenantIKQoA900pQqaKaUVEXePJYA\", \"type\": \"AS3\" }"

Update AS3 application service

Updates an application service with new AS3 declaration and re-deploy changes to instances. This action deploys updates only to instances on which the AS3 declaration was previously deployed.

path Parameters
document-id
required
string <uuid>

Application ID

query Parameters
retry_failed
boolean

Use retry_failed=true to re-deploy to an instance after a failed deployment. retry_failed=true is not allowed on BIG-IP Next instances with unhealthy or unknown statuses and any attempt to redeploy to those instances fails with a validation error.

Request Body schema: application/json
required
object (declaration)

declaration

Responses

Request samples

Content type
application/json
"{ \"class\": \"ADC\", \"schemaVersion\": \"3.12.0\", \"DemoTenant\": { \"class\": \"Tenant\", \"TestApp\": { \"class\": \"Application\", \"template\": \"http\", \"serviceMain\": { \"pool\": \"Pool\", \"snat\": \"auto\", \"virtualPort\": 80, \"virtualAddresses\": [ \"5.6.7.8\" ], \"class\": \"Service_HTTP\" }, \"Pool\": { \"members\": [ { \"servicePort\": 80, \"serverAddresses\": [ \"5.6.7.8\" ] } ], \"loadBalancingMode\": \"round-robin\", \"class\": \"Pool\" } } } }"

Response samples

Content type
application/json
"{ \"Message\": \"Application service updated successfully\", \"_links\": { \"self\": { \"href\": \"/declare/dd9ab859-11ef-42d3-a107-ae37f557eb15\" } }, \"id\": \"dd9ab859-11ef-42d3-a107-ae37f557eb15\" }"

Delete AS3 application service

Remove an AS3 application service from the deployed instance and also delete from BIG-IP Next Central Manager.

path Parameters
document-id
required
string <uuid>

Application ID

query Parameters
force
boolean

Use force=true as query parameter to remove deployments from all deployed instance (ignores remote removal failures) and delete the application service from BIG-IP Next Central Manager. This forces a deletion from unreachable instance.

Responses

Response samples

Content type
application/hal+json
"{ \"_links\": { \"self\": { \"href\": \"/declare/45231c07-5fe9-421d-87e8-fcfd73ac1158\" } }, \"id\": \"45231c07-5fe9-421d-87e8-fcfd73ac1158\", \"message\": \"The application service was successfully deleted\" }"

Deploy AS3 declaration

Deploy an AS3 declaration to a specified instance managed by BIG-IP Next Central Manager. If the deployment already exists on a different instance, the application service is removed from the existing instance before deploying to the new instance. This action will delete all verification results for all instances if the action is not set to 'dry-run'.

path Parameters
document-id
required
string

application ID

query Parameters
validation
string
Enum: "strict" "lazy"

Specify the declaration validation type.

updateMode
string
Enum: "complete" "selective"

Specify the update mode for configuration.

action
string
Value: "dry-run"

Specify the action to perform for the specified configuration.

show
string
Enum: "base" "full" "expanded"

Specify how the response document should be expanded.

Request Body schema: application/json
required
target
required
string

The target deployment location of the BIG-IP Next instance.

Responses

Request samples

Content type
application/json
"{ \"target\": \"10.218.137.111\" }"

Response samples

Content type
application/json
"{ \"Message\": \"Deployment task created successfully\", \"_links\": { \"self\": { \"href\": \"/declare/1a5a6049-8220-483a-8cbc-275a4b190d35/deployments/2ceb048a-0ee6-4a2d-8952-cd15583bb5e8\" } }, \"id\": \"2ceb048a-0ee6-4a2d-8952-cd15583bb5e8\" }"

Return deployment records

Request all records for a specific deployment.

path Parameters
document-id
required
string

application ID

deployment-id
required
string

deployment ID

Responses

Response samples

Content type
application/hal+json
"{ \"_links\": { \"self\": { \"href\": \"/declare/45231c07-5fe9-421d-87e8-fcfd73ac1158/deployments/c3860d99-f023-478a-8874-9f48afee70f4\" } }, \"app_data\": { \"class\": \"ADC\", \"controls\": { \"class\": \"Controls\", \"logLevel\": \"error\" }, \"id\": \"http-canonical-cm-example-template\", \"label\": \"BIG-IP Next Central Manager Example Template\", \"schemaVersion\": \"3.43.0\", \"tenantIKQoA900pQqaKaUVEXePJYA\": { \"class\": \"Tenant\", \"testiRuleApp\": { \"class\": \"Application\", \"http2Profile_vs1\": { \"class\": \"HTTP2_Profile\" }, \"pool1\": { \"class\": \"Pool\", \"loadBalancingMode\": \"round-robin\", \"members\": [ { \"ratio\": 10, \"servers\": [ { \"address\": \"1.1.1.1\", \"name\": \"test\" }, { \"address\": \"2.2.2.2\", \"name\": \"poolmember2\" } ], \"servicePort\": 80 } ], \"monitors\": [ \"http\" ] }, \"testiRule_1_vs1_vs1\": { \"class\": \"iRule\", \"iRule\": { \"base64\": \"d2hlbiBIVFRQX1JFUVVFU1QgewogIGlmIHtbSFRUUDI6OmFjdGl2ZV19IHsKICAgIGxvZyBsb2NhbDAuICJyZXF1ZXN0IGZyb20gSFRUUC8yIGNsaWVudHMiCiAgfQp9\" } }, \"vs1\": { \"class\": \"Service_HTTP\", \"iRules\": [ \"testiRule_1_vs1\" ], \"persistenceMethods\": [], \"pool\": \"pool1\", \"profileHTTP2\": { \"use\": \"http2Profile_vs1\" }, \"snat\": \"auto\", \"virtualAddresses\": [ \"1.1.1.1\" ], \"virtualPort\": 80 } } } }, \"id\": \"c3860d99-f023-478a-8874-9f48afee70f4\", \"instance_id\": \"1753263f-21dc-4fa0-a3ac-7153cab4c05e\", \"records\": [ { \"id\": \"830b6fd1-96d2-47c7-adaf-6d6329b66140\", \"task_id\": \"9b11fc0e-113c-4967-844e-0b1b8bf4426e\", \"start_time\": \"2023-08-24T10:08:22.46672Z\", \"end_time\": \"0001-01-01T00:00:00Z\", \"status\": \"failed\", \"failure_reason\": \"AS3-0004: AS3 Unknown Error : Failed with unknown error: {\\\"code\\\":422,\\\"message\\\":\\\"declaration is invalid\\\",\\\"errors\\\":[\\\"/tenantIKQoA900pQqaKaUVEXePJYA/testiRuleApp/vs1/iRules/0: must contain path pointing to a reference that exists\\\"]}. \" } ], \"records_count\": { \"total\": 1, \"failed\": 1 }, \"request\": { \"class\": \"ADC\", \"controls\": { \"class\": \"Controls\", \"logLevel\": \"error\" }, \"id\": \"http-canonical-cm-example-template\", \"label\": \"BIG-IP Next Central Manager Example Template\", \"schemaVersion\": \"3.43.0\", \"tenantIKQoA900pQqaKaUVEXePJYA\": { \"class\": \"Tenant\", \"testiRuleApp\": { \"class\": \"Application\", \"http2Profile_vs1\": { \"class\": \"HTTP2_Profile\" }, \"pool1\": { \"class\": \"Pool\", \"loadBalancingMode\": \"round-robin\", \"members\": [ { \"ratio\": 10, \"servers\": [ { \"address\": \"1.1.1.1\", \"name\": \"test\" }, { \"address\": \"2.2.2.2\", \"name\": \"poolmember2\" } ], \"servicePort\": 80 } ], \"monitors\": [ \"http\" ] }, \"testiRule_1_vs1_vs1\": { \"class\": \"iRule\", \"iRule\": { \"base64\": \"d2hlbiBIVFRQX1JFUVVFU1QgewogIGlmIHtbSFRUUDI6OmFjdGl2ZV19IHsKICAgIGxvZyBsb2NhbDAuICJyZXF1ZXN0IGZyb20gSFRUUC8yIGNsaWVudHMiCiAgfQp9\" } }, \"vs1\": { \"class\": \"Service_HTTP\", \"iRules\": [ \"testiRule_1_vs1\" ], \"persistenceMethods\": [], \"pool\": \"pool1\", \"profileHTTP2\": { \"use\": \"http2Profile_vs1\" }, \"snat\": \"auto\", \"virtualAddresses\": [ \"1.1.1.1\" ], \"virtualPort\": 80 } } } }, \"response\": { \"code\": 422, \"errors\": [ \"/tenantIKQoA900pQqaKaUVEXePJYA/testiRuleApp/vs1/iRules/0: must contain path pointing to a reference that exists\" ], \"message\": \"declaration is invalid\" }, \"tenant_name\": \"tenantIKQoA900pQqaKaUVEXePJYA\", \"type\": \"AS3\" }"

Re-deploy AS3 declaration after failed deployment

Re-deploys an AS3 application service declaration to a BIG-IP Next instance if the deployment had previously failed.

path Parameters
document-id
required
string

application ID

deployment-id
required
string

deployment ID

query Parameters
validation
string
Enum: "strict" "lazy"

Specify the declaration validation type.

updateMode
string
Enum: "complete" "selective"

Specify the update mode for configuration.

show
string
Enum: "base" "full" "expanded"

Specify how the response document should be expanded.

Responses

Response samples

Content type
application/json
"{ \"Message\": \"Update deployment task created\", \"_links\": { \"self\": { \"href\": \"/declare/5474a0a1-706e-4d09-b5a3-48e76b7ea271/deployments/0f41cedf-68c8-4e80-bd3a-584a2de1029d\" } }, \"id\": \"0f41cedf-68c8-4e80-bd3a-584a2de1029d\" }"

Delete application service deployment

Remove the specified application service deployment from BIG-IP Next Central Manager. An application service is first removed from its instance deployment(s) before it is deleted from BIG-IP Next Central Manager.

path Parameters
document-id
required
string

application ID

deployment-id
required
string

deployment ID

query Parameters
force
boolean
Default: false
Example: force=true

This flag determines whether the API deletes the data in BIG-IP Next Central Manager irrespective of whether the application was deleted from the instance.

local_delete
boolean
Default: false
Example: local_delete=true

This flag is used to delete only the data in BIG-IP Next Central Manager without attempting to delete the application from the instance.

Responses

Response samples

Content type
application/hal+json
"{ \"_links\": { \"self\": { \"href\": \"/declare/45231c07-5fe9-421d-87e8-fcfd73ac1158\" } }, \"id\": \"45231c07-5fe9-421d-87e8-fcfd73ac1158\", \"message\": \"The application service was successfully deleted\" }"

Return deployed applications

Returns a list of all deployed applications.

query Parameters
limit
integer >= 1
Examples:
  • limit=2 - Return up to 2 items per page

Limits the number of items to return per page.

page
integer >= 1
Examples:
  • page=2 - Return page number 2

The page number to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - Two column ascending sort
  • sort=-hostname - Single column descending sort
  • sort=address,-hostname - Mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending sorting order.

select
string
Examples:
  • select=name,state,status - selected column names

Provide the names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - Query by equality
  • filter=hostname starts with 'mbip' - Query by string
  • filter=port gte 80 - Query by numerical condition
  • filter=records/last_record/status eq 'completed'&expand=records - query by json array attributes
  • filter=records/total eq 2 - query by json
  • filter=completed eq true - query by boolean

Filter conditions for result queries. Query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve all applications

Retrieves a list of all applications.

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

page
integer
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort the result. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition
  • filter=records/last_record/status eq 'completed'&expand=records - query by json array attributes
  • filter=records/total eq 2 - query by json
  • filter=completed eq true - query by boolean

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    },
  • "count": 1,
  • "total": 1
}

Create an application

Creates an AS3 application using the FAST template.

Request Body schema: application/json
required
object (CreateApplicationRequest)

Responses

Request samples

Content type
application/json
{
  • "name": "App3",
  • "set_name": "Examples",
  • "template_name": "http",
  • "description": "TestApp",
  • "parameters": {
    }
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0
}

Retrieve single application

Retrieves a specific application.

path Parameters
appsvc-id
required
string <uuid>

The UUID of the application.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "created": "2023-08-17T11:14:57.824038+05:30",
  • "deployments": [
    ],
  • "deployments_count": {
    },
  • "id": "fc839c4e-533b-429e-9eb0-9ab8ad147835",
  • "name": "App3",
  • "parameters": {
    },
  • "set_name": "Examples",
  • "template_name": "http",
  • "tenant_name": "tenantqKTq90T7JQj90Bk3xzrWCc0A",
  • "type": "FAST"
}

Update FAST application

Updates an existing FAST Application with the supplied values. This API can be used to add new deployments to an application, edit and delete existing deployments as well as attach new objects to the application.

path Parameters
appsvc-id
required
string <uuid>

The UUID of the application.

query Parameters
retry_failed
boolean
Default: false
Example: retry_failed=true

This flag determines whether the API will retry the earlier failed deployments. The flag is false by default.

dry_run
boolean
Default: false
Example: dry_run=true

This flag determines whether the API will dry run the deployment.

Request Body schema: application/json
required
object (UpdateApplicationRequest)

Update Application Request Body.

Responses

Request samples

Content type
application/json
{
  • "description": "test_desc",
  • "parameters": {
    },
  • "delete_deployments": [
    ],
  • "new_deployments": [
    ],
  • "existing_deployments": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "deployments": [
    ],
  • "id": "da6a7197-c265-45af-a795-38e309f68078"
}

Delete the FAST application

Deletes FAST application by deleting all the deployments attached to that application. The application will only be deleted if all the deployments attached to it are successfully deleted first.

path Parameters
appsvc-id
required
string <uuid>

The UUID of the application.

query Parameters
force
boolean
Default: false
Example: force=true

This flag determines whether the API will delete the data in the CM irrespective of whether the application was un-deployed from the instance.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "deployments": [
    ],
  • "id": "5e33337f-836d-4d91-800f-0a26d6b2421f"
}

Create a FAST application deployment

Creates a FAST application deployment

path Parameters
appsvc-id
required
string

ID of the application.

query Parameters
dry_run
boolean
Default: false
Example: dry_run=true

This flag determines whether the API will dry run the deployment.

Request Body schema: application/json
required
Array of objects (ApplicationDeploymentRequest)
generic_hosts
any (object)

Optional object to receive the generic hosts details for the deployment.

Responses

Request samples

Content type
application/json
{
  • "deployments": [
    ],
  • "generic_hosts": null
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "deployments": [
    ],
  • "id": "5e33337f-836d-4d91-800f-0a26d6b2421f"
}

Return single FAST application deployment records

Returns specific FAST application deployment records.

path Parameters
appsvc-id
required
string

ID of the application.

deployment-id
required
string

ID

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "application_id": "7f3feee7-da7a-46f8-bc8a-69988b1749f3",
  • "application_name": "multi-cert-app",
  • "description": "Fast application with multiple ports and certificates",
  • "dry_run": false,
  • "id": "9d0b8eeb-95b2-4f09-b5d8-601cf53d9f06",
  • "instance_id": "9baa8a9f-cde3-411b-bca0-c26ecef1bed0",
  • "last_successful_deploy_time": "2023-07-27T10:26:27.042858+05:30",
  • "modified": "2023-07-27T10:26:27.042858+05:30",
  • "parameters": {
    },
  • "records": [
    ],
  • "records_count": {
    },
  • "set_name": "Examples",
  • "template_name": "http",
  • "tenant_name": "Tenant1",
  • "type": "FAST"
}

Deletes the specified deployment

Deletes a specified deployment of a FAST application.

path Parameters
appsvc-id
required
string

ID of the application.

deployment-id
required
string

ID

query Parameters
force
boolean
Default: false
Example: force=true

This flag determines whether the API will delete the data in the CM irrespective of whether the application was un-deployed from the instance.

local_delete
boolean
Default: false
Example: local_delete=true

This flag will be used to delete only the data in the CM without attempting to un-deploy the application in the instance.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "deployments": [
    ],
  • "id": "5e33337f-836d-4d91-800f-0a26d6b2421f"
}

Deletes the deployments of multiple FAST applications to an instance

Deletes the deployments of multiple FAST applications to an instance.

path Parameters
id
required
string

ID of the instance.

query Parameters
force
boolean
Default: false
Example: force=true

This flag determines whether the API will delete the data in the CM irrespective of whether the application was un-deployed from the instance.

local_delete
boolean
Default: false
Example: local_delete=true

This flag will be used to delete only the data in the CM without attempting to un-deploy the application in the instance.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "deployments": [
    ],
  • "id": "5e33337f-836d-4d91-800f-0a26d6b2421f"
}

Application Templates

Application Templates APIs may operate on application template resources of the F5® BIG-IP® Next Central Manager.

Create a FAST template

Creates a new FAST template.

Request Body schema: application/json
required
name
required
string (Template name) non-empty ^[a-zA-Z0-9_-]+$
set_name
required
string (Template set name) non-empty ^[a-zA-Z0-9_-]+$
description
string (Template description)
body
required
string (Template body) non-empty
published
boolean
Default: false

The value true indicates that the template has been published, and this means the template is in use by an application or that it cannot be modified. When the template is published (value set to true), the template cannot be updated, deleted or moved from one template-set to another.

file_type
required
string
Enum: "YAML" "MST" "JSON"

Responses

Request samples

Content type
application/json
{
  • "name": "example-AS3-template",
  • "set_name": "as3",
  • "description": "optional template description",
  • "body": "template: |\n {\n \"class\": \"AS3\",\n \"action\": \"deploy\",\n \"persist\": true,\n \"declaration\": {\n \"class\": \"ADC\",\n \"schemaVersion\": \"3.0.0\",\n \"{{tenant_name}}\": {\n \"class\": \"Tenant\",\n \"{{application_name}}\": {\n \"class\": \"Application\",\n \"template\": \"http\",\n \"serviceMain\": {\n \"class\": \"Service_HTTP\",\n \"virtualPort\": {{virtual_port::integer}},\n \"virtualAddresses\": [\"{{virtual_address}}\"],\n \"pool\": \"{{application_name}}_web_pool\"\n },\n \"{{application_name}}_web_pool\": {\n \"class\": \"Pool\",\n \"monitors\": [\n \"http\"\n ],\n \"members\": [\n {\n \"servicePort\": {{service_port::integer}},\n \"serverAddresses\": {{server_addresses::array}}\n }\n ]\n }\n }\n }\n }\n }",
  • "file_type": "JSON"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/template-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Retrieve all TemplateSetName and TemplateName pairs

Retrieves a list of all the TemplateSetName and TemplateName pairs.

Responses

Response samples

Content type
application/json
[
  • "example/httpTemplate",
  • "example/httpsTemplate"
]

Retrieve a list of the template sets

Retrieves a list of the template sets, each containing a list of templates in that set.

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

page
integer
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a list of all the templates

Retrieves a list of all of the templates.

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

page
integer
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort the result. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition
  • filter=records/last_record/status eq 'completed'&expand=records - query by json array attributes
  • filter=records/total eq 2 - query by json
  • filter=completed eq true - query by boolean

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve a template

Retrieves the specified template.

path Parameters
set_name
required
string

Name of template set.

name
required
string

Name of the template.

Responses

Response samples

Content type
application/json
{
  • "id": "53b12b55-1ed4-4321-9196-388949623db8",
  • "name": "httpTemplate",
  • "set_name": "exampleTemplates",
  • "description": "http template example",
  • "body": "<full template here>",
  • "published": true,
  • "last_updated": "2022-01-31T15:18:46.098462-08:00",
  • "file_type": "MST"
}

Delete a FAST template

Deletes an unpublished FAST template from BIG-IP Next Central Manager.

path Parameters
set_name
required
string

Name of template set.

name
required
string

Name of the template.

Responses

Response samples

Content type
application/json
{
  • "status": 401,
  • "message": "Incorrect credentials"
}

Replace FAST template

Replaces the entire FAST template object. Payload must contain all the required properties. The PUT operation enables updates to the name, set_name, file_type, description, published and body properties of the template.

path Parameters
set_name
required
string

Name of template set.

name
required
string

Name of the template.

Request Body schema: application/json
required
name
required
string (Template name) non-empty ^[a-zA-Z0-9_-]+$
set_name
required
string (Template set name) non-empty ^[a-zA-Z0-9_-]+$
description
string (Template description)
body
required
string (Template body) non-empty
published
boolean
Default: false

The value true indicates that the template has been published, and this means the template is in use by an application or that it cannot be modified. When the template is published (value set to true), the template cannot be updated, deleted or moved from one template-set to another.

file_type
required
string
Enum: "YAML" "MST" "JSON"

Responses

Request samples

Content type
application/json
{
  • "name": "example-AS3-template",
  • "set_name": "as3",
  • "description": "optional template description",
  • "body": "template: |\n {\n \"class\": \"AS3\",\n \"action\": \"deploy\",\n \"persist\": true,\n \"declaration\": {\n \"class\": \"ADC\",\n \"schemaVersion\": \"3.0.0\",\n \"{{tenant_name}}\": {\n \"class\": \"Tenant\",\n \"{{application_name}}\": {\n \"class\": \"Application\",\n \"template\": \"http\",\n \"serviceMain\": {\n \"class\": \"Service_HTTP\",\n \"virtualPort\": {{virtual_port::integer}},\n \"virtualAddresses\": [\"{{virtual_address}}\"],\n \"pool\": \"{{application_name}}_web_pool\"\n },\n \"{{application_name}}_web_pool\": {\n \"class\": \"Pool\",\n \"monitors\": [\n \"http\"\n ],\n \"members\": [\n {\n \"servicePort\": {{service_port::integer}},\n \"serverAddresses\": {{server_addresses::array}}\n }\n ]\n }\n }\n }\n }\n }",
  • "file_type": "JSON"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/template-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Update a FAST template's name and status

Partially updates the FAST template object. The PATCH operation enables updates to only the name, set_name, description, and published properties of the template.

path Parameters
set_name
required
string

Name of template set.

name
required
string

Name of the template.

Request Body schema: application/json
required
name
string (Template name) non-empty ^[a-zA-Z0-9_-]+$
set_name
string (Template set name) non-empty ^[a-zA-Z0-9_-]+$
description
string (Description of template)
published
boolean
Default: false

The value true indicates that the template has been published, and this means the template is in use by an application or that it cannot be modified. When the template is published (value set to true), the template cannot be updated, deleted or moved from one template-set to another.

Responses

Request samples

Content type
application/json
{
  • "name": "simple-https",
  • "set_name": "FAST",
  • "description": "A simple https application"
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "error message"
}

Retrieve all template set names

Retrieves all template sets.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "templatesets": [
    ]
}

Global Resiliency Group

Global Resiliency Group APIs may operate on DNS resources of the F5® BIG-IP® Next Central Manager.

Create Global Resiliency Group (GR group)

Creates a Global Resiliency Group (GR group)

Request Body schema: application/json
required
name
required
string

Name of the Global Resiliency group.

dns_listener_name
required
string

Name of the DNS listener

dns_listener_port
required
integer

port on which the DNS instance is listening for DNS requests.

protocols
required
Array of strings non-empty
Items Enum: "tcp" "udp"

Protocols that are supported

required
Array of objects non-empty

instances that are going to be part of the Global Resiliency group

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "dns_listener_name": "string",
  • "dns_listener_port": 0,
  • "protocols": [
    ],
  • "instances": [
    ]
}

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "path": "/v1/gslb/gr-groups/4f8cbe8e-6a9b-4a43-a9b7-cf8f7a7b63f9"
}

Retrieve list of Global Resiliency Groups

Retrieves a list of all Global Resiliency Groups.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=name - single column ascending sort
  • sort=-health - single column descending sort
  • sort=name,-status - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,health,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'DRAFT' - query by equality
  • filter=name startswith 'dns' - query by string
  • filter=dns_listener_port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    },
  • "count": 0,
  • "total": 0
}

Retrieve Global Resiliency Group details

Retrieves a specific Global Resiliency Group details.

path Parameters
id
required
string <uuid>

The UUID of a Global Resiliency Group.

query Parameters
select
string
Examples:
  • select=name,health,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "status": "string",
  • "dns_listener_name": "string",
  • "dns_listener_port": 0,
  • "instance_count": 0,
  • "error_message": "string",
  • "health": "string",
  • "fqdn_count": {
    },
  • "instances": {
    }
}

Delete a Global Resiliency Group

Deletes a Global Resiliency Group.

path Parameters
id
required
string <uuid>

The UUID of a Global Resiliency Group.

Responses

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "path": "/v1/gslb/gr-groups/4f8cbe8e-6a9b-4a43-a9b7-cf8f7a7b63f9"
}

Retrieve list of FQDNs deployed on Global Resiliency Group

Retrieves a list of Fully Qualified Domain Names (FQDNs) deployed on a specific Global Resiliency Group.

path Parameters
id
required
string <uuid>

The UUID of a Global Resiliency Group.

query Parameters
select
string
Examples:
  • select=name,health,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
{
  • "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
  • "group_name": "string",
  • "fqdn_count": 0,
  • "fqdns": {
    }
}

File

File APIs may operate on files management resources of the F5® BIG-IP® Next Central Manager.

Retrieve metadata of a file

Retrieves the metadata of a specific file.

path Parameters
id
required
string <uuid>

UUID of file

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "file_name": "abc.txt",
  • "file_size": 12,
  • "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  • "id": "2f08aea1-6c03-439b-a448-0f33a35d294e",
  • "updated": "2021-04-02T23:30:36.594263Z"
}

Update file metadata

Updates a file's metadata. Note that only the file_name and description can be updated.

path Parameters
id
required
string <uuid>

UUID of file

Request Body schema: multipart/form-data
required
file_name
string
description
string

Responses

Request samples

Content type
multipart/form-data
{
  "file_name": "abc.txt",
  "description": "very important file, do not delete"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "file_name": "abc.txt",
  • "file_size": 12,
  • "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  • "id": "2f08aea1-6c03-439b-a448-0f33a35d294e",
  • "updated": "2021-04-02T23:30:36.594263Z"
}

Retrieve file content

Retrieves the content of a file.

path Parameters
id
required
string <uuid>

UUID of file

Responses

Response samples

Content type
application/octet-stream
This is a sample of file content.

Delete file

Deletes a specified file.

path Parameters
id
required
string <uuid>

UUID of file

Responses

Response samples

Content type
application/json
{
  • "status": 403,
  • "message": "user not authorized"
}

Upload a file

Uploads a specified file to the system.

Request Body schema: multipart/form-data
id
string <uuid>
file_name
required
string
file_type
string
hash
string
description
string
updated
string <date-time>
content
string <binary>

Responses

Request samples

Content type
multipart/form-data
{
  "file_name": "abc.txt",
  "content": "/tmp/abc.txt"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "filename": "abc.txt",
  • "id": "2f08aea1-6c03-439b-a448-0f33a35d294e",
  • "message": "File uploaded!"
}

Retrieve metadata of all files

Retrieves a list of metadata for all files.

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

page
integer
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=task_type,status - two column ascending sort
  • sort=-task_type - single column descending sort
  • sort=task_type,-status - mixed ascending/descending sort

The column names used to sort the result. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=username startswith 'admin' - query by string
  • filter=file_size gt 1024 - query by numerical condition

The conditions for querying the result.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

iHealth

iHealth APIs may operate on iHealth resources of the F5® BIG-IP® Next Central Manager.

Test iHealth connection

Only tests the iHealth server connection without storing iHealth token details.

Request Body schema: application/json
required
client_id
required
string

iHealth login client ID.

secret
string

iHealth login Client Secret.

Responses

Request samples

Content type
application/json
{
  • "client_id": "string",
  • "secret": "string"
}

Response samples

Content type
application/hal+json
{
  • "expires": 0
}

Authenticate iHealth

Authenticates the iHealth server using client ID and secret and stores and overwrites iHealth token details.

Request Body schema: application/json
required
client_id
required
string

iHealth login client ID.

secret
string

iHealth login Client Secret.

Responses

Request samples

Content type
application/json
{
  • "client_id": "string",
  • "secret": "string"
}

Response samples

Content type
application/hal+json
{
  • "expires": 0
}

Add iHealth configuration

Stores iHealth credentials in BIG-IP Next Central Manager.

Request Body schema: application/json
required
client_id
required
string

iHealth Client ID.

secret
required
string

iHealth Client Secret.

expiry_date
string <date>

iHealth credentials expiry date

Responses

Request samples

Content type
application/json
{
  • "client_id": "tes-client-id",
  • "secret": "test-secret",
  • "expiry_date": "2023-11-27"
}

Response samples

Content type
application/hal+json
{
  • "id": "404b7e5e-42e7-4bd8-acb0-a6b57c013b9f",
  • "message": "QKView task have been successfully done",
  • "status": 0
}

Retrieve iHealth configurations

Retrieves all iHealth configurations.

Responses

Response samples

Content type
application/hal+json
{
  • "clients": [
    ],
  • "total": 0
}

Update iHealth Configuration

Updates iHealth credentials in BIG-IP Next Central Manager.

path Parameters
key
required
string

iHealth login Client ID

Request Body schema: application/json
required
secret
required
string

iHealth Client Secret.

expiry_date
string <date>

iHealth credentials expiry date

Responses

Request samples

Content type
application/json
{
  • "secret": "string",
  • "expiry_date": "2019-08-24"
}

Response samples

Content type
application/hal+json
{
  • "id": "404b7e5e-42e7-4bd8-acb0-a6b57c013b9f",
  • "message": "QKView task have been successfully done",
  • "status": 0
}

Delete iHealth configuration

Deletes iHealth configuration in BIG-IP Next Central Manager.

path Parameters
key
required
string

iHealth login Client ID

Responses

Response samples

Content type
application/hal+json
{
  • "id": "404b7e5e-42e7-4bd8-acb0-a6b57c013b9f",
  • "message": "QKView task have been successfully done",
  • "status": 0
}

Instance

Instance APIs may operate on instance management resources of the F5® BIG-IP® Next Central Manager.

Proxy a file upload

Proxy a file upload request for a BIG-IP Next instance.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Request Body schema: multipart/form-data
required
fileName
required
string
name
required
string
description
string
passphrase
string

Responses

Request samples

Content type
multipart/form-data
{
  "fileName": "/Users/bob/tmp/upload/secure-encrypted.key;type=application/pkcs8",
  "name": "mysecure.p8",
  "passphrase": "1234"
}

Response samples

Content type
application/json
{
  • "id": "5f76bac6-716d-4ab5-9e4f-71e55bf2b742",
  • "verb": "POST",
  • "uri": "/files",
  • "request": "{\"id\":\"69c02263-6d69-46f7-bed9-5757a77fa40c\",\"name\":\"Sample file\",\"filename\":\"ThisIsAFile.txt\",\"description\":\"This is an example for file upload\",\"uri\":\"file://opt/f5/mbip/subsystem/csm/shared/persisted/files/69c02263-6d69-46f7-bed9-5757a77fa40c-6822e2fd-abee-4fe8-a499-2e9ad7250a50\",\"hash\":\"7509e5bda0c762d2bac7f90d758b5b2263fa01ccbc542ab5e3df163be08e6ca9\",\"size\":12,\"type\":\"GENERIC\"}",
  • "role": "AGENTCONFIG",
  • "status": "PENDING",
  • "message": "",
  • "creationTime": "2021-04-06T17:25:08.919313Z",
  • "updateTime": "2021-04-06T17:25:08.919313Z",
  • "owner": "admin",
  • "authn": "local",
  • "authz": "global"
}

Verifies reachability and authentication of a BIG-IP Next instance

Verifies that you can use the provided username and password to reach and then authenticate with a BIG-IP Next instance.

Request Body schema: application/json
required
address
required
string
port
required
integer <int> [ 1 .. 65535 ]
username
required
string non-empty
password
required
string <password> non-empty

Responses

Request samples

Content type
application/json
{
  • "address": "10.145.10.1",
  • "port": 5443,
  • "username": "admin",
  • "password": "admin@123!"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

Get instance BIG-IP Next license details with basic auth

Get license details for a BIG-IP Next instance using basic auth.

Request Body schema: application/json
required
address
required
string
port
required
integer <int> [ 1 .. 65535 ]
username
required
string non-empty
password
required
string <password> non-empty

Responses

Request samples

Content type
application/json
{
  • "address": "string",
  • "port": 1,
  • "username": "string",
  • "password": "pa$$word"
}

Response samples

Content type
application/hal+json
{
  • "isActivated": true,
  • "isActiveUntil": "2006-01-02T15:04:05Z07:00"
}

Discover and bring a BIG-IP Next instance under management

Requests a task to add (discover) a BIG-IP Next instance to BIG-IP Next Central Manager for management.

Request Body schema: application/json
required
address
required
string
port
required
integer <int32> [ 1 .. 65535 ]
device_user
required
string
device_password
required
string <password>
device_group
string
management_user
required
string non-empty
management_password
required
string <password> non-empty

Responses

Request samples

Content type
application/json
{
  • "address": "10.145.10.1",
  • "port": 5443,
  • "device_user": "admin",
  • "device_password": "admin",
  • "management_user": "sample_mgmt_admin",
  • "management_password": "admin"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Retrieve all managed BIG-IP Next instances

Retrieves a list of all managed BIG-IP Next instances.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

healthcheck
boolean
Examples:
  • healthcheck=true - enable health check requests

Special parameter to request a health check for a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
Example
{
  • "_embedded": {
    },
  • "_links": {
    },
  • "count": 2,
  • "total": 2
}

Retrieve a managed BIG-IP Next instance

Retrieves a specific managed BIG-IP Next instance.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
{
  • "address": "string",
  • "hostname": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "port": 0,
  • "version": "string",
  • "certificate_validity": true,
  • "certificate_validation_error": "string",
  • "certificate_validated": "2019-08-24T14:15:22Z",
  • "mode": "STANDALONE",
  • "platform_type": "string",
  • "status": "HEALTHY"
}

Remove a BIG-IP Next instance

Deletes a a BIG-IP Next instance from BIG-IP Next Central Manager.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Request Body schema: application/json
required
save_backup
boolean

Responses

Request samples

Content type
application/json
{
  • "save_backup": "true"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Retrieve health of a BIG-IP Next instance

Retrieves the health of a BIG-IP Next HA or standalone instance.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "HEALTHY",
  • "mode": "STANDALONE",
  • "nodes": [
    ],
  • "node_count": 0
}

Return an onboarding manifest on a BIG-IP Next Instance

Requests the onboarding manifest on a BIG-IP Next Instance

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "mode": "STANDALONE",
  • "platformType": "VE",
  • "siteInfo": {
    },
  • "defaultCredentials": {
    },
  • "nodes": [
    ],
  • "vlans": [
    ],
  • "l1Networks": [
    ],
  • "cluster": {
    },
  • "users": {
    },
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d",
  • "_links": {
    }
}

Provision BIG-IP Next modules

Requests a task to provision BIG-IP Next modules.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Request Body schema: application/json
required
object (LTMModuleProvision)
object (WAFModuleProvision)
object (AccessModuleProvision)
object (DNSModuleProvision)

Responses

Request samples

Content type
application/json
{
  • "ltm": {
    },
  • "waf": {
    },
  • "access": {
    },
  • "dns": {
    }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/module-provision-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Validate instance certificate

Validates the certificate of a BIG-IP Next instance with a TLS handshake.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "address": "10.145.10.1",
  • "certificate_validated": "2021-05-04T01:05:43.1025576Z",
  • "certificate_validity": true,
  • "hostname": "mbip94.sample.com",
  • "id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "port": 5443
}

Upgrade an a BIG-IP Next instance

Requests an upgrade for a BIG-IP Next instance.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Request Body schema: application/json
required
image_name
required
string
upgrade_type
required
string
signature_name
required
string

Responses

Request samples

Content type
application/json
{
  • "partition_address": "10.144.191.22",
  • "partition_port": 8888,
  • "partition_user": "admin",
  • "partition_password": "site02!",
  • "image_name": "f5-mov-tarball-v1.10.2",
  • "tenant_name": "mbip-on-velos"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Create a BIG-IP Next HA instance from two standalone BIG-IP Next instances

Requests a task to create a BIG-IP Next HA instance from two managed standalone BIG-IP Next instances.

path Parameters
id
required
string <uuid>

The UUID of an active BIG-IP Next instance.

Request Body schema: application/json
required
auto_failback
boolean (Auto Failback)
Default: false

Automatically restore operations to the original active node if it is available, or when it becomes available if it is not.

cluster_management_ip
required
string (Cluster Management IP)

The cluster IP address on management network.

cluster_name
string <= 192 characters

Name of the BIG-IP Next HA instance.

required
object (HA VLAN)

The VLAN used for high availability.

required
object (HA VLAN)

The VLAN used for high availability.

required
Array of objects (HAInstanceCreateRequestForNode) = 2 items

The first item is the configuration for the active node in a BIG-IP Next HA instance. Subsequent items are for other nodes.

standby_instance_id
required
string <uuid>

The UUID of a managed standalone BIG-IP Next instance selected to become the standby node in a BIG-IP Next HA instance.

Array of objects (TrafficVlanRequest)

Responses

Request samples

Content type
application/json
{
  • "auto_failback": false,
  • "cluster_management_ip": "10.192.1.1",
  • "cluster_name": "string",
  • "control_plane_vlan": {
    },
  • "data_plane_vlan": {
    },
  • "nodes": [
    ],
  • "standby_instance_id": "88f2ef19-01ca-49fd-ab76-e55630f65284",
  • "traffic_vlan": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/ha-creation-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Force failover

Requests a task to force failover from the primary to the standby node in a BIG-IP Next HA instance.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next HA instance.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/ha-failover-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Back up a BIG-IP Next instance

Requests a backup of a BIG-IP Next instance.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Request Body schema: application/json
required
file_name
string
file_path
string
encryption_password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "encryption_password": "Hello World!"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Schedule the back up of multiple BIG-IP Next instances

Schedules the back up of multiple BIG-IP Next instances.

Request Body schema: application/json
required
One of
name
required
string
description
required
string
encryption_password
required
string <password>
instance_ids
required
Array of strings <uuid> [ items <uuid > ]
schedule_type
required
string
required
object
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "name": "string",
  • "description": "string",
  • "encryption_password": "pa$$word",
  • "instance_ids": [
    ],
  • "schedule_type": "string",
  • "schedule": {
    },
  • "BasicWithInterval": {
    }
}

Response samples

Content type
application/hal+json
{
  • "message": "string",
  • "id": "string",
  • "path": "string",
  • "_links": {
    }
}

Update an instance backup schedule

Updates an instance backup schedule.

path Parameters
id
required
string <uuid>

The UUID of a schedule backup.

Request Body schema: application/json
required
One of
name
required
string
description
required
string
encryption_password
required
string <password>
instance_ids
required
Array of strings <uuid> [ items <uuid > ]
schedule_type
required
string
required
object
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "name": "string",
  • "description": "string",
  • "encryption_password": "pa$$word",
  • "instance_ids": [
    ],
  • "schedule_type": "string",
  • "schedule": {
    },
  • "BasicWithInterval": {
    }
}

Response samples

Content type
application/hal+json
{
  • "message": "00000000-0000-1000-8000-000000000000 failed: unknown instance ID",
  • "status": "completed",
  • "id": "c30cbb1e-899e-4c0e-8969-ace06c62ea82"
}

Delete an instance backup schedule

Requests to delete an instance backup schedule.

path Parameters
id
required
string <uuid>

The UUID of a schedule backup.

Responses

Response samples

Content type
application/json
Example

When a required field is not present on the request body

{
  • "message": "Request body has an error: failed to decode request body: part filename: undefined"
}

Retrieve information about a scheduled instance backup

Retrieves the information about a scheduled instance backup

path Parameters
id
required
string <uuid>

The UUID of a schedule backup.

Responses

Response samples

Content type
application/hal+json
{
  • "devices": {
    },
  • "schedule_frequency": "string",
  • "start_date": "2019-08-24T14:15:22Z",
  • "end_date": "2019-08-24T14:15:22Z",
  • "schedule_id": "8929bb67-0da1-406c-99d2-5447376a4f58",
  • "_links": {
    }
}

Restore a BIG-IP Next instance

Restores a BIG-IP Next instance.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Request Body schema: application/json
required
file_name
required
string
encryption_password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "file_name": "8035818e-f647-4eac-af19-d3c13b8963cd.2022-10-06.22-37-36.backup.tar.gz",
  • "encryption_password": "Hello World!"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Retrieve BIG-IP Next instance instantiation tasks

Retrieves a list of instantiation tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve a BIG-IP Next instance instantiation task

Retrieves a specific instantiation task for a vm creation in third party cloud.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance instantiation task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "completed": "2021-04-02T23:11:19.08911Z",
  • "created": "2021-04-02T23:11:18.051859Z",
  • "failure_reason": "",
  • "id": "918425aa-580b-42f5-9893-9292c6622c8b",
  • "state": "init",
  • "status": "completed",
  • "task_payload": {
    }
}

Retrieve nodes

Retrieves a list of all nodes

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve a node

Retrieves a specified node

path Parameters
id
required
string <uuid>

The UUID of a node.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "86b3edfa-9b70-4b5b-b105-63ef5ba3d7fb",
  • "manifest_id": "f3596c91-1a5d-4701-b128-33b49c35d808",
  • "status": "ONBOARDED",
  • "provider_type": "vsphere",
  • "provider_id": "f281f7fc-ab0a-45e9-a750-7b5833f79c95",
  • "vm_id": "4f004523eebf",
  • "payload": { },
  • "management_address": "192.168.52.29",
  • "management_port": 8443,
  • "role": "ACTIVE",
  • "_links": {
    }
}

Retrieve all upgrade instance tasks

Retrieves a list of all upgrade instance tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve all BIG-IP Next instance discovery tasks

Retrieves a list of discovery tasks for all managed BIG-IP Next instances.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve a BIG-IP Next instance discovery task

Retrieves a specific discovery task for a BIG-IP Next instance.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance discovery task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "address": "10.145.10.1",
  • "completed": "2021-04-02T23:11:19.08911Z",
  • "created": "2021-04-02T23:11:18.051859Z",
  • "device_group": "default",
  • "device_user": "admin",
  • "discovered_device_id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "discovered_device_path": "/api/v1/spaces/default/instances/c9796e86-21f7-4182-be1c-c737ed430242",
  • "failure_reason": "",
  • "id": "918425aa-580b-42f5-9893-9292c6622c8b",
  • "port": 5443,
  • "state": "addingDeviceToGroup",
  • "status": "completed"
}

Update BIG-IP Next instance discovery task

Updates a specific BIG-IP Next instance discovery task. As of now, we only accept whether to accept or reject untrusted certificate.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance discovery task.

Request Body schema: application/json
required
id
string <uuid>
address
string
port
integer <int32>
device_user
string
device_password
string <password>
device_group
string
state
string
status
string
failure_reason
string
created
string <date-time>
completed
string <date-time>
discovered_device_id
string
discovered_device_path
string
fingerprint
string
is_user_accepted_untrusted_cert
boolean

Responses

Request samples

Content type
application/json
{
  • "is_user_accepted_untrusted_cert": true
}

Response samples

Content type
application/json
Example

When a required field is not present on the request body

{
  • "message": "Request body has an error: failed to decode request body: part filename: undefined"
}

Retrieve all BIG-IP Next HA instance creation tasks

Retrieves a list of all BIG-IP Next HA instance creation tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve a BIG-IP Next HA instance creation task

Retrieves a specific BIG-IP Next HA instance creation task.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next HA instance creation task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "task_type": "string",
  • "name": "string",
  • "state": "string",
  • "status": "string",
  • "failure_reason": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "updated": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "auto_failback": true,
  • "cluster_name": "string",
  • "cluster_management_ip": "string",
  • "control_plane_vlan": {
    },
  • "data_plane_vlan": {
    },
  • "nodes": [
    ],
  • "active_instance_id": "5d3c1092-372f-486d-a3c5-efebfa7aa16f",
  • "standby_instance_id": "88f2ef19-01ca-49fd-ab76-e55630f65284",
  • "traffic_vlan": [
    ],
  • "_links": {
    }
}

Retrieve all BIG-IP Next HA instance failover tasks

Retrieves a list of all BIG-IP Next HA instance failover tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve BIG-IP Next HA instance failover task

Retrieves a specific BIG-IP Next HA instance failover task.

path Parameters
id
required
string <uuid>

The UUID of BIG-IP Next HA instance failover task

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "task_type": "string",
  • "name": "string",
  • "state": "string",
  • "status": "string",
  • "failure_reason": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "updated": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
  • "_links": {
    }
}

Retrieve all BIG-IP Next instance deletion tasks

Retrieves a list of BIG-IP Next instance deletion tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve a BIG-IP Next instance deletion task

Retrieves a specific BIG-IP Next instance deletion task.

path Parameters
id
required
string <uuid>

UUID of task

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "address": "10.145.66.196",
  • "completed": "2021-04-07T17:48:45.630172Z",
  • "created": "2021-04-07T17:48:45.113981Z",
  • "device_id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "failure_reason": "",
  • "id": "e8dd5c25-3357-4a05-825d-b183f6999b3e",
  • "state": "deletingDevice",
  • "status": "completed"
}

Retrieve all BIG-IP Next instance backup tasks

Retrieves a list of BIG-IP Next instance backup tasks.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve a BIG-IP Next instance backup task

Retrieves a specific BIG-IP Next instance backup task.

path Parameters
id
required
string <uuid>

The UUID of an instance backup task.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "918425aa-580b-42f5-9893-9292c6622c8b",
  • "instance_id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "instance_name": "us-west-sea-bigip-2a",
  • "file_name": "c9796e86-21f7-4182-be1c-c737ed430242.2021-04-02.23-11-19.backup",
  • "file_path": "storage/backups",
  • "created": "2021-04-02T23:11:18.051859Z",
  • "completed": "2021-04-02T23:12:18.051859Z",
  • "failure_reason": "",
  • "state": "backupDone",
  • "status": "completed"
}

Retrieve BIG-IP Next module provision tasks

Retrieves a list of all BIG-IP Next HA module provision tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve BIG-IP Next module provision task

Retrieves a specific BIG-IP Next module provision task.

path Parameters
id
required
string <uuid>

UUID of task

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "a8dd5c25-1357-4b05-825d-b183f6999b3e",
  • "instance_id": "d9796e86-31f7-4282-be1c-c737ed430242",
  • "completed": "2023-08-04T17:48:45.630172Z",
  • "created": "2023-08-04T17:48:45.113981Z",
  • "failure_reason": "",
  • "state": "moduleProvisionDone",
  • "status": "completed"
}

Create a new instance group

Creates a new instance group.

Request Body schema: application/json
required
id
string <uuid>
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "test-group"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "e92346e4-1b66-4ba6-ab18-5b0a3e113a3d",
  • "name": "test-group"
}

Retrieve all instance groups

Retrieves a list of all instance groups.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve an instance group

Retrieves a specific instance group.

path Parameters
id
required
string <uuid>

The UUID of an instance group.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "e92346e4-1b66-4ba6-ab18-5b0a3e113a3d",
  • "name": "test-group"
}

Update an instance group

Updates a specific instance group.

path Parameters
id
required
string <uuid>

The UUID of an instance group.

Request Body schema: application/json
required
id
string <uuid>
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "renamed-group"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "e92346e4-1b66-4ba6-ab18-5b0a3e113a3d",
  • "name": "renamed-group"
}

Remove an instance group

Removes an instance group.

path Parameters
id
required
string <uuid>

The UUID of an instance group.

Responses

Response samples

Content type
application/json
Example

When a required field is not present on the request body

{
  • "message": "Request body has an error: failed to decode request body: part filename: undefined"
}

Add an instance to instance group

Adds an instance to an instance group.

path Parameters
id
required
string <uuid>

The UUID of an instance group.

Request Body schema: application/json
required
hostname
string
id
required
string <uuid>
port
integer <int32>
version
string
certificate_validity
boolean
certificate_validation_error
string
certificate_validated
string <date-time>
mode
string
Enum: "STANDALONE" "HA"
platform_type
string <= 16 characters

Specifies the platform of this BIG-IP Next instance.

status
string
Enum: "HEALTHY" "UNHEALTHY" "UNKNOWN"

Responses

Request samples

Content type
application/json
{
  • "id": "c30cbb1e-899e-4c0e-8969-ace06c62ea82"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "c30cbb1e-899e-4c0e-8969-ace06c62ea82"
}

Retrieve all instances in instance group

Lists all instances in an instance group.

path Parameters
id
required
string <uuid>

The UUID of an instance group.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve an instance of an instance group

Retrieves a specific BIG-IP Next instance in an instance group.

path Parameters
groupID
required
string <uuid>

The UUID of an instance group.

instanceID
required
string <uuid>

The UUID of a BIG-IP Next instance.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "address": "10.145.10.1",
  • "id": "c30cbb1e-899e-4c0e-8969-ace06c62ea82",
  • "port": 5443
}

Remove an instance from instance group

Removes a BIG-IP Next instance from an instance group.

path Parameters
groupID
required
string <uuid>

The UUID of an instance group.

instanceID
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/json
{
  • "status": 403,
  • "message": "user not authorized"
}

Back up multiple BIG-IP Next instances

Requests a backup be performed on multiple BIG-IP Next instances.

Request Body schema: application/json
required
encryption_password
required
string <password>
instance_ids
required
Array of strings <uuid> [ items <uuid > ]

Responses

Request samples

Content type
application/json
{
  • "encryption_password": "HelloPassword!",
  • "instance_ids": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "created": "2021-04-02T23:11:18.051859Z",
  • "failure_reason": "00000000-0000-1000-8000-000000000000 failed: unknown instance ID",
  • "status": "completed",
  • "tasks": [
    ]
}

Retrieve backup file information for all BIG-IP Next instances

Retrieves a list of backup files for managed BIG-IP Next instances.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve backup information for a managed BIG-IP Next instance

Retrieves the specified backup file for a managed BIG-IP Next instance.

path Parameters
file_name
required
string

The name of a BIG-IP Next instance backup file.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "instance_id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "instance_name": "us-west-sea-bigip-2a",
  • "file_name": "c9796e86-21f7-4182-be1c-c737ed430242.2021-04-02.23-05-03.backup",
  • "file_size": "5368709120",
  • "file_date": "2021-04-02T23:05:03.395725Z"
}

Delete a backup file

Deletes a backup file specified by name.

path Parameters
file_name
required
string

The name of a BIG-IP Next instance backup file.

Responses

Response samples

Content type
application/json
Example

When a required field is not present on the request body

{
  • "message": "Request body has an error: failed to decode request body: part filename: undefined"
}

Retrieve all BIG-IP Next instance restore tasks

Retrieves a list of BIG-IP Next instance restore tasks.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve a BIG-IP Next instance restore task

Retrieves a specific BIG-IP Next instance restore task.

path Parameters
id
required
string <uuid>

The UUID of an instance restore task.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "918425aa-580b-42f5-9893-9292c6622c8b",
  • "instance_id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "instance_name": "us-west-sea-bigip-2a",
  • "file_name": "c9796e86-21f7-4182-be1c-c737ed430242.2021-04-02.23-11-19.backup",
  • "created": "2021-04-02T23:11:18.051859Z",
  • "completed": "2021-04-02T23:12:18.051859Z",
  • "failure_reason": "",
  • "state": "TriggerRestore",
  • "status": "InProgress"
}

Returns all VLAN tag numbers for both nodes in a BIG-IP Next HA instance

Returns all VLAN tag numbers for both nodes in a BIG-IP Next HA instance. This endpoint is only for VELOS instances.

query Parameters
instanceId1
required
string <uuid>

Instance ID of a BIG-IP Next instance that is going to be the active instance for HA.

instanceId2
required
string <uuid>

Instance ID of a BIG-IP Next instance that is going to be the standby instance for HA.

Responses

Response samples

Content type
application/hal+json
{
  • "tags": [
    ],
  • "_links": {
    }
}

Retrieve all control planes

Retrieves all control planes for both BIG-IP Next instances.

query Parameters
active
required
string <uuid>

The UUID of a BIG-IP Next instance.

standby
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "vlans": [
    ],
  • "_links": {
    }
}

Retrieve all data plane VLANs

Retrieves all data plane VLANs for both BIG-IP Next instances.

query Parameters
active
required
string <uuid>

The UUID of a BIG-IP Next instance.

standby
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "vlans": [
    ],
  • "_links": {
    }
}

Compose an instantiation, onboarding and discovery workflow for a BIG-IP Next

Composes a workflow task which instantiates, onboards and discovers a BIG-IP Next. Depends on payload.

Request Body schema: application/json
required
template_name
required
string

Name of the template.

parameters
required
object

Parameter values for this template.

Responses

Request samples

Content type
application/json
{
  • "template_name": "string",
  • "parameters": { }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/instances/tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Retrieve BIG-IP Next instance creation configuration

Retrieves a specific BIG-IP Next instance creation configuration.

path Parameters
instance_id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
  • "template_name": "string",
  • "parameters": { },
  • "_links": {
    }
}

Update BIG-IP Next instance configuration

Updates a specific BIG-IP Next instance configuration.

path Parameters
instance_id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Request Body schema: application/json
required
template_name
required
string

Name of the template.

parameters
required
object

Parameter values for this template.

Responses

Request samples

Content type
application/json
{
  • "template_name": "string",
  • "parameters": { }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/instances/tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Update a BIG-IP HA Next instance

Updates a BIG-IP Next HA instance

path Parameters
instance_id
required
string <uuid>

The UUID of the BIG-IP HA Next instance.

Request Body schema: application/json
required
hostname
string

Hostame of the BIG-IP Next instance.

Array of objects (L1 Network)

Array of L1-Networks

Array of IPv4 Address (string) or IPv6 Address (string) (DNS Servers)
Default: []

An array of DNS servers.

Array of (IP Address (IPv4 Address (string) or IPv6 Address (string))) or Domain Name (string) (NTP Servers)
Default: []

Array of NTP servers (e.g., [0.ro.pool.ntp.org, 1.ro.pool.ntp.org]).

Responses

Request samples

Content type
application/json
{
  • "hostname": "string",
  • "l1Networks": [
    ],
  • "dnsServers": "[2001:db8:245:245::53, 192.0.2.53",
  • "ntpServers": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/instances/tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Retrieve BIG-IP Next instance creation tasks

Retrieves a list of all BIG-IP Next instance creation tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve a BIG-IP Next creation task

Retrieves a specific BIG-IP Next creation task.

path Parameters
id
required
string <uuid>

The UUID of an instance-creation task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "task_type": "string",
  • "name": "string",
  • "state": "string",
  • "status": "string",
  • "failure_reason": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "updated": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
  • "stage": "string",
  • "payload": { },
  • "_links": {
    }
}

Retrieve all VLANs used for traffic

Retrieves all VLANs used for traffic for a BIG-IP Next HA instance

path Parameters
instanceID
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "vlans": [
    ],
  • "_links": {
    }
}

Retrieve network interfaces

Retrieves the names of all network interfaces (except management interface) on a BIG-IP Next.

path Parameters
instanceID
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "interfaces": [
    ],
  • "_links": {
    }
}

Retrieve BIG-IP Next instance templates

Retrieves a list of all templates used for instantiation, onboarding, and discovery of BIG-IP Next instances.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve the BIG-IP Next instantiation, onboarding, and discovery template

Retrieves a specific template used for instantiation, onboarding, and discovery of BIG-IP Next instances.

path Parameters
name
required
string
Example: default-standalone-ve

The name of the BIG-IP Next instance template.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "7e6a9457-6949-4bcd-b051-4d36d3a31b45",
  • "name": "default-standalone-ve",
  • "description": "Default instance template for standalone BIG-IP Next instances running in a VE (3rd-party virtual environment).",
  • "mode": "STANDALONE",
  • "platformType": "VE",
  • "file_type": "YAML",
  • "body": "definitions:\n provider_type:\n type: string\n management_address:\n title: Management IP Address\n type: string\n # ...more template parameters...\ntemplate: |\n {\n \"instantiation\": {\n \"provider_type\": \"{{provider_type}}\",\n \"[...other fields\": \"in instantiation payload...]\"\n },\n \"onboarding\": {\n \"mode\": \"STANDALONE\",\n \"platform_type\": \"VE\",\n \"[...other fields\": \"in onboarding payload...]\"\n },\n \"discovery\": {\n \"management_address\": \"{{management_address}}\",\n \"[...other fields\": \"in discovery payload...]\"\n }",
  • "published": true,
  • "last_updated": "2021-04-02T23:11:18.051859Z"
}

Return the schema for the instantiation, onboarding, and discovery template

Requests the JSON schema describing the parameters in the named instantiation, onboarding, and discovery template. Primarily intended for use by the BIG-IP Next Central Manager GUI.

path Parameters
name
required
string
Example: default-standalone-ve

The name of the instantiation, onboarding, and discovery template.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "default-standalone-ve",
  • "schema": "{\n \"type\": \"object\",\n \"properties\": {\n \"management_address\": {\n \"type\": \"string\",\n \"title\": \"Management IP Address\",\n \"[...]\": \"[...]\"\n },\n \"provider_type\": {\n \"[...]\": \"[...]\"\n },\n \"[...]\": \"[...]\"\n },\n \"[...]\": \"[...]\"\n}"
}

Render the instantiation, onboarding, and discovery template

Applies the provided template parameter values to the instantiation, onboarding, and discovery template, and returns the rendered template body.

path Parameters
name
required
string
Example: default-standalone-ve

The name of the instantiation, onboarding, and discovery template.

Request Body schema: application/json
required
object (InstanceTemplateRenderRequest)

Values for any template parameters associated with a given template, to be used when rendering the template.

Responses

Request samples

Content type
application/json
{
  • "provider_type": "VSPHERE",
  • "management_address": "10.2.3.4",
  • "another_parameter": "example template parameters",
  • "ip_address_array_parameter": [
    ],
  • "object_parameter": {
    },
  • "boolean_parameter": true,
  • "numeric_parameter": 7
}

Response samples

Content type
application/hal+json
{
  • "name": "default-standalone-ve",
  • "result": "{\n \"instantiation\": {\n \"provider_type\": \"VSPHERE\",\n \"[...other fields\": \"in instantiation payload...]\"\n },\n \"onboarding\": {\n \"mode\": \"STANDALONE\",\n \"platform_type\": \"VE\",\n \"[...other fields\": \"in onboarding payload...]\"\n },\n \"discovery\": {\n \"management_address\": \"10.2.3.4\",\n \"[...other fields\": \"in discovery payload...]\"\n }"
}

Create a BIG-IP Next VM instance in RSERIES

Create a new VM with a BIG-IP Next image in the RSERIES environment.

Request Body schema: application/json
required
provider_type
string (Provider Type)

The type of the provider added to BIG-IP Next Central Manager.

provider_id
required
string <uuid> (Provider ID)

The ID of the provider added to BIG-IP Next Central Manager.

required
Array of objects (VELOS/RSERIES Next Instance Properties)

The instance properties of the BIG-IP Next VM that will be created

Responses

Request samples

Content type
application/json
{
  • "provider_id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "next_instances": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Create a BIG-IP Next VM instance in VELOS

Create a new VM with a BIG-IP Next image in the VELOS environment.

Request Body schema: application/json
required
provider_type
string (Provider Type)

The type of the provider added to BIG-IP Next Central Manager.

provider_id
required
string <uuid> (Provider ID)

The ID of the provider added to BIG-IP Next Central Manager.

required
Array of objects (VELOS/RSERIES Next Instance Properties)

The instance properties of the BIG-IP Next VM that will be created

Responses

Request samples

Content type
application/json
{
  • "provider_id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "next_instances": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Create a BIG-IP Next VM instance in Vsphere

Create a new VM with a BIG-IP Next image in the Vsphere environment.

Request Body schema: application/json
required
provider_type
string (Provider Type)

The type of the provider added to BIG-IP Next Central Manager.

provider_id
required
string <uuid> (Provider ID)

The ID of the provider added to BIG-IP Next Central Manager.

required
Array of objects (Vsphere Next Instance Properties)

The properties for the BIG-IP Next VM instance being created.

polling_delay
integer (BIG-IP Next ready wait time (minutes))
Default: 15

Wait time (in minutes) until the new BIG-IP Next instance is ready.

Responses

Request samples

Content type
application/json
{
  • "provider_id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "next_instances": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Deploy an onboarding manifest

Deploys an onboarding manifest. Saves the onboarding manifest and uses its configuration data to onboard a BIG-IP Next standalone instance or HA instance.

Request Body schema: application/json
required
mode
required
string (Instance creation mode)
Enum: "STANDALONE" "HA"

Configuration mode for BIG-IP Next instance: "STANDALONE", or "HA".

platformType
required
string (BIG-IP Next platform type)
Enum: "VE" "VELOS" "RSERIES"

Type of platform that BIG-IP Next instances are running upon: "VELOS", or "VE".

object (Site-level information)

Information that is generally common across multiple computers at a particular location.

object
required
Array of objects (Onboarded Instance) non-empty
Array of objects (VLANs)

Array of VLANs.

Array of objects (L1 Networks)

Array of L1 Networks.

object (Cluster)

Cluster properties.

Array of objects (Users)

Creates new user accounts. Important: Do not use these example names and passwords in your production environment.

id
string <uuid> (Onboarding manifest ID)

The UUID of this onboarding manifest, if it was saved previously as an onboarding draft.

templateId
string <uuid> (Onboarding template ID)

The UUID of the onboarding template that this onboarding manifest is based upon.

Responses

Request samples

Content type
application/json
{
  • "mode": "HA",
  • "platformType": "VE",
  • "siteInfo": {
    },
  • "defaultCredentials": {
    },
  • "nodes": [
    ],
  • "vlans": [
    ],
  • "cluster": {
    }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Build an onboarding manifest from a BIG-IP Next instance

Retrieve onboarding configuration from a BIG-IP Next standalone instance or HA instance, and save it as an onboarding manifest.

query Parameters
instance-id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Retrieve onboarding tasks

Retrieves a list of all BIG-IP Next Central Manager onboarding tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve a BIG-IP Next onboarding task

Retrieves a specific BIG-IP Next onboarding task.

path Parameters
id
required
string <uuid>

The UUID of an onboarding task.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "cb15f869-6b21-400e-9f25-3643eba8000b",
  • "manifest_id": "2c5a683d-69d5-43ee-b736-f95e3d40bcbd",
  • "message": "",
  • "created": "2021-04-02T23:11:18.051859Z",
  • "completed": "2021-04-02T23:12:18.051859Z",
  • "failure_reason": "",
  • "state": "onboardDone",
  • "status": "completed"
}

Create a log archive on a BIG-IP Next instance

Creates a log archive on a BIG-IP Next instance.

path Parameters
id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/api/v1/spaces/default/instances/discovery-tasks/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Retrieve BIG-IP Next instance log archive tasks

Retrieves a list of BIG-IP Next instance log archive tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve a BIG-IP Next instance log archive task

Retrieves a specific BIG-IP Next instance log archive task.

path Parameters
id
required
string <uuid>

The UUID of an instance log archive task.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "918425aa-580b-42f5-9893-9292c6622c8b",
  • "instance_id": "c9796e86-21f7-4182-be1c-c737ed430242",
  • "created": "2021-04-02T23:11:18.051859Z",
  • "completed": "2021-04-02T23:12:18.051859Z",
  • "failure_reason": "",
  • "state": "logArchiveCreated",
  • "status": "completed"
}

Retrieve managed BIG-IP Next instances

Retrieves a list of all managed BIG-IP Next instances and the associated tasks.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "_embedded": {
    },
  • "count": 0,
  • "total": 0
}

Retrieve a list of VLANs on a managed BIG-IP Next instance

Retrieves a list of VLANs on a managed BIG-IP Next instance.

path Parameters
instance_id
required
string <uuid>

The UUID of a BIG-IP Next instance.

query Parameters
vrf
string

The name of the VRF object

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    },
  • "count": 0,
  • "total": 0
}

Retrieve a list of L3-Forwards on a managed BIG-IP Next instance

Retrieves a list of L3-Forwards on a managed BIG-IP Next instance.

path Parameters
instance_id
required
string <uuid>

The UUID of a BIG-IP Next instance.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Create a L3-Forward on BIG-IP Next Central Manager and BIG-IP Next instance

Create a L3-Forward on BIG-IP Next Central Manager and BIG-IP Next instance.

path Parameters
instance_id
required
string <uuid>

The UUID of a BIG-IP Next instance.

Request Body schema: application/json
required
id
string <uuid> (ID)

L3 forward ID.

name
required
string (Name) [ 1 .. 255 ] characters

L3 forward name.

vlans
Array of strings (VLAN List) unique [ items <= 255 characters ]
Default: []

L2 network VLANs.

l3Network
string (L3 Network) <= 255 characters

A soft reference, by name, to an L3 Network object.

any (Config)

An L3 forward type config.

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "oliviasL3Forward",
  • "vlans": [
    ],
  • "l3Network": "oliviasL3Network",
  • "config": {
    }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/instances/04e35626-6b45-4b54-b1a1-5e182a1d3f0a/l3forwards/883d9a01-afc7-4e79-a0f8-60de34df77c7"
}

Retrieve L3-Forward object on a managed BIG-IP Next instance

Retrieves a L3-Forward object on a managed BIG-IP Next instance.

path Parameters
instance_id
required
string <uuid>

The UUID of a BIG-IP Next instance.

l3forwards_id
required
string <uuid>

The UUID of L3-Forward object on a BIG-IP Next instance.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
  • "cm_l3_network_id": "fb78d74c-3db4-4db3-9826-2de04bf4764b",
  • "vlans": [
    ],
  • "payload": {
    },
  • "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
  • "reference_count": 0
}

Update a L3-Forward on BIG-IP Next Central Manager and BIG-IP Next instance

Update a L3-Forward on BIG-IP Next Central Manager and BIG-IP Next instance

path Parameters
instance_id
required
string <uuid>

The UUID of a BIG-IP Next instance.

l3forwards_id
required
string <uuid>

The UUID of L3-Forward object on a BIG-IP Next instance.

Request Body schema: application/json
required
id
string <uuid> (ID)

L3 forward ID.

name
required
string (Name) [ 1 .. 255 ] characters

L3 forward name.

vlans
Array of strings (VLAN List) unique [ items <= 255 characters ]
Default: []

L2 network VLANs.

l3Network
string (L3 Network) <= 255 characters

A soft reference, by name, to an L3 Network object.

any (Config)

An L3 forward type config.

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "oliviasL3Forward",
  • "vlans": [
    ],
  • "l3Network": "oliviasL3Network",
  • "config": {
    }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/instances/04e35626-6b45-4b54-b1a1-5e182a1d3f0a/l3forwards/883d9a01-afc7-4e79-a0f8-60de34df77c7"
}

Delete a L3-Forward on BIG-IP Next Central Manager and BIG-IP Next instance

Delete a L3-Forward on BIG-IP Next Central Manager and BIG-IP Next instance.

path Parameters
instance_id
required
string <uuid>

The UUID of a BIG-IP Next instance.

l3forwards_id
required
string <uuid>

The UUID of L3-Forward object on a BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/instances/04e35626-6b45-4b54-b1a1-5e182a1d3f0a/l3forwards/883d9a01-afc7-4e79-a0f8-60de34df77c7"
}

Retrieve qkviews

Retrieves a list of all the qkviews in an instance.

path Parameters
instance_id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

Instance ID of Big IP Next instance

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Run QKView Task

Generates QKView for the BIG-IP Next instance and uploads the QKView file to iHealth Server

path Parameters
instance_id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

Instance ID of Big IP Next instance

Request Body schema: application/json
required
instance_id
string <uuid>

The UUID of a BIG-IP Next instance.

filename
required
string

Qkview file name

source
string
Default: "INSTANCE"
Enum: "CM" "INSTANCE"
storage
string
Default: "LOCAL"

Storage of qkview file

ihealth_client_id
required
string

iHealth login client ID.

secret
string

iHealth login Client Secret.

expiry_date
string <date>

iHealth credentials expiry date

save_credentials
boolean
Default: false

Save iHealth login credentials.

user_agent
string
Default: "CM"

User Agent

description
string

Upload description

f5_support_case
string^\s*[0-9]{8}(\s*,{0,1}\s*[0-9]{8}){0,4}\s*$

F5 Support Case Number. Eight digit support case numbers separated by space or comma.Max 5 support cases allowed.

share_with_case_owner
boolean

Share with case owner

visible_in_gui
boolean

Upload visible in gui

ha_node_ips
Array of strings

List of HA Node Control Plane Addresses

Responses

Request samples

Content type
application/json
{
  • "instance_id": "f4a0bdb2-8b31-4a8e-aee9-7f2ac2b629d2",
  • "filename": "qkview_file",
  • "source": "INSTANCE",
  • "ihealth_client_id": "client_id",
  • "secret": "client_secret",
  • "expiry_date": "2023-10-01",
  • "save_credential": true,
  • "user_agent": "CM",
  • "f5_support_case": 909999,
  • "share_with_case_owner": false,
  • "visible_in_gui": false
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "qkview_id": "43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2",
  • "task_id": "3325e40d-d9f2-4ab7-adb3-4ce1b6dbd48e"
}

Retrieve QKView

Retrieves a specific QKView

path Parameters
instance_id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

Instance ID of Big IP Next instance

id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

uuid of qkview or instance

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Update the QKView data

Updates the data in the qkview table.

path Parameters
instance_id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

Instance ID of Big IP Next instance

id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

uuid of qkview or instance

Request Body schema: application/json
required
ihealth_client_id
required
string

Responses

Request samples

Content type
application/json
{
  • "ihealth_client_id": "string"
}

Response samples

Content type
application/hal+json
{
  • "id": "404b7e5e-42e7-4bd8-acb0-a6b57c013b9f",
  • "message": "QKView task have been successfully done",
  • "status": 0
}

Delete QKView

If an instance ID is sent, all QKView files for that instance are deleted; if a QKView ID is sent, all the associated QKView files are deleted, if a file ID is sent, that specific file is deleted.

path Parameters
instance_id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

Instance ID of Big IP Next instance

id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

uuid of qkview or instance

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Uploads file to iHealth

File is extracted based on the file id and the file data is uploaded to iHealth server

path Parameters
instance_id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

Instance ID of Big IP Next instance

id
required
string <uuid>

The UUID of QKView File

Request Body schema: application/json
required
ihealth_client_id
required
string
user_agent
required
string
description
string
f5_support_case
string^\s*[0-9]{8}(\s*,{0,1}\s*[0-9]{8}){0,4}\s*$

F5 Support Case Number. Eight digit support case number separated by space or comma.Max 5 support cases allowed.

share_with_case_owner
boolean
visible_in_gui
boolean

Responses

Request samples

Content type
application/json
{
  • "ihealth_id": "client_id",
  • "user_agent": "Chrome",
  • "description": "Description about the request",
  • "f5_support_case": 909889,
  • "share_with_case_owner": false,
  • "visible_in_gui": true
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve file by qkview id

Retrieves the file from storage specified by qkview id.

path Parameters
instance_id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

Instance ID of Big IP Next instance

id
required
string <uuid>

The UUID of QKView

filename
required
string

The file name.

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "Request body has an error"
}

Retrieve file by file id

Retrieves the file from storage specified by the file id.

path Parameters
instance_id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

Instance ID of Big IP Next instance

id
required
string <uuid>

The UUID of QKView File

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "Request body has an error"
}

Deletes file of qkview

Deletes the particular file of the mentioned qkview id

path Parameters
instance_id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

Instance ID of Big IP Next instance

id
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

uuid of file_id of relevant qkview

Responses

Response samples

Content type
application/hal+json
{
  • "id": "404b7e5e-42e7-4bd8-acb0-a6b57c013b9f",
  • "message": "QKView task have been successfully done",
  • "status": 0
}

iRule

iRule APIs may operate on iRule resources of the F5® BIG-IP® Next Central Manager.

Create iRule

Creates an iRule

Request Body schema: multipart/form-data
required
name
required
string <= 190 characters ^[^\d._-][\w\d._-]+$

iRule name

content
required
string

iRule content

description
string

iRule description

staged
string

flag for staged iRules

version_name
string

name of the new version

staged_version
string

version from which the new version is to be staged

new_version
string

flag for creation of new version of the existing iRule

Responses

Request samples

Content type
multipart/form-data
{
  "name": "new_iRule",
  "description": "iRule creation",
  "content": "when HTTP_REQUEST {\\n Redirecting client [IP::10.182.10.10] \\n}"
}

Response samples

Content type
application/hal+json
{
  • "id": "404b7e5e-42e7-4bd8-acb0-a6b57c013b9f",
  • "message": "Created iRule successfully",
  • "status": 0,
  • "versions": [
    ]
}

Retrieve iRules details

Retrieves all iRules details

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Update iRule

Update iRule specified by id

path Parameters
nameOrID
required
string <uuid>
Example: 404b7e5e-42e7-4bd8-acb0-a6b57c013b9f

uuid of iRule

Request Body schema: multipart/form-data
required
description
string

iRule description

version
string

version of the iRule

staged
string

flag for staged iRules

Responses

Request samples

Content type
multipart/form-data
{
  "description": "update iRule",
  "content": "when HTTP_REQUEST {\\n Redirecting client [IP::10.182.10.10] \\n}"
}

Response samples

Content type
application/hal+json
{
  • "id": "404b7e5e-42e7-4bd8-acb0-a6b57c013b9f",
  • "message": "Created iRule successfully",
  • "status": 0,
  • "versions": [
    ]
}

Delete iRule

Deletes all iRule versions with the specified name.

path Parameters
nameOrID
required
string

Name of iRule.

query Parameters
staged
boolean
Example: staged=true

This flag determines whether the API will delete only the staged version of the iRule or the entire iRule.

Responses

Response samples

Content type
application/hal+json
{
  • "message": "iRule deleted successfully",
  • "status": 0,
  • "records_deleted": 0
}

Retrieve iRule

Retrieves iRule details by iRule name

path Parameters
nameOrID
required
string

name of iRule

Responses

Response samples

Content type
application/hal+json
{
  • "name": "string",
  • "versions": [
    ],
  • "_links": {
    }
}

Retrieve iRule Content

Retrieves iRules content by name and version

path Parameters
nameOrID
required
string

name/id of iRule

version
required
string

version of iRule

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "Request body has an error"
}

Run an iRule task

Deploys and runs applications with specified iRule version or reverts applications to a previous iRule version.

Request Body schema: application/json
required
irule_name
required
string

iRule name

irule_version
required
number

iRule version

staged
boolean
Default: false

Flag for staged iRule

user_id
string <uuid>

User ID

application_ids_to_attach
Array of strings <uuid> [ items <uuid > ]

Applications IDs to attach

application_ids_to_detach
Array of strings <uuid> [ items <uuid > ]

Application IDs to detach

attach_applications
string
Enum: "ALL" "STAGED"

STAGED - Applications attached to staged version of iRule are added to the new committed version of the iRule. ALL - Applications from all versions of this iRule are attached to the new committed version of the iRule. 'attach_applications' field is only applicable for COMMIT request type.

request_type
required
string
Enum: "DEPLOY" "REVERT" "COMMIT"

DEPLOY - This Request attach or detach applications with the iRule version specified. REVERT - This Request reverts all the applicatiions of a Stgaed iRule to their previous iRule versions and deletes the Staged iRule. COMMIT - This Request attaches all applications to this iRule or specified applications to the new version and deletes the staged iRule.This is based on the option chosen by user in 'attach_application' field.

Responses

Request samples

Content type
application/json
{
  • "example1": {
    },
  • "example2": {
    },
  • "example3": {
    },
  • "example4": {
    }
}

Response samples

Content type
application/hal+json
{
  • "task_id": "string",
  • "task_status": "string",
  • "path": "string"
}

Retrieve iRule tasks

Retrieves the details of all iRule tasks.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve an iRule Task

Retrieves the details for the iRule task specified by task ID.

path Parameters
id
required
string <uuid>

UUID of iRule Task.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "string",
  • "failure_reason": "string",
  • "failed_count": 0,
  • "completed_count": 0,
  • "total_count": 0,
  • "application_deployments": [
    ],
  • "_links": {
    }
}

Validate iRule

Validates the iRule script.

Request Body schema: multipart/form-data
required
content
string

Responses

Request samples

Content type
multipart/form-data
{
  "content": "when HTTP_REQUEST {\\n Redirecting client [IP::10.182.10.10] \\n}"
}

Response samples

Content type
application/hal+json
{
  • "id": "404b7e5e-42e7-4bd8-acb0-a6b57c013b9f",
  • "message": "Created iRule successfully",
  • "status": 0,
  • "versions": [
    ]
}

License

License APIs may operate on license resources of the F5® BIG-IP® Next Central Manager.

Initiates license activation of multiple instances

Initiates license activation for all the instances identified by their device id.

Request Body schema: application/json
required

list of "device_id" of the instances and corresponding JWT"

Array
digitalAssetId
required
string <uuid>

DigitalAssetId/unique Id of the instance which needs to be activated

jwtId
required
string <uuid>

JWT id of a preloaded jwt

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json+hal
{
  • "property1": {
    },
  • "property2": {
    }
}

Initiate switch license of multiple instances

Initiates switch license for all the instances identified by their device ids.

Request Body schema: application/json
required

list of "device_id and the corresponding JWT to be switched to"

Array
digitalAssetId
required
string <uuid>

DigitalAssetId/unique Id of the instance which needs to be activated

jwtId
required
string <uuid>

JWT id of a preloaded jwt

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json+hal
{
  • "property1": {
    },
  • "property2": {
    }
}

Verifiy the validity of JWT content

Verifies JWT content, checks for the format and validates the jwt signature with the configured certificate bundle. Returns token details if a matching token is found.

Request Body schema: application/json

JWT content to be verified

jwt
required
string non-empty

JWT to be verified

Responses

Request samples

Content type
application/json
{
  • "jwt": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo4MDgwL2F1dGgvcmVhbG1zL2RldmljZSIsInN1YiI6ImRlZmF1bHQiLCJhdWQiOlsiZGV2aWNlIl0sImlhdCI6MTY"
}

Response samples

Content type
application/json
{
  • "isValid": true
}

Download reports zip file for multiple instances

Retrieves reports archive for multiple instances. This is a multipart response to be sent to F5 for reporting.

Responses

Response samples

Content type
application/json
{
  • "reportDownloadStatus": [
    ],
  • "reportData": "string",
  • "reportName": "string"
}

Upload zipped files of F5 signed acknowledgement of multiple instances

This is a multipart request that involves uploading zipped files of F5 signed acknowledgements for multiple instances.

Request Body schema: multipart/form-data
required
fileList
Array of strings <binary> [ items <binary > ]

Responses

Response samples

Content type
application/json
{
  • "deviceReportStatus": [
    ]
}

Initiate license deactivation of multiple instances

Initiates deactivation of license for a list of instances which were identified by device id.

Request Body schema: application/json
required

list of "device instance UUIDs"

digitalAssetIds
required
Array of strings <uuid> [ items <uuid > ]

DigitalAssetIds/unique Ids of the instances

Responses

Request samples

Content type
application/json
{
  • "digitalAssetIds": [
    ]
}

Response samples

Content type
application/json+hal
{
  • "property1": {
    },
  • "property2": {
    }
}

Retrieve the latest state of the instance license

Retrieves the latest state of the instance license, including all the enabled features.

path Parameters
device_id
required
string <uuid>

Responses

Response samples

Content type
application/json+hal
{
  • "subscriptionType": "paid | eval",
  • "subscriptionSubType": "internal | trial",
  • "deviceId": "94ff6fac-8920-492d-9545-9e837fe31a23",
  • "licenseStatus": "NEW | LICENSED | DEACTIVATED",
  • "licenseSubStatus": "INITIALISE_TERMINATION_IN_PROGRESS | ACK_VERIFICATION_COMPLETE | PROVISIONING_REPORT_ERR",
  • "expiryDate": "2023-09-04T00:00:55.000Z",
  • "enabledFeatures": "string",
  • "licenseToken": {
    },
  • "deviceActions": [
    ],
  • "_links": {
    }
}

Retrieve the latest state of the instance license

Retrieves the latest state of the instance license, including all the features enabled for multiple instances.

Request Body schema: application/json
required

list of "instance_ids"

digitalAssetIds
required
Array of strings <uuid> [ items <uuid > ]

DigitalAssetIds/unique Ids of the instances

Responses

Request samples

Content type
application/json
{
  • "digitalAssetIds": [
    ]
}

Response samples

Content type
application/json+hal
{
  • "00000000-0000-0000-0000-000000000000": {
    },
  • "ac128cb6-ca76-4aae-9c03-19c727fc8ae1": {
    },
  • "c6eea9a1-73c2-4160-a6ca-5f14638479b3": {
    },
  • "ede6352f-c52b-4c1f-9a8f-e2a0715fb94b": {
    }
}

Retrieve the latest state of the license state task

Retrieves the latest state of the license state task.

path Parameters
task_id
required
string <uuid>

Responses

Response samples

Content type
application/json+hal
{
  • "status": "accepted | inprogress | error | completed",
  • "subStatus": "ACTIVATION_INPROGRESS | ACTIVATION_ERR | ACTIVATION_COMPLETE | ...",
  • "errorCode": "1",
  • "failureReason": "request aborted, pls retry",
  • "taskType": "activate | deactivate | change-config | switch-license",
  • "created": "2019-08-24T14:15:22Z",
  • "_links": {
    }
}

Retrieve bulk status of license tasks

Retrieves the latest status of multiple license state tasks which are identified by task id.

Request Body schema: application/json
required

list of "license task ids"

licenseTaskIds
required
Array of strings <uuid> [ items <uuid > ]

licenseTaskIds/unique Ids of the license tasks

Responses

Request samples

Content type
application/json
{
  • "licenseTaskIds": [
    ]
}

Response samples

Content type
application/json+hal
{
  • "00000000-0000-0000-0000-000000000000": {
    },
  • "ac128cb6-ca76-4aae-9c03-19c727fc8ae1": {
    },
  • "c6eea9a1-73c2-4160-a6ca-5f14638479b3": {
    },
  • "ede6352f-c52b-4c1f-9a8f-e2a0715fb94b": {
    }
}

Retrieve the license configuration

Retrieves the license configuration of the central manager instance.

Responses

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Update the LLM configuration

Updates the configuration values set of local license manager (LLM).

Request Body schema: application/json
required
modeOfOperation
string
Enum: "connected" "disconnected"

CM/LLM operating mode connected / disconnected

Responses

Request samples

Content type
application/json
{
  • "modeOfOperation": "connected"
}

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Retrieve details of all the tokens

Retrieves details of multiple tokens.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new token

Creates a new token with the JWT provided.

Request Body schema: application/json
required

JWT

nickName
required
string

unique short name

jwt
required
string

JWT

Responses

Request samples

Content type
application/json
{
  • "nickName": "paid_test_jwt",
  • "jwt": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCIsImtpZCI6InYxIiwiamt1IjoiaHR0cHM6Ly9wcm9kdWN0LXRzdC5hcGlzLmY1bmV0d29ya3MubmV0L2VlL3YxL2tleXMvandrcyJ9.eyJzdWIiOiJUU1QtMjdjMGJmN2EtNTU5OS00NzEwLWE1MzctOTliZDA2ZDRhMzJiIiwiaWF0IjoxNjg2Mjk4NDY0LCJpc3MiOiJGNSBJbmMuIiwiYXVkIjoidXJuOmY1OnRlZW0iLCJqdGkiOiJhNGU1ZjRiMS0wNjlkLTExZWUtYWU5OS02NWU1MGM1YmE3MzYiLCJmNV9vcmRlcl90eXBlIjoiZXZhbCJ9.H4nJTLOgHALpTtg0XdYyVjMbWz0nVzYzbkMHx1vpTq59Ueus3AuvftByJmLD7lcVjBwJ3p5misMHVpRLe_lEpv_79DWtXp0-y-5ZOjCU6Se_pB4RjVeEl291qe6uEnQliEm6e968X2n8hoCiZ5nX9BVptPBHvaXKQmjoEJhZHmdwLkipL67l59PYJcRyZ4IqGf1-IVVwx329isNVGi0TpQ4xX0NggKmrDxyZFL8izy6crFbcAVW3L5QDWIWFwSOLLPZ0FM8IcXtNtgPuy8Z3KhGTbWxd_Pe0k9tU-VyN9tLftC6bqQMsVXYCJoCw7i_eXurOsllTGhrhuQPHlWSvAExAPsx12_WLrX_s3s4iU3wZRi55gILm8CXk_E2LPONAcXlGoPHmksx3_8m89Q558k9dfwUo1DDUKtSLF4RZaaq4-l1ZA8RJVyawauknFpQPdGeW8LxrG7SYkaBrPfAUVv6fZV6ewivr7DLBokFtErisUVB2BFZYJhFCuLovTPjzE1UCY-UkAlcXfj4pbGRC2jwg1_MEL7o4zH_3NMULlBj6eeHbhQvVHqI8E2IqpNjJbRiQwd9S8CLTAL2-zi9Q1VVENK_T-4J10BltHzquNJcTyi4jkRuTi_DNw5Fg2Iqn4o7Y1g7zg-nCgzQ0VGRxQRr_fZuMU84z6fI0qB0fnNA"
}

Response samples

Content type
application/json+hal
{
  • "NewToken": {
    },
  • "DuplicatesTokenValue": {
    },
  • "DuplicatesTokenNickName": {
    },
  • "_links": {
    },
  • "duplicateToken": {
    },
  • "duplicateShortname": {
    }
}

Retrieve details of a token by token id

Retrieves details of a token by token id.

path Parameters
token_id
required
string

Responses

Response samples

Content type
application/json
{
  • "tokenId": "94ff6fac-8920-492d-9545-9e837fe31a23",
  • "shortName": "paid_test_jwt",
  • "entitlement": "string",
  • "orderType": "string",
  • "orderSubType": "string",
  • "subscriptionExpiry": "string"
}

Retrieve list of instances

Retrieves list of instances for which the report is available for download. Report type could be any one of activation/switch/telemetry/terminate.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Event-Logs

Event-Logs APIs may operate on event-logs resources of the F5® BIG-IP® Next Central Manager.

Retrieve web application traffic logs

Retrieves a list of web application traffic logs.

query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100
Examples:
  • limit=1000 - return maximum 1000 item from the query

Limits the maximum number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

includedetails
boolean

Should be set to true to see full violation information

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=contains(hostname,'mbip') - query by substring
  • filter=port gte 80 - query by numerical condition
  • filter=contains(all,'http') - query all fields

Filter conditions for result queries. Query by equality, string, or numerical conditions are possible

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve Behavioral DOS traffic logs

Retrieves a list of BADOS traffic logs.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=contains(hostname,'mbip') - query by substring
  • filter=port gte 80 - query by numerical condition
  • filter=contains(all,'http') - query all fields

Filter conditions for result queries. Query by equality, string, or numerical conditions are possible

view
string (BadosViewEnum)
Enum: "attack-status" "bad-actors" "attack-signatures" "all"

Condition to filter bados events based on view

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a BADOS traffic log

Retrieves a specific BADOS traffic log

path Parameters
event_id
required
string

Behavioral DOS traffic log bados-event-id

Responses

Response samples

Content type
application/json
{
  • "active_connections": "415",
  • "app_name": "test_tenant:app_test",
  • "attack_event": "Attack started",
  • "bad_actors": "4",
  • "block_bad_actor": "80",
  • "block_bad_actor_rps": 8,
  • "block_global": "90",
  • "block_global_rps": 9,
  • "block_signature": "70",
  • "block_signature_rps": 7,
  • "block_slow": "60",
  • "block_slow_rps": "6",
  • "challenge_bad_actor": "50",
  • "challenge_bad_actor_rps": "5",
  • "challenge_global": "40",
  • "challenge_global_rps": "4",
  • "challenge_signature": "30",
  • "challenge_signature_rps": "3",
  • "challenge_slow": "20",
  • "challenge_slow_rps": "2",
  • "cm_device_id": "123e4567-e89b-12d3-a456-426614174000",
  • "date_time": "Mar 01 2012 13:52:29",
  • "dos_attack_id": "25",
  • "event_id": "abc25",
  • "geo_location": "IN",
  • "impact_rps": 45,
  • "incoming_requests": "455",
  • "incoming_rps": 1455,
  • "learning_confidence": "129c76",
  • "mitigated_bad_actors": "100",
  • "mitigated_bad_actors_rps": 12,
  • "mitigated_by_global_rate": "200",
  • "mitigated_by_global_rate_rps": 20,
  • "mitigated_by_signatures": "300",
  • "mitigated_by_signatures_rps": 30,
  • "mitigated_connections": "400",
  • "mitigated_connections_rps": "40",
  • "mitigated_slow": "500",
  • "mitigated_slow_rps": "50",
  • "new_bad_actors_detected": "4",
  • "product": "f5-asec-admd",
  • "product_version": "0.9.21",
  • "redirect_bad_actor": "600",
  • "redirect_bad_actor_rps": "60",
  • "redirect_global": "700",
  • "redirect_global_rps": "70",
  • "redirect_signature": "800",
  • "redirect_signature_rps": "80",
  • "redirect_slow": "900",
  • "redirect_slow_rps": "90",
  • "signature": "HTTP /Common/HTTPSig30521245196031376581 (http.accept_encoding_header_exists eq true) and (http.cache_control hashes-to 14) and (http.cache_control_header_exists eq true) and (http.host_header_exists eq true) and (http.unknown_header_exists eq true) and (http.uri_parameters eq 0) and (http.accept_header_exists eq true) and (http.hdrorder hashes-like host:user-agent:accept-encoding:accept:connection) and (http.headers_count eq 10) and (http.accept_charset eq ISO-8859-1) and (http.x_forwarded_for_header_exists eq true) and (http.user_agent_header_exists eq true) and (http.uri_file hashes-like /) and (http.request.method eq GET) and (http.connection_header_exists eq true) and (http.referer_header_exists eq true)",
  • "signature_accuracy": "100.00",
  • "signature_efficiency": "72.00",
  • "signature_id": "809655398",
  • "source_ip": "1.1.1.1",
  • "stack_name": "test_tenant:app_test:serviceMain",
  • "stress_level": 0.5,
  • "successful_responses": "5265",
  • "successful_tps": 100,
  • "threshold_conns": "2121.50",
  • "tls_fp": 0,
  • "unit_hostname": "localhost.localdomain",
  • "unsuccessful_requests": "340",
  • "unsuccessful_rps": 10,
  • "baseline_dps": 12,
  • "mitigated_rps": "55",
  • "_links": {
    }
}

Update a Behavioral DOS traffic log

Updates a specific of BADOS traffic log.

path Parameters
event_id
required
string

Behavioral DOS traffic log bados-event-id

Request Body schema: application/json
required
tags
Array of strings

Tags for marking policies

comment
string

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ],
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "active_connections": "415",
  • "app_name": "test_tenant:app_test",
  • "attack_event": "Attack started",
  • "bad_actors": "4",
  • "block_bad_actor": "80",
  • "block_bad_actor_rps": 8,
  • "block_global": "90",
  • "block_global_rps": 9,
  • "block_signature": "70",
  • "block_signature_rps": 7,
  • "block_slow": "60",
  • "block_slow_rps": "6",
  • "challenge_bad_actor": "50",
  • "challenge_bad_actor_rps": "5",
  • "challenge_global": "40",
  • "challenge_global_rps": "4",
  • "challenge_signature": "30",
  • "challenge_signature_rps": "3",
  • "challenge_slow": "20",
  • "challenge_slow_rps": "2",
  • "cm_device_id": "123e4567-e89b-12d3-a456-426614174000",
  • "date_time": "Mar 01 2012 13:52:29",
  • "dos_attack_id": "25",
  • "event_id": "abc25",
  • "geo_location": "IN",
  • "impact_rps": 45,
  • "incoming_requests": "455",
  • "incoming_rps": 1455,
  • "learning_confidence": "129c76",
  • "mitigated_bad_actors": "100",
  • "mitigated_bad_actors_rps": 12,
  • "mitigated_by_global_rate": "200",
  • "mitigated_by_global_rate_rps": 20,
  • "mitigated_by_signatures": "300",
  • "mitigated_by_signatures_rps": 30,
  • "mitigated_connections": "400",
  • "mitigated_connections_rps": "40",
  • "mitigated_slow": "500",
  • "mitigated_slow_rps": "50",
  • "new_bad_actors_detected": "4",
  • "product": "f5-asec-admd",
  • "product_version": "0.9.21",
  • "redirect_bad_actor": "600",
  • "redirect_bad_actor_rps": "60",
  • "redirect_global": "700",
  • "redirect_global_rps": "70",
  • "redirect_signature": "800",
  • "redirect_signature_rps": "80",
  • "redirect_slow": "900",
  • "redirect_slow_rps": "90",
  • "signature": "HTTP /Common/HTTPSig30521245196031376581 (http.accept_encoding_header_exists eq true) and (http.cache_control hashes-to 14) and (http.cache_control_header_exists eq true) and (http.host_header_exists eq true) and (http.unknown_header_exists eq true) and (http.uri_parameters eq 0) and (http.accept_header_exists eq true) and (http.hdrorder hashes-like host:user-agent:accept-encoding:accept:connection) and (http.headers_count eq 10) and (http.accept_charset eq ISO-8859-1) and (http.x_forwarded_for_header_exists eq true) and (http.user_agent_header_exists eq true) and (http.uri_file hashes-like /) and (http.request.method eq GET) and (http.connection_header_exists eq true) and (http.referer_header_exists eq true)",
  • "signature_accuracy": "100.00",
  • "signature_efficiency": "72.00",
  • "signature_id": "809655398",
  • "source_ip": "1.1.1.1",
  • "stack_name": "test_tenant:app_test:serviceMain",
  • "stress_level": 0.5,
  • "successful_responses": "5265",
  • "successful_tps": 100,
  • "threshold_conns": "2121.50",
  • "tls_fp": 0,
  • "unit_hostname": "localhost.localdomain",
  • "unsuccessful_requests": "340",
  • "unsuccessful_rps": 10,
  • "baseline_dps": 12,
  • "mitigated_rps": "55",
  • "_links": {
    }
}

Delete a Behavioral DOS traffic log

Deletes a specific BADOS WAF traffic log.

path Parameters
event_id
required
string

Behavioral DOS traffic log bados-event-id

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Delete Behavioral DOS traffic logs

Deletes the BADOS traffic logs.

Request Body schema: application/json
required
One of
delete_all
required
boolean

Defines whether an action is to be applied to all BADOS traffic logs.

Responses

Request samples

Content type
application/json
Example
{
  • "filter": "dest_port eq '8080' or app_name eq 'testApp'"
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve most abundant bad actor detection requests for geolocation

Retrieves the 10 most abundant (by count) bad actor detection requests for geolocation during a specified time interval.

Request Body schema: application/json
required
object (WafEventAnalyticsPeriod)
filter
string

Defines the analytics filtering criteria. The supported properties are as follows:

  • app_name - Successfully deployed application name. Example value 'test_app_name'. Supported operators:
  • or
example
any

Responses

Request samples

Content type
application/json
{
  • "period": {
    },
  • "filter": "string",
  • "example": null
}

Response samples

Content type
application/hal+json
{
  • "top": [
    ],
  • "_links": {
    }
}

Return a list of Application behavioral DOS statuses

Retrieves a list of Application behavioral DOS statuses.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Logs

Logs APIs may operate on log resources of the F5® BIG-IP® Next Central Manager.

Retrieve audit log records

Retrieves a list of audit log records, filtered based on the query parameters.

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "description": "A response containing two Audit log records",
  • "value": [
    ]
}

Migration Management

Retrieve all migrations

Request a list of all migrations.

query Parameters
page
integer

Page number

limit
integer

Amount of items returned per page

Responses

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "count": 1,
  • "total": 5,
  • "_embedded": {
    }
}

Create a new migration

Create a new migration.

Request Body schema: application/json
required

Migration name

name
required
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "last_update_time": "2021-01-28T15:24:05.029102Z",
  • "id": 0,
  • "_links": {
    },
  • "name": "migration",
  • "description": "description",
  • "grouping_type": "disabled",
  • "task_id": "1223ebd4-f455-4560-82c6-25c504d9edf5"
}

Retrieve migration details

Retrieves specific migration details.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

Responses

Response samples

Content type
application/json
{
  • "last_update_time": "2021-01-28T15:24:05.029102Z",
  • "id": 0,
  • "_links": {
    },
  • "name": "migration",
  • "description": "description",
  • "grouping_type": "disabled",
  • "task_id": "1223ebd4-f455-4560-82c6-25c504d9edf5",
  • "schema_version": "3.0.0",
  • "source": {
    },
  • "instructions": {},
  • "output_as3_link": "/v1/migrations/2/root_files/output_all.json",
  • "applications": [
    ],
  • "deployments": [
    ],
  • "last_page": "general_properties",
  • "allow_deployments": true
}

Update migration with current page

Updates migration with current page and updates visited pages list.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

Request Body schema: application/json
required

Current page

last_page
required
string (Page)
Enum: "general_properties" "source_system" "applications" "summary" "deployment"

Responses

Request samples

Content type
application/json
{
  • "last_page": "general_properties"
}

Response samples

Content type
application/json
{
  • "last_update_time": "2021-01-28T15:24:05.029102Z",
  • "id": 0,
  • "_links": {
    },
  • "name": "migration",
  • "description": "description",
  • "grouping_type": "disabled",
  • "task_id": "1223ebd4-f455-4560-82c6-25c504d9edf5",
  • "schema_version": "3.0.0",
  • "source": {
    },
  • "instructions": {},
  • "output_as3_link": "/v1/migrations/2/root_files/output_all.json",
  • "applications": [
    ],
  • "deployments": [
    ],
  • "last_page": "general_properties",
  • "allow_deployments": true
}

Delete migration

Deletes a specific migration.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

Responses

Response samples

Content type
application/json
{
  • "detail": "Object not found",
  • "status_code": 404
}

Delete multiple migrations

Deletes multiple migrations.

Request Body schema: application/json
required

Migration name

migrations
required
Array of integers

Responses

Request samples

Content type
application/json
{
  • "migrations": [
    ]
}

Source BIG-IP system

Provide or cancel a BIG-IP Next source in the Migration session (formally called Journeys.)

Upload UCS file for migration

Uploads UCS file for migration.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

query Parameters
async
boolean
Default: true
Example: async=true
Request Body schema: multipart/form-data
required

UCS and Optional passphrase

ucs_file
required
string <binary>
ucs_passphrase
string
master_key
string
grouping_type
required
string (GroupingType)
Enum: "disabled" "ip"

Responses

Response samples

Content type
application/json
{
  • "task_id": "736fde4d-9029-4915-8189-01353d6982cb"
}

Cancel UCS upload task

Cancels UCS upload task.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string"
}

Application Management

Migration session operations for applications (formally called Journeys.)

Retrieve virtual servers list

Retrieves virtual servers list.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

query Parameters
search
string

Search by name, IP address and pool name

page
integer

Page number

limit
integer

Amount of items returned per page

staged
string
Example: staged=true

Filter list by staged value

Responses

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "count": 1,
  • "total": 5,
  • "results": [
    ]
}

Retrieve specified virtual server

Retrieves specified virtual server.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

virtual_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "_links": {
    },
  • "name": "virtual_server_1",
  • "application": "application_1",
  • "status": "green",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "template_action_required": false,
  • "referenced_objects_installed": true,
  • "irules_count": 0,
  • "virtuals_count": 0,
  • "as3_preview": "/v1/migrations/1/virtuals/1/preview.json",
  • "staged": true,
  • "ip_addresses": [
    ],
  • "ports": [
    ],
  • "ip_name": "string",
  • "readiness": true,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "config_files": {
    },
  • "metadata": {
    },
  • "as3_unsupported": [
    ],
  • "security_issues": [
    ]
}

Update virtual server object

Updates virtual server object.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

virtual_id
required
integer
Request Body schema: application/json
required
template_name
string
template_parameters
object (FastTemplateParameters)

Must conform template JSON schema

deploy_location
string

Responses

Request samples

Content type
application/json
{
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "_links": {
    },
  • "name": "virtual_server_1",
  • "application": "application_1",
  • "status": "green",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "template_action_required": false,
  • "referenced_objects_installed": true,
  • "irules_count": 0,
  • "virtuals_count": 0,
  • "as3_preview": "/v1/migrations/1/virtuals/1/preview.json",
  • "staged": true,
  • "ip_addresses": [
    ],
  • "ports": [
    ],
  • "ip_name": "string",
  • "readiness": true,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "config_files": {
    },
  • "metadata": {
    },
  • "as3_unsupported": [
    ],
  • "security_issues": [
    ]
}

Stage the virtual server to output AS3

Stages the virtual server to output AS3.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

virtual_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "_links": {
    },
  • "name": "virtual_server_1",
  • "application": "application_1",
  • "status": "green",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "template_action_required": false,
  • "referenced_objects_installed": true,
  • "irules_count": 0,
  • "virtuals_count": 0,
  • "as3_preview": "/v1/migrations/1/virtuals/1/preview.json",
  • "staged": true,
  • "ip_addresses": [
    ],
  • "ports": [
    ],
  • "ip_name": "string",
  • "readiness": true,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "config_files": {
    },
  • "metadata": {
    },
  • "as3_unsupported": [
    ],
  • "security_issues": [
    ]
}

Unstage the virtual server from output AS3

Unstages the virtual server from output AS3.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

virtual_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "_links": {
    },
  • "name": "virtual_server_1",
  • "application": "application_1",
  • "status": "green",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "template_action_required": false,
  • "referenced_objects_installed": true,
  • "irules_count": 0,
  • "virtuals_count": 0,
  • "as3_preview": "/v1/migrations/1/virtuals/1/preview.json",
  • "staged": false,
  • "ip_addresses": [
    ],
  • "ports": [
    ],
  • "ip_name": "string",
  • "readiness": true,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "config_files": {
    },
  • "metadata": {
    },
  • "as3_unsupported": [
    ],
  • "security_issues": [
    ]
}

Set staged virtuals list

Sets staged virtuals list.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

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

Responses

Request samples

Content type
application/json
{
  • "virtuals": [
    ]
}

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "count": 1,
  • "total": 5,
  • "results": [
    ]
}

Retrieve preview AS3 for a given virtual server

Retrieves preview AS3 for a given virtual server.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

virtual_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "class": "ADC",
  • "Common": {
    }
}

Install virtuals' referenced objects onto Central Manager

Installs virtuals' referenced objects onto Central Manager.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

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

Responses

Request samples

Content type
application/json
{
  • "virtuals": [
    ]
}

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "count": 1,
  • "total": 5,
  • "results": [
    ]
}

Create a new application

Creates a new application.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

Request Body schema: application/json
required
name
required
string

Name of a new application

description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "Test application"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "application_1",
  • "status": "green",
  • "description": "Test application",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "referenced_objects_installed": true,
  • "staged": true,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "readiness": true,
  • "virtual_servers": [
    ]
}

Retrieve applications list

Retrieves applications list.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

query Parameters
search
string

Search by name, IP address and pool name

page
integer

Page number

limit
integer

Amount of items returned per page

staged
string
Example: staged=true

Filter list by staged value

Responses

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "count": 1,
  • "total": 5,
  • "results": [
    ]
}

Retrieve specified application

Retrieves specified application.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

application_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "application_1",
  • "status": "green",
  • "description": "Test application",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "referenced_objects_installed": true,
  • "staged": true,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "readiness": true,
  • "virtual_servers": [
    ]
}

Update application object

Updates application object.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

application_id
required
integer
Request Body schema: application/json
required
template_name
string
name
string
description
string
template_parameters
object (FastTemplateParameters)

Must conform template JSON schema

deploy_location
string

Responses

Request samples

Content type
application/json
{
  • "template_name": "template_set/test_template",
  • "name": "new_application_name",
  • "description": "description",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "new_application_name",
  • "status": "green",
  • "description": "Test application",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "referenced_objects_installed": true,
  • "staged": true,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "readiness": true,
  • "virtual_servers": [
    ]
}

Remove specified application

Removes specified application.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

application_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "detail": "Object not found",
  • "status_code": 404
}

Set staged applications

Sets staged applications.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

application_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "application_1",
  • "status": "green",
  • "description": "Test application",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "referenced_objects_installed": true,
  • "staged": true,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "readiness": true,
  • "virtual_servers": [
    ]
}

Unstage the application from output AS3

Unstages the application from output AS3.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

application_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "application_1",
  • "status": "green",
  • "description": "Test application",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "referenced_objects_installed": true,
  • "staged": false,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "readiness": true,
  • "virtual_servers": [
    ]
}

Set staged applications list

Sets staged applications list.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

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

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "count": 1,
  • "total": 5,
  • "results": [
    ]
}

Install application level referenced objects onto Central Manager

Installs application level referenced objects onto Central Manager.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

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

Responses

Request samples

Content type
application/json
{
  • "applications": [
    ]
}

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "count": 1,
  • "total": 5,
  • "results": [
    ]
}

Move virtual server to another application

Moves virtual server to another application.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

application_id
required
integer
Request Body schema: application/json
required
virtuals
required
Array of integers

An array of virtual servers' IDs

Responses

Request samples

Content type
application/json
{
  • "virtuals": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "application_1",
  • "status": "green",
  • "description": "Test application",
  • "template_name": "template_set/test_template",
  • "template_parameters": {
    },
  • "deploy_location": "10.0.0.1",
  • "last_modified": "2021-01-28T15:24:05.029102Z",
  • "referenced_objects_installed": true,
  • "staged": true,
  • "waf_policies": [
    ],
  • "certificates": [
    ],
  • "irules": [
    ],
  • "readiness": true,
  • "virtual_servers": [
    ]
}

Retrieve preview AS3 for a given application

Retrieves preview AS3 for a given application.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

application_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "class": "ADC",
  • "Common": {
    }
}

File Management

Migration session operations for files (formally called Journeys.)

Retrieve content of the virtual server configuration file

Retrieves content of the virtual server configuration file.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

virtual_id
required
integer
file_name
required
string

Responses

Response samples

Content type
application/json
{
  • "detail": "Object not found",
  • "status_code": 404
}

Retrieve content of the migrations root file

Retrieves content of the migrations root file.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

file_path
required
string

Responses

Response samples

Content type
application/json
{
  • "detail": "Object not found",
  • "status_code": 404
}

Configuration output and deployment

Migration - Configuration output and deployment.

Retrieve output AS3

Retrieves output AS3.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

Responses

Response samples

Content type
application/json

Deploy configuration to given system

Deploys configuration to given system.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

query Parameters
force_install
boolean
Example: force_install=true

Install missing application dependencies

async
boolean
Default: true
Example: async=true
Request Body schema: application/json
required

Deploys all staged applications, using AS3 declaration if specified as 'API' in 'applications' field.

applications
object
instance_address
string
Deprecated

Responses

Request samples

Content type
application/json
{
  • "applications": {
    },
  • "instance_address": "10.10.10.10"
}

Response samples

Content type
application/json
{
  • "_links": {
    },
  • "count": 1,
  • "total": 5,
  • "results": [
    ]
}

Retrieve deployments list

Retrieves deployments list.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

query Parameters
page
integer

Page number

limit
integer

Amount of items returned per page

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "results": [
    ]
}

Retrieve status of deployment operation

Retrieves status of deployment operation.

path Parameters
migration_id
required
integer <uuid>

uuid of migration

deployment_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "_links": {
    },
  • "deployment_type": "AS3",
  • "destination": "10.0.0.1",
  • "status": "Waiting",
  • "completed": "2021-01-28T15:24:05.029102Z",
  • "run_time": 4,
  • "application": {
    },
  • "results": [
    ],
  • "stages": [
    ],
}

Authentication Provider

Authentication Provider APIs may operate on authentication provider management resources of the F5® BIG-IP® Next Central Manager.

Configure authentication provider

Configures authentication provider.

Request Body schema: application/json
required
provider_type
required
string
Enum: "Local" "LDAP"

Authentication Provider Type

name
required
string

Authentication Provider Name

disabled
boolean
required
LDAPServer (object)

Authentication Provider Content

Responses

Request samples

Content type
application/json
{
  • "username": "admin"
}

Response samples

Content type
application/json
{
  • "message": "Auth provider created successfully"
}

Retrieve all authentication providers

Retrieves all configured authentication providers.

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

page
integer
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=task_type,status - two column ascending sort
  • sort=-task_type - single column descending sort
  • sort=task_type,-status - mixed ascending/descending sort

The column names used to sort the result. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=username startswith 'admin' - query by string
  • filter=file_size gt 1024 - query by numerical condition

The conditions for querying the result.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Validate authentication provider

Validate the authentication provider details using the authentication provider setting and user credentials.

Request Body schema: application/json
required
provider_type
required
string
Enum: "Local" "LDAP"

Auth provider type

name
required
string non-empty

Auth provider name

validation_type
string
Default: "authenticateUser"
Enum: "validateUser" "authenticateUser"

Use validateUser for user availability check.

test
boolean
Default: true

Use false if want to check user availability on BIG-IP Next Central Manager

LDAPServer (object)

Auth provider content

username
required
string non-empty

User name

password
string non-empty

User password

Responses

Request samples

Content type
application/json
{
  • "username": "admin"
}

Response samples

Content type
application/json
{
  • "message": "Password change was successful."
}

Retrieve specific authentication provider

Retrieves information for a specific authentication provider.

path Parameters
id
required
string

Auth-provider ID

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "provider_type": "Local",
  • "name": "string",
  • "modified_by": "e8d4374d-93a1-4e98-a6c6-fdcf00c5059f",
  • "creation_date_time": "2019-08-24T14:15:22Z",
  • "modification_date_time": "2019-08-24T14:15:22Z",
  • "disabled": true,
  • "content": {
    },
  • "_links": {
    }
}

Update authentication provider

Updates an authentication provider.

path Parameters
id
required
string

Auth-provider ID

Request Body schema: application/json
required
LDAPServer (object)

Authentication Provider Content

disabled
boolean

Responses

Request samples

Content type
application/json
{
  • "content": {
    },
  • "disabled": true
}

Response samples

Content type
application/json
{
  • "message": "Auth provider updated successfully"
}

Provider

Provider APIs may operate on provider management resources of the F5® BIG-IP® Next Central Manager.

Retrieve provider types

Retrieves a list of all supported provider types.

Responses

Response samples

Content type
application/json
{
  • "summary": "A list of supported provider types",
  • "value": {
    }
}

List providers detail information

Get a list of providers and instances info associate with each provider.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "summary": "A list of VELOS chassis partitions",
  • "value": [
    ]
}

Retrieve F5OS VELOS partitions or F5OS rSeries system

Retrieves a list of all F5 VELOS chassis partitions or F5OS rSeries system.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "summary": "A list of VELOS chassis partitions or F5OS rSeries system.",
  • "value": {
    }
}

Store a new F5OS VELOS partition or F5OS rSeries system

Stores information for a new F5OS VELOS chassis partition or F5OS rSeries system.

Request Body schema: application/json
required
type
string
name
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "my-velos-partition-1",
  • "type": "f5os_velos",
  • "connection": {
    }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "c08ae816-4849-4123-9d44-5e5ca4c1c324",
  • "name": "my-velos-partition-1",
  • "type": "f5os_velos",
  • "connection": {
    }
}

Retrieve a F5OS VELOS partition or F5OS rSeries system

Retrieves a specific F5OS VELOS partition or F5OS rSeries system.

path Parameters
id
required
string <uuid>

The UUID of a VELOS chassis partition.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "summary": "A stored F5OS VELOS partition or F5OS rSeries system",
  • "value": {
    }
}

Update a F5OS VELOS partition or F5OS rSeries system

Update a specific F5OS VELOS partition or F5OS rSeries system.

path Parameters
id
required
string <uuid>

The UUID of a VELOS chassis partition.

Request Body schema: application/json
required
type
string
name
required
string
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "name": "my-velos-partition-1",
  • "type": "f5os_velos",
  • "connection": {
    }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "fdb188d8-ee66-4924-af05-d2cd36e0fce1",
  • "type": "F5 VELOS",
  • "name": "my-velos-partition-1",
  • "connection": {
    }
}

Delete F5OS VELOS partitions or F5OS rSeries system

Delete the partitions and credentials for either the F5OS VELOS or the F5OS rSeries system.

path Parameters
id
required
string <uuid>

The UUID of a VELOS chassis partition.

Responses

Response samples

Content type
application/json
Example

When a required field is not present on the request body

{
  • "message": "Request body has an error: failed to decode request body: part filename: undefined"
}

Retrieve nodes used by F5OS VELOS partition

Retrieves a list of nodes used by the F5OS VELOS partition.

path Parameters
id
required
string <uuid>

The UUID of a F5OS VELOS partition or F5OS rSeries system.

Responses

Response samples

Content type
application/json
{
  • "summary": "A list of nodes which a F5OS VELOS partition is using",
  • "value": {
    }
}

Retrieve rSeries provider product name

Retrieves rSeries provider product name.

path Parameters
id
required
string <uuid>

The UUID of a F5OS rSeries system.

Responses

Response samples

Content type
application/json
{
  • "summary": "rSeries provider's product name",
  • "value": {
    }
}

Retrieve VLANs on a F5OS VELOS partition or F5OS rSeries system

Retrieves a list of VLANs from a specific F5OS VELOS partition or F5OS rSeries system.

path Parameters
id
required
string <uuid>

The UUID of a F5OS VELOS partition or F5OS rSeries system.

Responses

Response samples

Content type
application/json
{
  • "summary": "A list of VLANs on a stored F5OS VELOS partition or F5OS rSeries system",
  • "value": {
    }
}

Add VLAN to a F5OS VELOS partition or F5OS rSeries system

Adds VLAN for a specific F5OS VELOS partition or F5OS rSeries system.

path Parameters
id
required
string <uuid>

The UUID of a F5OS VELOS partition or F5OS rSeries system.

Request Body schema: application/json
required
object (F5OSProviderVLANs)

Responses

Request samples

Content type
application/json
{
  • "openconfig-vlan:vlans": {
    }
}

Response samples

Content type
application/json
Example

When a required field is not present on the request body

{
  • "message": "Request body has an error: failed to decode request body: part filename: undefined"
}

Remove specific VLAN from a stored F5OS VELOS partition or F5OS rSeries

Removes a specific VLAN from a stored F5OS VELOS partition or F5OS rSeries.

path Parameters
id
required
string <uuid>

The UUID of a F5OS VELOS partition or F5OS rSeries system.

vlanid
required
string

A VLAN id

Responses

Response samples

Content type
application/json
Example

When a required field is not present on the request body

{
  • "message": "Request body has an error: failed to decode request body: part filename: undefined"
}

Retrieve tenants on a VELOS chassis partition or rSeries system

Retrieves a list of tenants for a specific F5 VELOS chassis partition or rSeries system.

path Parameters
id
required
string <uuid>

The UUID of a VELOS chassis partition or rSeries system.

Responses

Response samples

Content type
application/json
{
  • "summary": "A list of tenants of a stored VELOS chassis partition or rSeries system.",
  • "value": {
    }
}

Retrieve tenant on a VELOS chassis partition or rSeries system

Retrieves a specific tenant details from a specific F5 VELOS chassis partition or rSeries system.

path Parameters
id
required
string <uuid>

The UUID of a VELOS chassis partition or rSeries system.

tenantName
required
string

The tenant name deployed on a VELOS chassis partition or rSeries system.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/json
{
  • "summary": "A single tenant info deployed on a stored F5OS VELOS partition or F5OS rSeries system",
  • "value": {
    }
}

Retrieve images on a VELOS chassis partition

Retrieves a list of images of a specific F5 VELOS chassis partition.

path Parameters
id
required
string <uuid>

The UUID of a F5OS VELOS partition or F5OS rSeries system.

Responses

Response samples

Content type
application/json
{
  • "summary": "List of images of a stored VELOS chassis partition",
  • "value": {
    }
}

Authenticate a VELOS chassis partition's credentials

Send user credentials to an F5 VELOS chassis partition via proxy to check authentication.

Request Body schema: application/json
required
partition_address
required
string
partition_port
required
integer
partition_user
required
string
partition_password
required
string

Responses

Request samples

Content type
application/json
{
  • "partition_address": "10.144.191.192",
  • "partition_port": 8888,
  • "partition_user": "admin",
  • "parittion_password": "password"
}

Response samples

Content type
application/json
{
  • "status": 401,
  • "message": "Incorrect credentials"
}

Retrieve Vsphere providers

Retrieves a list of all Vsphere providers.

query Parameters
limit
integer >= 1
Default: 1000
Examples:
  • limit=1000 - return up to 1000 items per page

Limits the number of items to return per page.

page
integer >= 1
Default: 1
Examples:
  • page=1 - return page number 1

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Create a Vsphere provider

Creates a new Vsphere provider.

Request Body schema: application/json
required
type
string
name
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "vsphere us-west",
  • "connection": {
    }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "c08ae816-4849-4123-9d44-5e5ca4c1c324"
}

Retrieve a Vsphere provider

Retrieves a specific Vsphere provider.

path Parameters
id
required
string <uuid>

The UUID of a Vsphere provider.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "e92346e4-1b66-4ba6-ab18-5b0a3e113a3d",
  • "name": "my vsphere",
  • "connection": {
    }
}

Update a Vsphere provider

Updates a specific Vsphere provider.

path Parameters
id
required
string <uuid>

The UUID of a Vsphere provider.

Request Body schema: application/json
required
type
string
name
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "vsphere us-west",
  • "connection": {
    }
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "e92346e4-1b66-4ba6-ab18-5b0a3e113a3d",
  • "name": "My Vsphere provider",
  • "connection": {
    }
}

Delete a Vsphere provider

Deletes a Vsphere provider.

path Parameters
id
required
string <uuid>

The UUID of a Vsphere provider.

Responses

Response samples

Content type
application/json
Example

When a required field is not present on the request body

{
  • "message": "Request body has an error: failed to decode request body: part filename: undefined"
}

Quick View

Quick View APIs may operate on Quick View resources of the F5® BIG-IP® Next Central Manager.

Retrieve all QKViews

Retrieves a list of all the QKViews in the space.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve QKView configuration

Retrieves configuration variable details for QKView feature.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Update QKView configuration

Updates QKView configuration values.

Request Body schema: application/json
required
Array
key
required
string
value
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Certificate

Certificate APIs may operate on certificate management resources of the F5® BIG-IP® Next Central Manager.

Create certificate/key/csr

Requests to create certificate, key, and certificate signing request (CSR).

Request Body schema: application/json
required
issuer
required
string
Enum: "Self" "CA"

issuer details

name
required
string [ 1 .. 32768 ] characters ^[^\d._-][\w\d._-]+$

the unique user-given name of the certificate. Certificate names cannot contain spaces or special characters. allowed characters are a-z, A-Z, 0-9, dot(.), dash (-) and underscore (_) starting with only a-z, A-Z.

common_name
required
string [ 1 .. 64 ] characters

the common_name of the certificate cannot be empty

division
Array of strings[ items non-empty ]

division

organization
Array of strings[ items [ 1 .. 64 ] characters ]

organization

locality
Array of strings[ items [ 1 .. 128 ] characters ]

locality

state
Array of strings[ items [ 1 .. 128 ] characters ]

state/province

country
Array of strings[^[A-Z]{2}$]

country

email
Array of strings <email> [ items <email > <= 128 characters ]

email

subject_alternative_name
string
duration_in_days
required
integer <int64> >= 1

duration in days

key_type
required
string
Enum: "RSA" "ECDSA"

key type

key_size
integer <int64>
Enum: 2048 3072 4096

supported key size for RSA

key_curve_name
string
Enum: "prime256v1" "secp384r1"

supported curve names for ECDSA

key_passphrase
string[^`$&()|\";'<>?]+

key passphrase

administrator_email
string <email>

administrator email

challenge_password
string

challenge password

source
string
Default: "Traffic"
Enum: "Traffic" "Access" "GSLB"

tag for certificate source

isCA
boolean
Default: false

tag to specify if CA

Responses

Request samples

Content type
application/json
{
  • "name": "test_crt",
  • "common_name": "bigq.com",
  • "issuer": "Self",
  • "key_type": "RSA",
  • "duration_in_days": 90
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/certificates/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Import certificate/key

Requests to import certificates/keys.

Request Body schema: application/json
required
name
string [ 1 .. 32768 ] characters ^[^\d._-][\w\d._-]+$

the unique user-given name of the certificate. Certificate names cannot contain spaces or special characters. allowed characters are a-z, A-Z, 0-9, dot(.), dash (-) and underscore (_) starting with only a-z, A-Z.

id
string <uuid>

uuid of the certificate

cert_text
string

certificate content

cert_passphrase
string

certificate password for pkcs12 import

key_text
string

key content

key_passphrase
string[^`$&()|\";'<>?]+

key passphrase

import_type
string
Enum: "PEM" "PKCS12"
source
string
Default: "Traffic"
Enum: "Traffic" "Access" "GSLB"

tag for certificate source

Responses

Request samples

Content type
application/json
{
  • "name": "test_crt",
  • "common_name": "bigq.com",
  • "issuer": "Self",
  • "key_type": "RSA"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/certificates/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Renew certificate

Requests to renew certificates.

Request Body schema: application/json
required
issuer
string
Enum: "Self" "CA"

issuer details

id
required
string <uuid>
common_name
string [ 1 .. 64 ] characters

the common_name of the certificate cannot be empty

division
Array of strings[ items non-empty ]

division

organization
Array of strings[ items [ 1 .. 64 ] characters ]

organization

locality
Array of strings[ items [ 1 .. 128 ] characters ]

locality

state
Array of strings[ items [ 1 .. 128 ] characters ]

state/province

country
Array of strings[^[A-Z]{2}$]

country

email
Array of strings <email> [ items <email > <= 128 characters ]

email

subject_alternative_name
string
duration_in_days
integer <int64> >= 1

duration in days

key_type
string
Enum: "RSA" "ECDSA"
key_size
integer <int64>
Enum: 2048 3072 4096

supported key size for RSA

key_curve_name
string
Enum: "prime256v1" "secp384r1"

supported curve names for ECDSA

key_passphrase
string[^`$&()|\";'<>?]+

key passphrase

administrator_email
string <email>

administrator email

challenge_password
string

challenge password

Responses

Request samples

Content type
application/json
{
  • "id": "43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2",
  • "common_name": "bigq.com"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "path": "/v1/certificates/43b7bd5b-5b61-4a64-8fe4-68ef8ed910f2"
}

Return certificates and keys

Requests a list of all the certificates and keys.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Delete the list of certificates

Deletes the list of certificates.

Request Body schema: application/json
required
certificates
required
Array of strings

certificate ids

ignore_device
boolean

delete even if it is deployed on a device (force delete)

Responses

Request samples

Content type
application/json
{
  • "certificates": [
    ],
  • "ignore_device": true
}

Response samples

Content type
application/hal+json
{
  • "certificates": [
    ]
}

Return certificate

Requests a specific certificate.

path Parameters
id
required
string <uuid>

uuid of certificate

Responses

Response samples

Content type
application/hal+json
{
  • "size": 0,
  • "public_key_type": "string",
  • "public_key_size": 0,
  • "public_key_curve_name": "string",
  • "subject": "string",
  • "fingerprint": "string",
  • "checksum": "string",
  • "is_bundle": true,
  • "serial_number": 0,
  • "version": "string",
  • "expiration_date_time": "string",
  • "content": "string",
  • "source": "Traffic",
  • "_links": {
    }
}

Delete a certificate

Deletes a specific certificate.

path Parameters
id
required
string <uuid>

uuid of certificate

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0
}

Return certificate content

Requests the content of a specific certificate.

path Parameters
id
required
string <uuid>

uuid of certificate

topic
required
string
Enum: "crt" "key" "csr"

cert or key or csr

Responses

Response samples

Content type
application/octet-stream
-----BEGIN CERTIFICATE----- MIIEnzCCA4egAwIBAgITNgAAAALTIxROJp4pfgAAAAAAAjANBgkqhkiG9w0BAQUF ... qfm+0LcKKo/84dOhsg/M1CtZ7wOawLEhlzfEFs/PtTzevks= -----END CERTIFICATE-----

Security

Security APIs may operate on security resources of the F5® BIG-IP® Next Central Manager.

Retrieve geolocations

Retrieves a list of all supported geolocations.

Responses

Response samples

Content type
application/hal+json
{
  • "countries": [
    ],
  • "_links": {
    }
}

Retrieve live update files

Retrieves a list of live update files.

path Parameters
file_type
required
string
Enum: "attack-signatures" "bot-signatures" "threat-campaigns"

The type of the live update file.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a live update file

Retrieves a specific live update file.

path Parameters
file_type
required
string
Enum: "attack-signatures" "bot-signatures" "threat-campaigns"

The type of the live update file.

id
required
string <uuid>

The UUID of the live update file.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "file_name": "ASM-AttackSignatures_20220819_082114.im",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "inactive",
  • "created": "2012-09-19 13:52:29",
  • "last_installed": "2012-09-19 13:52:29",
  • "instances": [
    ],
  • "_links": {
    }
}

Delete a live update file

Deletes a specific live update file.

path Parameters
file_type
required
string
Enum: "attack-signatures" "bot-signatures" "threat-campaigns"

The type of the live update file.

id
required
string <uuid>

The UUID of the live update file.

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve a live update file preview

Retrieves a specific live update file preview.

path Parameters
file_type
required
string
Enum: "attack-signatures" "bot-signatures" "threat-campaigns"

The type of the live update file.

id
required
string <uuid>

The UUID of the attack signatures file.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "status": "ready",
  • "added": [
    ],
  • "modified": [
    ],
  • "deleted": [
    ],
  • "_links": {
    }
}

Configure live update settings per file type

Configures live update settings per file type.

path Parameters
file_type
required
string
Enum: "attack-signatures" "bot-signatures" "threat-campaigns"

The type of the live update file.

Request Body schema: application/json
required
auto_install
boolean

Responses

Request samples

Content type
application/json
{
  • "auto_install": true
}

Response samples

Content type
application/hal+json
{
  • "auto_install": true,
  • "_links": {
    }
}

Retrieve live update settings per file type

Retrieves a live update settings per file type.

path Parameters
file_type
required
string
Enum: "attack-signatures" "bot-signatures" "threat-campaigns"

The type of the live update file.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "auto_install": true,
  • "_links": {
    }
}

Create an inspection service

Creates an inspection service.

Request Body schema: application/json
required
One of
name
required
string [ 1 .. 255 ] characters ^[^ ](.*[^ ])?$

Name of the Inspection Service.

id
string <uuid>
description
string [ 0 .. 255 ] characters

Description of the Inspection Service.

type
string [ 1 .. 32 ] characters
Enum: "tap-vlan" "tap-clone-pool"

Inspection Service type.

created_by
string
object
Array of objects
Array of objects
Array of objects (Irule)

Responses

Request samples

Content type
application/json
Example
{
  • "name": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "type": "tap-vlan",
  • "created_by": "string",
  • "network": {
    },
  • "applications": [
    ],
  • "instances": [
    ],
  • "irules": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "_links": {
    }
}

Retrieve all inspection services

Retrieves all inspection services.

Responses

Response samples

Content type
application/json
{
  • "_embedded": {
    }
}

Retrieve an inspection service

Retrieves an inspection service.

path Parameters
id
required
string <uuid>

Unique id of the Inspection Service.

Responses

Response samples

Content type
application/hal+json
Example
{
  • "name": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "type": "tap-vlan",
  • "created_by": "string",
  • "network": {
    },
  • "applications": [
    ],
  • "instances": [
    ],
  • "irules": [
    ]
}

Delete the inspection service

Deletes the inspection service.

path Parameters
id
required
string <uuid>

Unique id of the Inspection Service.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "_links": {
    }
}

Update an inspection service

Updates an inspection service.

path Parameters
id
required
string <uuid>

Unique id of the Inspection Service.

Request Body schema: application/json
required
One of
name
required
string [ 1 .. 255 ] characters ^[^ ](.*[^ ])?$

Name of the Inspection Service.

id
string <uuid>
description
string [ 0 .. 255 ] characters

Description of the Inspection Service.

type
string [ 1 .. 32 ] characters
Enum: "tap-vlan" "tap-clone-pool"

Inspection Service type.

created_by
string
object
Array of objects
Array of objects
Array of objects (Irule)

Responses

Request samples

Content type
application/json
Example
{
  • "name": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "type": "tap-vlan",
  • "created_by": "string",
  • "network": {
    },
  • "applications": [
    ],
  • "instances": [
    ],
  • "irules": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "_links": {
    }
}

Deploy an inspection service

Deploys an inspection service.

path Parameters
id
required
string <uuid>

Unique id of the Inspection Service.

Request Body schema: application/json
required
deploy-instances
Array of strings
undeploy-instances
Array of strings

Responses

Request samples

Content type
application/json
{
  • "deploy-instances": [
    ],
  • "undeploy-instances": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "deploy_instances": {
    },
  • "un_deploy_instances": {
    },
  • "_links": {
    }
}

Retrieve validation status of instances for an inspection service

Retrieves validation status of instances for an inspection service.

path Parameters
id
required
string <uuid>

Unique id of the Inspection Service.

Request Body schema: application/json
required
instances
Array of strings

Responses

Request samples

Content type
application/json
{
  • "instances": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "instances": [
    ]
}

Create a policy

Creates a policy.

Request Body schema: application/json
required
policyType
required
string (Policy Type) [ 1 .. 32 ] characters
Enum: "default" "inbound-gateway"

Type of Policy.

policyName
required
string (Policy Name) [ 1 .. 255 ] characters ^[^ ](.*[^ ])?$

unique name of the Policy.

description
string (Description) [ 0 .. 255 ] characters

Description of the Policy.

required
Array of objects (Traffic Rules set) = 1 items
Array of objects (Egress Rules set) [ 0 .. 1 ] items
Array of objects (Logging Rules set') [ 0 .. 1 ] items

Responses

Request samples

Content type
application/json
{
  • "policyType": "default",
  • "policyName": "string",
  • "description": "string",
  • "trafficRuleSets": [
    ],
  • "egressRuleSets": [
    ],
  • "loggingRuleSets": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "_links": {
    }
}

Retrieve list of policies

Retrieves list of all policies.

query Parameters
limit
integer
Example: limit=limit=2

The numbers of items to return.

page
integer
Example: page=limit=2&page=3

The page to return. Ignored if limit is not present.

sort
string
Example: ascending=sort=address,hostname&descending=sort=-hostname&mixed=sort=address,-hostname

The column name to sort the result on. Descending order is requested by prefixing the column name with a minus.

select
string
Example: select=select=name,state,status

The specific fields to return.

filter
string
Example: equality=filter=status eq 'completed'&string=filter=hostname startswith 'mbip'&numerical=port gte 80

The conditions for querying the result.

verbose
boolean
Value: true

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    }
}

Update policy

Updates a policy.

path Parameters
id
required
string <uuid>

Specify unique id of the policy.

Request Body schema: application/json
required
policyType
required
string (Policy Type) [ 1 .. 32 ] characters
Enum: "default" "inbound-gateway"

Type of Policy.

policyName
required
string (Policy Name) [ 1 .. 255 ] characters ^[^ ](.*[^ ])?$

unique name of the Policy.

description
string (Description) [ 0 .. 255 ] characters

Description of the Policy.

required
Array of objects (Traffic Rules set) = 1 items
Array of objects (Egress Rules set) [ 0 .. 1 ] items
Array of objects (Logging Rules set') [ 0 .. 1 ] items

Responses

Request samples

Content type
application/json
{
  • "policyType": "default",
  • "policyName": "string",
  • "description": "string",
  • "trafficRuleSets": [
    ],
  • "egressRuleSets": [
    ],
  • "loggingRuleSets": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "used_by_instances": [
    ],
  • "dirty_instances": [
    ],
  • "_links": {
    }
}

Retrieve policy

Retrieves a policy.

path Parameters
id
required
string <uuid>

Specify unique id of the policy.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "policy_type": "string",
  • "application_count": 0,
  • "application_ids": [
    ],
  • "referred_by_instances_count": 0,
  • "instances": [
    ],
  • "dirty_instance_ids": [
    ],
  • "last_modified": "string",
  • "config": {
    }
}

Delete policy

Deletes a policy.

path Parameters
id
required
string <uuid>

Specify unique id of the policy.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0,
  • "used_by_instances": [
    ],
  • "dirty_instances": [
    ],
  • "_links": {
    }
}

Deploy an updated SSL orchestrator policy to instances

Starts an SSL orchestrator policy deployment task to re-deploy the policy to all associated instances.

path Parameters
id
required
string <uuid>

Specify unique id of the policy.

Responses

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "_links": {
    }
}

Create inspection service chain

Creates inspection service chain.

Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

Name of the service chain

description
string

description about the service chain

inspection_services
required
Array of strings <uuid> (UUID of inspection service) [ items <uuid > <= 64 characters ]

Responses

Request samples

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

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": "string",
  • "_links": {
    }
}

Retrieve service chains

Retrieves all service chains.

Responses

Response samples

Content type
application/json
{
  • "_embedded": {
    }
}

Retrieve service chain

Retrieves a service chain.

path Parameters
id
required
string <uuid>

Unique id of the Service Chain.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "string",
  • "description": "string",
  • "policy_count": "string",
  • "inspection_services": [
    ]
}

Delete service chain

Deletes service chain.

path Parameters
id
required
string <uuid>

Unique id of the Service Chain.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": "string",
  • "_links": {
    }
}

Update service chain

Updates service chain.

path Parameters
id
required
string <uuid>

Unique id of the Service Chain.

Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

Name of the service chain

description
string

description about the service chain

inspection_services
required
Array of strings <uuid> (UUID of inspection service) [ items <uuid > <= 64 characters ]

Responses

Request samples

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

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": "string",
  • "_links": {
    }
}

Deploy an updated service chain to instances

Starts a service chain deployment task to re-deploy the affected policies to all associated instances.

path Parameters
id
required
string <uuid>

Specify unique id of service chain.

Responses

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "_links": {
    }
}

Retrieve the list of APM policies

Retrieves the list of all APM policies.

query Parameters
limit
integer
Example: limit=limit=2

The numbers of items to return.

page
integer
Example: page=limit=2&page=3

The page to return. Ignored if limit is not present.

sort
string
Example: ascending=sort=address,hostname&descending=sort=-hostname&mixed=sort=address,-hostname

The column name to sort the result on. Descending order is requested by prefixing the column name with a minus.

select
string
Example: select=select=name,state,status

The specific fields to return.

filter
string
Example: equality=filter=status eq 'completed'&string=filter=hostname startswith 'mbip'&numerical=port gte 80

The conditions for querying the result.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Create an APM Policy

Creates an APM Policy.

Request Body schema: application/json
required
name
required
string^[^ ](.*[^ ])?$

A unique name for the policy.

description
string

Description for the policy.

Array of objects (policy-properties)

Array of the policy including devices and configurations.

policy_type
string
Enum: "PerSession" "PerRequest"

Policy type.

use_case
string
Value: "SAML-SP"

Use Case of the policy.

deployment_status
string

Deployment Status of the policy.

generation
integer <int32>

Integer to keep track of updates.

created
string <date-time>

Time at which the policy was originally created.

updated
string <date-time>

Time when the policy was last updated.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "properties": [
    ],
  • "policy_type": "PerSession",
  • "use_case": "SAML-SP",
  • "deployment_status": "string",
  • "generation": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "updated": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/hal+json
{
  • "name": "string",
  • "description": "string",
  • "properties": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "connectivity_policy_id": "d8222470-0e32-468b-87a8-5428ff76f974",
  • "policy_type": "PerSession",
  • "use_case": "SAML-SP",
  • "deployment_status": "string",
  • "generation": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "updated": "2019-08-24T14:15:22Z",
  • "_links": {
    }
}

Retrieve the APM policy in a json format

Retrieves the APM policy in a json format.

path Parameters
id
required
string <uuid>

Unique ID for the policy.

query Parameters
instance_id
string <uuid>

Instance in which the policy is deployed.

application_name
string

Name of the application in which the policy is deployed.

include_networks
boolean

Include networks details in a policy.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "created": "2021-05-06T18:37:14.698167Z",
  • "deploymentStatus": "DRAFT",
  • "description": "Description for the policy.",
  • "generation": 1,
  • "name": "SAML SP Service Access Policy",
  • "policyID": "b6bd0706-2865-4b6f-97e0-aac23df94ed6",
  • "policyType": "PerSession",
  • "properties": [
    ],
  • "updated": "2021-05-06T18:37:14.698167Z"
}

Delete the APM policy

Deletes the APM policy.

path Parameters
id
required
string <uuid>

Unique ID for the policy.

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string"
}

Update the APM policy

Updates the APM policy.

path Parameters
id
required
string <uuid>

Unique ID for the policy.

query Parameters
disableAutoDeploy
boolean
Example: disableAutoDeploy=true

Do not auto deploy when disableAutoDeploy is set to true

Request Body schema: application/json
required
name
required
string^[^ ](.*[^ ])?$

A unique name for the policy.

description
string

Description for the policy.

Array of objects (policy-properties)

Array of the policy including devices and configurations.

policy_type
string
Enum: "PerSession" "PerRequest"

Policy type.

use_case
string
Value: "SAML-SP"

Use Case of the policy.

deployment_status
string

Deployment Status of the policy.

generation
integer <int32>

Integer to keep track of updates.

created
string <date-time>

Time at which the policy was originally created.

updated
string <date-time>

Time when the policy was last updated.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "properties": [
    ],
  • "policy_type": "PerSession",
  • "use_case": "SAML-SP",
  • "deployment_status": "string",
  • "generation": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "updated": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "properties": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "connectivity_policy_id": "d8222470-0e32-468b-87a8-5428ff76f974",
  • "policy_type": "PerSession",
  • "use_case": "SAML-SP",
  • "deployment_status": "string",
  • "generation": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "updated": "2019-08-24T14:15:22Z",
  • "_links": {
    }
}

Discover the OAuth provider

Discovers the OAuth provider.

Request Body schema: application/json
required
providerUri
required
string

Responses

Request samples

Content type
application/json
{
  • "providerUri": "string"
}

Response samples

Content type
application/json
{
  • "providerUri": "string",
  • "configuration": { }
}

Retrieve active sessions on all discovered instances

Retrieves the list of active sessions on all discovered instances.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "sessionId": "48acfb53",
  • "status": "established",
  • "user": "",
  • "clientIp": "172.18.1.96",
  • "startTime": "2022-06-09T17:45:38Z",
  • "expirationTime": "2022-06-09T18:00:55Z",
  • "policyName": "Start_Allow_Policy_bh_1",
  • "instanceId": "990cfa6e-e9cb-4e0d-bb1b-1dcd55f978d2",
  • "hostname": "big-ip-next.com"
}

Retrieve active sessions as json

Retrieves a list of active sessions in a json format.

path Parameters
instance-id
required
string <uuid>

Unique BIG-IP Next instance ID for the session in which it is generated.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "sessionId": "48acfb53",
  • "status": "established",
  • "user": "",
  • "clientIp": "172.18.1.96",
  • "startTime": "2022-06-09T17:45:38Z",
  • "expirationTime": "2022-06-09T18:00:55Z",
  • "policyName": "Start_Allow_Policy_bh_1",
  • "instanceId": "990cfa6e-e9cb-4e0d-bb1b-1dcd55f978d2",
  • "hostname": "big-ip-next.com"
}

Retrieve the active session

Retrieves the active session in a json format.

path Parameters
instance-id
required
string <uuid>

Unique BIG-IP Next instance ID for the session in which it is generated.

session-id
required
string

Unique session ID for the session on the BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "sessionId": "48acfb53",
  • "status": "established",
  • "user": "",
  • "clientIp": "172.18.1.96",
  • "startTime": "2022-06-09T17:45:38Z",
  • "expirationTime": "2022-06-09T18:00:55Z",
  • "policyName": "Start_Allow_Policy_bh_1",
  • "hostname": "big-ip-next.com"
}

End the active session

Ends the active session on the BIG-IP Next instance.

path Parameters
instance-id
required
string <uuid>

Unique BIG-IP Next instance ID for the session in which it is generated.

session-id
required
string

Unique session ID for the session on the BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "message": "Session <sessionId> successfully terminated on BIG-IP Next instance <instanceId>."
}

Retrieve active session variables as JSON

Retrieves the active session variables in a JSON format.

path Parameters
instance-id
required
string <uuid>

Unique BIG-IP Next instance ID for the session in which it is generated.

session-id
required
string

Unique session ID for the session on the BIG-IP Next instance.

Responses

Response samples

Content type
application/hal+json
{
  • "session.user.sessionid": "adbb118e",
  • "session.access.named_scope": "",
  • "session.access.profile": "297f395d-ebdf-548c-a7eb-38299270f1e9",
  • "session.access.profile_name": "my_access_policy",
  • "session.access.profileid": "297f395d-ebdf-548c-a7eb-38299270f1e9",
  • "session.access.profiletype": "2",
  • "session.access.scope": "2",
  • "session.client.activex": "0",
  • "session.client.browscap_info": "uimode=0&ctype=unknown&cversion=0&cjs=0&cactivex=0&cplugin=0&cplatform=unknown&cpu=unknown&ccustom_protocol=0",
  • "session.client.cpu": "unknown",
  • "session.client.custom_protocol": "0",
  • "session.client.js": "0",
  • "session.client.platform": "unknown",
  • "session.client.plugin": "0",
  • "session.client.type": "unknown",
  • "session.client.version": "0",
  • "session.createdfrom": "ACCESS",
  • "session.edgeclient.scripting.logoff.params": "",
  • "session.ha_unit": " 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000",
  • "session.inactivity_timeout": "900",
  • "session.keydb.current": "532a43389615110f459da9d2adbb118e",
  • "session.keydb.final": "fdcdb63fd9a1a6066d32624fadbb118e",
  • "session.logon.last.username": "joe",
  • "session.max_session_timeout": "604800",
  • "session.policy.result": "not_started",
  • "session.server.landinguri": "/",
  • "session.server.listener.name": "30d1132b-c203-5979-bb5b-00071d6551df",
  • "session.server.network.name": "10.0.66.159",
  • "session.server.network.port": "80",
  • "session.server.network.protocol": "http",
  • "session.snapshotid": "6d12e33910f_1ooooooooooooooooooo",
  • "session.state": "allow",
  • "session.stats.bytes.in": "0",
  • "session.stats.bytes.out": "0",
  • "session.stats.egress.compressed": "0",
  • "session.stats.egress.raw": "0",
  • "session.stats.ingress.compressed": "0",
  • "session.stats.ingress.raw": "0",
  • "session.stats.packets.in": "0",
  • "session.stats.packets.out": "0",
  • "session.timeout": "eval_timed_out",
  • "session.ui.lang": "en",
  • "session.ui.mode": "0",
  • "session.user.agent": "curl/7.68.0",
  • "session.user.clientip": "201.12.12.10",
  • "session.user.display_sessionid": "adbb118e",
  • "session.user.expirationtime": "1654568309",
  • "session.user.starttime": "1654562309"
}

Retrieve epsec file details

Retrieves the parsed contents of the epsec file

path Parameters
file_id
required
string <uuid>

UUID of file

Responses

Response samples

Content type
application/hal+json
{ }

Request to parse epsec file

Requests to parse the contents of the epsec file.

path Parameters
file_id
required
string <uuid>

UUID of file

Responses

Response samples

Content type
application/hal+json
"string"

Delete parsed epsec details

Deletes the previously saved parsed result of epsec file.

path Parameters
file_id
required
string <uuid>

UUID of file

Responses

Response samples

Content type
application/hal+json
"string"

Extract identity provider details from metadata and returns idpConnector as JSON

Extracts identity provider details from metadata and returns idpConnector as JSON.

Request Body schema: application/json
required
metadata
string
metadata_url
string
name
string

Responses

Request samples

Content type
application/json
{
  • "metadata": "string",
  • "metadata_url": "string",
  • "name": "string"
}

Response samples

Content type
application/hal+json
{
  • "id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
  • "name": "string",
  • "description": "string",
  • "serverType": "SamlIdPConnector",
  • "entityId": "http://example.com",
  • "nameQualifier": "",
  • "wantAuthnRequestSigned": false,
  • "wantDetachedSignature": false,
  • "signatureType": "sha1",
  • "errorReportingUrl": "http://example.com",
  • "identityLocation": "subject",
  • "identityLocationAttribute": "string",
  • "certificate": "string",
  • "samlArtifactResolutionService": {
    },
  • "singleLogoutUri": "http://example.com",
  • "singleLogoutResponseUri": "http://example.com",
  • "singleLogoutBinding": "http-post",
  • "ssoUri": "http://example.com",
  • "ssoBinding": "http-post"
}

Read service provider details from JSON and returns service provider metadata

Reads service provider details from JSON and returns service provider metadata.

Request Body schema: application/json
required
any (ExportSamlSpRequest)

Responses

Request samples

Content type
application/json
{
  • "name": "testSamlSpExport",
  • "acsBinding": "http-artifact",
  • "isAuthnRequestSigned": true,
  • "wantAssertionEncrypted": true,
  • "wantAssertionSigned": true,
  • "signingCertificate": "CertificateSigned.crt",
  • "signingPrivateKey": "CertificateSigned.pem",
  • "decryptionCertificate": "certificateDecryption.crt",
  • "decryptionKey": "certificateDecryption.pem",
  • "authCtxComparisonType": "exact",
  • "forceAuthn": false,
  • "allowNameIdentifierCreation": true,
  • "nameIdFormat": "emailAddress",
  • "relayState": "RelayState",
  • "nameIdSpNameQualifier": "testNameIdSp",
  • "providerName": "ProviderName",
}

Response samples

Content type
application/hal+json
{
  • "name": "testSamlSpExport",
  • "metadata": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <EntityDescriptor entityID=\"https://access.testing.com\" ID=\"975c1ca4-850a-45ab-bae2-67db97ad3809\" xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\">\n <AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-artifact\" Index=\"0\" isDefault=\"true\" Location=\"https://access.spurittesingig.com/saml/sp/profile/post/acs\"></AssertionConsumerService>\n <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress</NameIDFormat>\n <SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://access.spurittesingig.com/saml/sp/profile/post/slo\" ResponseLocation=\"https://access.spurittesingig.com/saml/sp/profile/post/slo\"></SingleLogoutService>\n <SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://access.spurittesingig.com/saml/sp/profile/redirect/slo\" ResponseLocation=\"https://access.spurittesingig.com/saml/sp/profile/redirect/slo\"></SingleLogoutService>\n <SPSSODescriptor AuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\" WantAssertionsSigned=\"true\">\n <keyDescriptor use=\"signing\">\n <KeyInfo>\n <X509Data>\n <X509Certificate>MIIDdTCCAl2gAwIBAgIUJEJ6MeFK+J3MBU50gkbTdFsM2iYwDQYJKoZIhvcNAQELBQAwSjELMAkGA1UEBhMCQVUxCzAJBgNVBAgMAk5KMQswCQYDVQQHDAJOWTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMB4XDTIyMDQyMTE1NDgyNFoXDTMyMDQxODE1NDgyNFowSjELMAkGA1UEBhMCQVUxCzAJBgNVBAgMAk5KMQswCQYDVQQHDAJOWTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6SfwtQl4gC30fiBq4fJqbAUtMifsW27hjt6Iclu8SPFaelKG9N40Hlr1X7jb2agNoSZl+zq8KQ2PjDDTOJm/OWkt0d2Y5J/U3wHhW9sx6TERAME+98fdBf4O1+m7tjnPHCqg92g6upDWFm2FHGIDVvWrQYzuECrjZlFZPMWpl/efqEPGGPo9QB/xEWA9DPOOVjWb5wSULd5pJUN5rHDihQrvdZ7Wm4kMQmEL9iZVuP1d/mAwRl5MJRUB1XUsLW5HzsP5S/burT2S1cy84BfZhbNavX46lu+wBfCW2w4R0AEc/Lbt+rZcV5x+TWD82GwdpgqB/qspNEfNGIm/l3QIswIDAQABo1MwUTAdBgNVHQ4EFgQUI/gxRHNXNVF7tXCrwgvU79QvyRgwHwYDVR0jBBgwFoAUI/gxRHNXNVF7tXCrwgvU79QvyRgwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAlA8y1Tjujo4MJCCrE7ehXUxUmCoWPCNmUshmH091x2aKy6EfUR9E7YOh/HqozfXOzcz4K/AWVClfVa016D3xxO93tri9Jvk7MbvnkXvXnfI2Fd72cmJwU2GbNjXOaG6qHL1Y/EFkW7m8coHD3Pg2R5TzZ9+FYj9fWs7zC98syBPY3yu8jECLjR1GtVy8TEVmqjqYn4wjzwPjuuApmIOlwr/0GzCNbq/buapnHR00baVpV6icALxaJHlcAmBWGMRWiJ24at1BivZN/jLa5c2CzA1PK8F6BiXbABA75O6TYxJbxIkTnHbNQ5a5KlsrYGWR5WH84ruwPoYsHpsxPiXbAB==</X509Certificate>\n </X509Data>\n </KeyInfo>\n </keyDescriptor>\n <keyDescriptor use=\"encryption\">\n <KeyInfo>\n <X509Data>\n <X509Certificate>MIIDdTCCAl2gAwIBAgIUJEJ6MeFK+J3MBU50gkbTdFsM2iYwDQYJKoZIhvcNAQELBQAwSjELMAkGA1UEBhMCQVUxCzAJBgNVBAgMAk5KMQswCQYDVQQHDAJOWTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMB4XDTIyMDQyMTE1NDgyNFoXDTMyMDQxODE1NDgyNFowSjELMAkGA1UEBhMCQVUxCzAJBgNVBAgMAk5KMQswCQYDVQQHDAJOWTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6SfwtQl4gC30fiBq4fJqbAUtMifsW27hjt6Iclu8SPFaelKG9N40Hlr1X7jb2agNoSZl+zq8KQ2PjDDTOJm/OWkt0d2Y5J/U3wHhW9sx6TERAME+98fdBf4O1+m7tjnPHCqg92g6upDWFm2FHGIDVvWrQYzuECrjZlFZPMWpl/efqEPGGPo9QB/xEWA9DPOOVjWb5wSULd5pJUN5rHDihQrvdZ7Wm4kMQmEL9iZVuP1d/mAwRl5MJRUB1XUsLW5HzsP5S/burT2S1cy84BfZhbNavX46lu+wBfCW2w4R0AEc/Lbt+rZcV5x+TWD82GwdpgqB/qspNEfNGIm/l3QIswIDAQABo1MwUTAdBgNVHQ4EFgQUI/gxRHNXNVF7tXCrwgvU79QvyRgwHwYDVR0jBBgwFoAUI/gxRHNXNVF7tXCrwgvU79QvyRgwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAlA8y1Tjujo4MJCCrE7ehXUxUmCoWPCNmUshmH091x2aKy6EfUR9E7YOh/HqozfXOzcz4K/AWVClfVa016D3xxO93tri9Jvk7MbvnkXvXnfI2Fd72cmJwU2GbNjXOaG6qHL1Y/EFkW7m8coHD3Pg2R5TzZ9+FYj9fWs7zC98syBPY3yu8jECLjR1GtVy8TEVmqjqYn4wjzwPjuuApmIOlwr/0GzCNbq/buapnHR00baVpV6icALxaJHlcAmBWGMRWiJ24at1BivZN/jLa5c2CzA1PK8F6BiXbABA75O6TYxJbxIkTnHbNQ5a5KlsrYGWR5WH84ruwPoYsHpsxPiXbAB==</X509Certificate>\n </X509Data>\n </KeyInfo>\n </keyDescriptor>\n </SPSSODescriptor>\n </EntityDescriptor>"
}

Retrieve available client files as JSON

Retrieves available client files in a JSON format.

query Parameters
file_type
string
Example: equality=file_type='vpn'

The conditions for querying the result.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve a client file identified by the given file id

Retrieves a client file information and instances identified by the given file id.

path Parameters
file_id
required
string <uuid>

Client file UUID.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "version": "string",
  • "size": "string",
  • "updated": "string",
  • "installs": [
    ],
  • "epsec": {
    }
}

Install file

Installs file.

path Parameters
file_id
required
string <uuid>

The install file UUID.

Request Body schema: application/json
required
required
Array of objects (InstanceDetails)

Responses

Request samples

Content type
application/json
{
  • "instances": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "_links": {
    }
}

WAF

Enables certain operations for WAF from the F5® BIG-IP® Next Central Manager.

Retrieve WAF templates

Retrieves a list of WAF templates.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a WAF template

Retrieves a specific WAF template.

path Parameters
id
required
string <uuid>

UUID of WAF template

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "entity_name",
  • "enforcement_mode": "blocking",
  • "is_default_template": true,
  • "application_language": "utf-8",
  • "template_name": "Advanced-Protection",
  • "last_modified": "2019-08-24T14:15:22Z",
  • "created_time": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "tags": [
    ],
  • "applications": [
    ],
  • "last_deployed": "2019-08-24T14:15:22Z",
  • "last_dry_run": "2019-08-24T14:15:22Z",
  • "declaration": {
    },
  • "_links": {
    }
}

Retrieve WAF policies

Retrieves a list of WAF policies.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Create a policy using a template

Creates a policy using a template's default settings.

Request Body schema: application/json
required
description
string <= 255 characters

Specifies the description of the policy.

enforcement_mode
string
Enum: "blocking" "transparent"

How BIG-IP MA processes a request that triggers a security policy violation.

  • Blocking: When the enforcement mode is set to blocking, any triggered violation is blocked (configured for blocking).
  • Transparent: When the enforcement mode is set to transparent, traffic is not blocked even if a violation is triggered.
application_language
string

The character encoding for the web application. Character encoding determines how the policy processes the character sets. The default is Auto detect.

tags
Array of strings

Tags for marking policies.

case_insensitive
boolean

Specifies whether the security policy treats microservice URLs, file types, URLs, and parameters as case-sensitive or not. When this setting is enabled, BIG-IP MA stores these security policy elements in lowercase in the security policy configuration.

name
required
string <= 192 characters ^[-a-zA-Z0-9._/:]+$

The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).

template_name
string

The name of the template used to create the security policy.

declaration
object

A part of the policy declaration that overrides the template.

Responses

Request samples

Content type
application/json
{
  • "description": "WAF policy description",
  • "enforcement_mode": "blocking",
  • "application_language": "utf-8",
  • "tags": [
    ],
  • "case_insensitive": true,
  • "name": "new_waf_policy",
  • "template_name": "Advanced-Protection",
  • "declaration": { }
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "entity_name",
  • "enforcement_mode": "blocking",
  • "is_default_template": true,
  • "application_language": "utf-8",
  • "template_name": "Advanced-Protection",
  • "last_modified": "2019-08-24T14:15:22Z",
  • "created_time": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "tags": [
    ],
  • "applications": [
    ],
  • "last_deployed": "2019-08-24T14:15:22Z",
  • "last_dry_run": "2019-08-24T14:15:22Z",
  • "declaration": {
    },
  • "_links": {
    }
}

Retrieve a WAF policy

Retrieves a specific WAF policy.

path Parameters
id
required
string <uuid>

UUID of WAF policy

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "entity_name",
  • "enforcement_mode": "blocking",
  • "is_default_template": true,
  • "application_language": "utf-8",
  • "template_name": "Advanced-Protection",
  • "last_modified": "2019-08-24T14:15:22Z",
  • "created_time": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "tags": [
    ],
  • "applications": [
    ],
  • "last_deployed": "2019-08-24T14:15:22Z",
  • "last_dry_run": "2019-08-24T14:15:22Z",
  • "declaration": {
    },
  • "_links": {
    }
}

Delete a policy

Deletes a specific WAF policy.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Update a policy

Updates a specific WAF policy.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
id
string <uuid>

UUID of WAF template/policy.

name
string

WAF template/policy name.

enforcement_mode
string
Enum: "blocking" "transparent"

How BIG-IP MA processes a request that triggers a security policy violation.

  • Blocking: When the enforcement mode is set to blocking, any triggered violation is blocked (configured for blocking).
  • Transparent: When the enforcement mode is set to transparent, traffic is not blocked even if a violation is triggered.
is_default_template
boolean

Defined whether template is the default template.

application_language
string

The character encoding for the web application. The character encoding determines how the policy processes the character sets. The default is Auto detect.

template_name
string

The name of the template upon which the policy is based.

last_modified
string <date-time>

Last time the policy/template was modified.

created_time
string <date-time>

Time the policy/template was created.

created_by
string

User ID or application name which created the policy/template.

tags
Array of strings

Tags for marking policies.

Array of objects (schemas-Applications)

Policy is enforced on applications.

last_deployed
string <date-time>

Last time the policy was deployed.

last_dry_run
string <date-time>

Last time the policy was verified.

required
object (Declaration)

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "entity_name",
  • "enforcement_mode": "blocking",
  • "is_default_template": true,
  • "application_language": "utf-8",
  • "template_name": "Advanced-Protection",
  • "last_modified": "2019-08-24T14:15:22Z",
  • "created_time": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "tags": [
    ],
  • "applications": [
    ],
  • "last_deployed": "2019-08-24T14:15:22Z",
  • "last_dry_run": "2019-08-24T14:15:22Z",
  • "declaration": {
    }
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "entity_name",
  • "enforcement_mode": "blocking",
  • "is_default_template": true,
  • "application_language": "utf-8",
  • "template_name": "Advanced-Protection",
  • "last_modified": "2019-08-24T14:15:22Z",
  • "created_time": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "tags": [
    ],
  • "applications": [
    ],
  • "last_deployed": "2019-08-24T14:15:22Z",
  • "last_dry_run": "2019-08-24T14:15:22Z",
  • "declaration": {
    },
  • "_links": {
    }
}

Retrieve policy general settings

Retrieves a list of the policy general settings.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Responses

Response samples

Content type
application/hal+json
{
  • "description": "WAF policy description",
  • "enforcement_mode": "blocking",
  • "application_language": "utf-8",
  • "tags": [
    ],
  • "case_insensitive": true,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "waf_policy",
  • "template": {
    },
  • "allowed_response_codes": [
    ],
  • "trust_xff": true,
  • "custom_xff_headers": [
    ],
  • "maximum_http_header_length": 1,
  • "maximum_cookie_header_length": 1,
  • "disallowed_geolocations": [
    ],
  • "applications": [
    ],
  • "last_modified": "2019-08-24T14:15:22Z",
  • "last_deployed": "2019-08-24T14:15:22Z",
  • "_links": {
    }
}

Update policy general settings

Updates the policy general settings.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
description
string <= 255 characters

Specifies the description of the policy.

enforcement_mode
string
Enum: "blocking" "transparent"

How BIG-IP MA processes a request that triggers a security policy violation.

  • Blocking: When the enforcement mode is set to blocking, any triggered violation is blocked (configured for blocking).
  • Transparent: When the enforcement mode is set to transparent, traffic is not blocked even if a violation is triggered.
application_language
string

The character encoding for the web application. Character encoding determines how the policy processes the character sets. The default is Auto detect.

tags
Array of strings

Tags for marking policies.

case_insensitive
boolean

Specifies whether the security policy treats microservice URLs, file types, URLs, and parameters as case-sensitive or not. When this setting is enabled, BIG-IP MA stores these security policy elements in lowercase in the security policy configuration.

id
string <uuid>

UUID of WAF policy.

name
string

The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).

object
allowed_response_codes
Array of integers

Specifies which responses a security policy permits. By default, BIG-IP MA accepts all response codes from 100 to 399 as valid responses. Response codes from 400 to 599 are considered invalid unless added to the Allowed Response Status Codes list. By default, 400, 401, 404, 407, 417, and 503 are on the list as allowed HTTP response status codes.

trust_xff
boolean

When enabled, BIG-IP MA uses the XFF (X-Forwarded-For) header in the request. If this option is disabled, the XFF header is not considered trusted. This setting is disabled by default.

Enable this option if BIG-IP MA is deployed behind an internal or other trusted proxy. BIG-IP MA then can use the IP address that initiated the connection to the proxy instead of the internal proxy's IP address.

Leave this option disabled if you think the HTTP header might be spoofed or crafted by a malicious client. With this setting disabled, if BIG-IP MA is deployed behind an internal proxy, it uses the internal proxy's IP address instead of the client's IP address.

custom_xff_headers
Array of strings

If you require BIG-IP MA to trust a server further than one hop toward the client (the last proxy traversed), you can use the Custom XFF (X-Forwarded-For) Headers setting to define a specific header that is inserted closer to, or at the client, that BIG-IP MA will trust. Additionally, if you require the BIG-IP MA to trust a proxy server that uses a different header name than the XFF header name, you can add that header name to the Custom XFF Headers setting. If you add a custom header, BIG-IP MA no longer trusts the XFF header. For BIG-IP MA to trust the XFF header, you must add it to the custom headers list.

integer or string

Maximum HTTP Header Length must be greater than 0 and less than 65536 bytes (64K). Note: If set to 0 or any, then BIG-IP MA does not restrict the HTTP header length.

integer or string

Maximum Cookie Header Length must be greater than 0 and less than 65536 bytes (64K). Note:If 0 or any are set, then no restriction on the cookie header length is applied.

Array of objects
Array of objects (schemas-Applications)

Policy is enforced on applications.

last_modified
string <date-time>

Last time the policy was modified.

last_deployed
string <date-time>

Last time the policy was deployed.

Responses

Request samples

Content type
application/json
{
  • "description": "WAF policy description",
  • "enforcement_mode": "blocking",
  • "application_language": "utf-8",
  • "tags": [
    ],
  • "case_insensitive": true,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "waf_policy",
  • "template": {
    },
  • "allowed_response_codes": [
    ],
  • "trust_xff": true,
  • "custom_xff_headers": [
    ],
  • "maximum_http_header_length": 1,
  • "maximum_cookie_header_length": 1,
  • "disallowed_geolocations": [
    ],
  • "applications": [
    ],
  • "last_modified": "2019-08-24T14:15:22Z",
  • "last_deployed": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/hal+json
{
  • "description": "WAF policy description",
  • "enforcement_mode": "blocking",
  • "application_language": "utf-8",
  • "tags": [
    ],
  • "case_insensitive": true,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "waf_policy",
  • "template": {
    },
  • "allowed_response_codes": [
    ],
  • "trust_xff": true,
  • "custom_xff_headers": [
    ],
  • "maximum_http_header_length": 1,
  • "maximum_cookie_header_length": 1,
  • "disallowed_geolocations": [
    ],
  • "applications": [
    ],
  • "last_modified": "2019-08-24T14:15:22Z",
  • "last_deployed": "2019-08-24T14:15:22Z",
  • "_links": {
    }
}

Retrieve policy disallowed geolocations

Retrieves a list of the policy disallowed geolocations.

path Parameters
id
required
string <uuid>

UUID of WAF policy

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a policy disallowed geolocation

Retrieves a specific policy disallowed geolocation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

country_id
required
string <uuid>

UUID of disallowed geolocation

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "Sierra Leone",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "_links": {
    }
}

Retrieve policy signature-sets

Retrieves a list of policy signature-sets.

path Parameters
id
required
string <uuid>

UUID of WAF policy

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Create a policy signature-set

Creates a policy signature-set.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
action
string
Enum: "none" "alarm" "block"

Action applied to the signature-set.

id
string <uuid>

UUID of WAF signature-set.

name
required
string

WAF signature-set name.

Responses

Request samples

Content type
application/json
{
  • "action": "none",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Generic Detection Signatures (High/Medium Accuracy)"
}

Response samples

Content type
application/hal+json
{
  • "action": "none",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Generic Detection Signatures (High/Medium Accuracy)",
  • "_links": {
    }
}

Retrieve a policy signature-set

Retrieves a specific policy signature-set.

path Parameters
id
required
string <uuid>

UUID of WAF policy

set_id
required
string <uuid>

UUID of signature-set

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "action": "none",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Generic Detection Signatures (High/Medium Accuracy)",
  • "accuracy_filter": "all",
  • "accuracy_value": "all",
  • "_links": {
    }
}

Update a policy signature-set

Updates a specific policy signature-set.

path Parameters
id
required
string <uuid>

UUID of WAF policy

set_id
required
string <uuid>

UUID of signature-set

Request Body schema: application/json
required
action
string
Enum: "none" "alarm" "block"

Action applied to the signature-set.

Responses

Request samples

Content type
application/json
{
  • "action": "none"
}

Response samples

Content type
application/hal+json
{
  • "action": "none",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Generic Detection Signatures (High/Medium Accuracy)",
  • "_links": {
    }
}

Delete a policy signature-set

Deletes a specific policy signature-set.

path Parameters
id
required
string <uuid>

UUID of WAF policy

set_id
required
string <uuid>

UUID of signature-set

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve policy IP addresses

Retrieves a list of policy IP addresses.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a policy IP address

Retrieves a specific policy IP address.

path Parameters
id
required
string <uuid>

UUID of WAF policy

ip_address_and_mask
required
string
Examples:
  • 1.2.3.4~255.255.255.255 - IPv4 IP address ~ IP mask
  • 1080::800:200c:417a~ffff:ffff:ffff:ffff:ffff:ffff - IPv6 IP address ~ IP mask
  • 192.168.9.15~24 - IPv4 IP address ~ IP mask CIDR
  • 2001:0db8:85a3:0000:0000:8a2e:0370:7334~24 - IPv6 IP address ~ IP mask CIDR
  • 1.2.3.4 - IPv4 IP address
  • 2001:0db8:85a3:0000:0000:8a2e:0370:7334 - IPv6 IP address

IP address and mask (optional), separated by tilde

Responses

Response samples

Content type
application/hal+json
{
  • "ip_address": "1.2.3.4",
  • "ip_mask": "255.255.255.255",
  • "blocking_mode": "always",
  • "never_learn_requests": true,
  • "never_log_requests": true,
  • "trusted_by_policy_builder": true,
  • "policies": [
    ],
  • "_links": {
    }
}

Retrieve policy signatures

Retrieves a list of policy signatures.

path Parameters
id
required
string <uuid>

UUID of WAF policy

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a policy signature

Retrieves a specific policy signature.

path Parameters
id
required
string <uuid>

UUID of WAF policy

sig_id
required
string[2-3]{1}[0-9]{8}

WAF signature ID

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "HTML5 Entity (num) (Parameter)",
  • "id": 0,
  • "matches_within_parameter": true,
  • "matches_within_cookie": true,
  • "matches_within_json": true,
  • "matches_within_gwt": true,
  • "matches_within_xml": true,
  • "matches_within_response": true,
  • "matches_within_request": true,
  • "matches_within_uri": true,
  • "matches_within_header": true,
  • "matches_within_plainText": true,
  • "signature_type": "request",
  • "attack_type": "Remote File Include",
  • "systems": [
    ],
  • "risk": "low",
  • "accuracy": "low",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "signature-sets": [
    ],
  • "description": "Signature description",
  • "is_user_defined": true,
  • "status": "enforced",
  • "_links": {
    }
}

Retrieve a list of signature details

Retrieves a list of signature details.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve signature details

Returns signature details.

path Parameters
sig_id
required
string[2-3]{1}[0-9]{8}

WAF signature ID

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "HTML5 Entity (num) (Parameter)",
  • "id": 0,
  • "matches_within_parameter": true,
  • "matches_within_cookie": true,
  • "matches_within_json": true,
  • "matches_within_gwt": true,
  • "matches_within_xml": true,
  • "matches_within_response": true,
  • "matches_within_request": true,
  • "matches_within_uri": true,
  • "matches_within_header": true,
  • "matches_within_plainText": true,
  • "signature_type": "request",
  • "attack_type": "Remote File Include",
  • "systems": [
    ],
  • "risk": "low",
  • "accuracy": "low",
  • "modification_date": "2019-08-24T14:15:22Z",
  • "signature-sets": [
    ],
  • "description": "Signature description",
  • "is_user_defined": true,
  • "_links": {
    }
}

Retrieve bot-signature details

Retrieves a list of bot-signature details for the collection.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve bot-signature details

Retrieves the bot-signature details for the specified bot-signature.

path Parameters
sig_id
required
string[2-3]{1}[0-9]{8}

WAF bot-signature ID

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "Yandex",
  • "id": 0,
  • "class": "Malicious Bot",
  • "category": "Spam Bot",
  • "bot_type": "benign",
  • "risk": "low",
  • "hostnames": [
    ],
  • "modification_date": "2019-08-24T14:15:22Z",
  • "description": "Signature description",
  • "is_user_defined": true,
  • "_links": {
    }
}

Retrieve threat-campaigns collection

Retrieves a list of threat-campaigns.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Return threat-campaign details

Request threat-campaigns details.

path Parameters
threat_campaign_id
required
string

WAF threat-campaign ID

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "Yandex",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "Threat-campaign description",
  • "display_name": "string",
  • "title": "Ruby on Rails Yaml Deserialization - Mozilla 4",
  • "risk": "low",
  • "intent": "Backdoor - WebShell Upload",
  • "first_observed": "2010-09-19 13:52:29",
  • "last_observed": "2012-09-19 13:52:29",
  • "last_updated": "2012-09-19 13:52:29",
  • "source_datetime": "2015-09-19 13:52:29",
  • "status": "inactive",
  • "attack_type": "Remote File Include",
  • "systems": [
    ],
  • "references": [
    ],
  • "malwares": [
    ],
  • "target_info": "Servers with PHP-CGI interface",
  • "collateral_damage": "Active backdoor tool on compromised server will allow attackers further collateral movement and code execution.",
  • "threat_actor_name": "k23cc.m2",
  • "threat_actor_description": "string",
  • "payload_analysis": "string",
  • "payload_tactics": "string",
  • "_links": {
    }
}

Retrieve policy file types

Retrieves a list of policy file types.

path Parameters
id
required
string <uuid>

UUID of WAF policy

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Create a policy file type

Creates a policy file type.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
name
string

WAF file type name.

id
string <uuid>

UUID of WAF file type.

allowed
boolean

Specifies whether the file type is allowed or disallowed.

Responses

Request samples

Content type
application/json
{
  • "name": "crt",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "allowed": true
}

Response samples

Content type
application/hal+json
{
  • "name": "crt",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "allowed": true,
  • "_links": {
    }
}

Retrieve a policy file type

Retrieves a specific policy file type.

path Parameters
id
required
string <uuid>

UUID of WAF policy

filetype_id
required
string <uuid>

UUID of file type

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "crt",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "allowed": true,
  • "_links": {
    }
}

Update a policy file type

Updates a specific policy file type.

path Parameters
id
required
string <uuid>

UUID of WAF policy

filetype_id
required
string <uuid>

UUID of file type

Request Body schema: application/json
required
name
string

WAF file type name.

id
string <uuid>

UUID of WAF file type.

allowed
boolean

Specifies whether the file type is allowed or disallowed.

Responses

Request samples

Content type
application/json
{
  • "name": "crt",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "allowed": true
}

Response samples

Content type
application/hal+json
{
  • "name": "crt",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "allowed": true,
  • "_links": {
    }
}

Delete a policy file type

Deletes a specific policy file type.

path Parameters
id
required
string <uuid>

UUID of WAF policy

filetype_id
required
string <uuid>

UUID of file type

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve policy evasion violations

Retrieves a list of policy evasion violations. Query the '/api/v1/security/waf/evasion-violations' endpoint for detailed information about each violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Update the policy evasion violations

Updates a list of policy evasion violations. Query the '/api/v1/security/waf/evasion-violations' endpoint for detailed information about each violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
Array of objects (PolicyEvasionViolation)

Responses

Request samples

Content type
application/json
{
  • "evasion_violations": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    }
}

Retrieve a policy evasion violation

Retrieves a specific policy evasion violation. Query the '/api/v1/security/waf/evasion-violations' endpoint for detailed information about the violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

viol_id
required
string <uuid>

UUID of sub violation

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "Bare byte decoding",
  • "action": "block",
  • "max_decoding_passes": 2,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "_links": {
    }
}

Update a policy evasion violation

Updates a specific policy evasion violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

viol_id
required
string <uuid>

UUID of sub violation

Request Body schema: application/json
required
name
string

Evasion violation name.

action
string
Enum: "block" "none"

Defines if sub-violation is enforced.

max_decoding_passes
integer [ 2 .. 5 ]

Defines how many times BIG-IP MA decodes URI and parameter values before the request is considered an evasion. Relevant only for the 'Multiple decoding' sub-violation.

id
string <uuid>

UUID of evasion violation.

Responses

Request samples

Content type
application/json
{
  • "name": "Bare byte decoding",
  • "action": "block",
  • "max_decoding_passes": 2,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Response samples

Content type
application/hal+json
{
  • "name": "Bare byte decoding",
  • "action": "block",
  • "max_decoding_passes": 2,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "_links": {
    }
}

Retrieve policy HTTP RFC violations

Retrieves a list of policy HTTP RFC violations. Query the '/api/v1/security/waf/http-rfc-violations' endpoint for detailed information about each violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Update HTTP RFC violations

Updates a list of policy HTTP RFC violations. Query the '/api/v1/security/waf/http-rfc-violations' endpoint for detailed information about each violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
Array of objects (PolicyHttpRFCViolation)

Responses

Request samples

Content type
application/json
{
  • "http_rfc_violations": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    }
}

Retrieve a policy HTTP RFC violation

Retrieves a specific policy HTTP RFC violation. Query the '/api/v1/security/waf/http-rfc-violations' endpoint for detailed information about the violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

viol_id
required
string <uuid>

UUID of sub violation

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "Multiple host headers",
  • "action": "block",
  • "max_headers": 1,
  • "max_params": 1,
  • "max_cookies": 1,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "_links": {
    }
}

Update a policy HTTP RFC violation

Updates a specific policy HTTP RFC violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

viol_id
required
string <uuid>

UUID of sub violation

Request Body schema: application/json
required
name
string

HTTP RFC violation name.

action
string
Enum: "block" "none"

Defines if sub-violation is enforced.

max_headers
integer [ 1 .. 150 ]

Defines maximum allowed number of headers in request. Relevant only for the 'Check maximum number of headers' sub-violation

max_params
integer [ 1 .. 5000 ]

Defines maximum allowed number of parameters in request. Relevant only for the 'Check maximum number of parameters' sub-violation

max_cookies
integer [ 1 .. 100 ]

Defines maximum allowed number of cookies in request. Relevant only for the 'Check maximum number of cookies' sub-violation

id
string <uuid>

UUID of HTTP RFC violation.

Responses

Request samples

Content type
application/json
{
  • "name": "Multiple host headers",
  • "action": "block",
  • "max_headers": 1,
  • "max_params": 1,
  • "max_cookies": 1,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Response samples

Content type
application/hal+json
{
  • "name": "Multiple host headers",
  • "action": "block",
  • "max_headers": 1,
  • "max_params": 1,
  • "max_cookies": 1,
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "_links": {
    }
}

Retrieve policy violations

Retrieves a list of policy violations. Query the '/api/v1/security/waf/violations' endpoint for detailed information about each violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Update policy violations

Updates a list of policy violations. Query the '/api/v1/security/waf/violations' endpoint for detailed information about each violation.

path Parameters
id
required
string <uuid>

The UUID of the WAF policy.

Request Body schema: application/json
required
Array of objects (PolicyViolation)

Responses

Request samples

Content type
application/json
{
  • "violations": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    }
}

Retrieve a policy violation

Retrieves a specific policy violation. Query the '/api/v1/security/waf/violations' endpoint for detailed information about the violation.

path Parameters
id
required
string <uuid>

UUID of WAF policy

viol_id
required
string <uuid>

UUID of sub violation

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "crt",
  • "action": "alarm",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "_links": {
    }
}

Update a policy violation

Updates a policy violation specified by id.

path Parameters
id
required
string <uuid>

UUID of WAF policy

viol_id
required
string <uuid>

UUID of sub violation

Responses

Response samples

Content type
application/hal+json
{
  • "name": "crt",
  • "action": "alarm",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Create, update or delete an IP address

Creates, updates or deletes an IP address.

Request Body schema: application/json
required
Any of
action
required
string
Enum: "create" "update"

The action to apply.

ip_address
required
string

IP address.

ip_mask
string

IP address mask. When missing default '255.255.255.255' will be used for IPv4 IP address and 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff' for IPv6 IP address.

blocking_mode
string
Enum: "always" "never" "policy-default"

Blocking mode of the IP address.

never_learn_requests
boolean

Specifies when enabled that the system should not generate learning suggestions from traffic sent from this IP address. Specifies when disabled that the system should generate learning suggestions from traffic sent from this IP address for violations with the Learn flag enabled on the Policy Building Settings.

never_log_requests
boolean

Specifies when enabled that the system does not log requests or responses sent from this IP address, even if the traffic is illegal, and even if your security policy is configured to log all traffic.

trusted_by_policy_builder
boolean

Specifies when enabled the Policy Builder considers traffic from this IP address as being safe. The Policy Builder automatically adds to the security policy the data logged from traffic sent from this IP address. Specifies when disabled that the Policy Builder does not consider traffic from this IP address as being any different than traffic from any other IP address.

policies
Array of strings

The array of WAF policy names, don't specify to apply to all policies.

Responses

Request samples

Content type
application/json
Example
{
  • "action": "create",
  • "ip_address": "1.2.3.4",
  • "ip_mask": "255.255.255.255",
  • "blocking_mode": "always",
  • "never_learn_requests": true,
  • "never_log_requests": true,
  • "trusted_by_policy_builder": true,
  • "policies": [
    ]
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve signature-sets

Retrieves a list of signature-sets.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    },
  • "count": 0,
  • "total": 0
}

Create a signature-set

Creates a signature-set.

Request Body schema: application/json
required
object

Filter that defines the signature-set.

Array of objects

Related signatures (manual or filter-based).

Array of objects

BIG-IP MA instances the signature-set protects.

type
string
Enum: "filter-based" "manual"

WAF signature-set type.

alarm_default
boolean

Default value for alarm.

block_default
boolean

Default value for block.

learn_default
boolean

Default value for learn.

name
string

WAF signature-set name.

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "signatures": [
    ],
  • "systems": [
    ],
  • "type": "filter-based",
  • "alarm_default": true,
  • "block_default": true,
  • "learn_default": true,
  • "name": "Generic Detection Signatures (High/Medium Accuracy)"
}

Response samples

Content type
application/hal+json
{
  • "filter": {
    },
  • "signatures": [
    ],
  • "systems": [
    ],
  • "type": "filter-based",
  • "alarm_default": true,
  • "block_default": true,
  • "learn_default": true,
  • "name": "Generic Detection Signatures (High/Medium Accuracy)",
  • "_links": {
    }
}

Retrieve a signature-set

Retrieves a specific signature-set.

path Parameters
id
required
string <uuid>

UUID of signature-set

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "filter": {
    },
  • "signatures": [
    ],
  • "systems": [
    ],
  • "type": "filter-based",
  • "alarm_default": true,
  • "block_default": true,
  • "learn_default": true,
  • "name": "Generic Detection Signatures (High/Medium Accuracy)",
  • "_links": {
    }
}

Delete a signature-set

Deletes a specific signature-set.

path Parameters
id
required
string <uuid>

UUID of signature-set

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Update a signature-set

Updates a specific signature-set.

path Parameters
id
required
string <uuid>

UUID of signature-set

Request Body schema: application/json
required
object

Filter that defines the signature-set.

Array of objects

Related signatures (manual or filter-based).

Array of objects

BIG-IP MA instances the signature-set protects.

type
string
Enum: "filter-based" "manual"

WAF signature-set type.

alarm_default
boolean

Default value for alarm.

block_default
boolean

Default value for block.

learn_default
boolean

Default value for learn.

name
string

WAF signature-set name.

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "signatures": [
    ],
  • "systems": [
    ],
  • "type": "filter-based",
  • "alarm_default": true,
  • "block_default": true,
  • "learn_default": true,
  • "name": "Generic Detection Signatures (High/Medium Accuracy)"
}

Response samples

Content type
application/hal+json
{
  • "filter": {
    },
  • "signatures": [
    ],
  • "systems": [
    ],
  • "type": "filter-based",
  • "alarm_default": true,
  • "block_default": true,
  • "learn_default": true,
  • "name": "Generic Detection Signatures (High/Medium Accuracy)",
  • "_links": {
    }
}

Retrieve list of tags on WAF policies

Retrieves a list of tags on WAF policies.

Responses

Response samples

Content type
application/hal+json
{
  • "tags": [
    ],
  • "_links": {
    }
}

Allow or disallow a geolocation

Allows or disallows a geolocation.

Request Body schema: application/json
required
country_name
required
string

Specifies the name of the country.

action
required
string
Enum: "allow" "disallow"

The action to apply.

policies
Array of strings

The array of WAF policy names, don't specify to apply to all policies.

Responses

Request samples

Content type
application/json
{
  • "country_name": "Sierra Leone",
  • "action": "allow",
  • "policies": [
    ]
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Update violations

Updates the policy violations.

Request Body schema: application/json
required
violation_names
required
Array of strings

Specifies the names of the violations.

action
required
string
Enum: "none" "alarm" "block"

The action to apply.

policies
Array of strings

The array of WAF policy names. To apply modifications to all policies, do not specify a policy name.

Responses

Request samples

Content type
application/json
{
  • "violation_names": [
    ],
  • "action": "none",
  • "policies": [
    ]
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Update sub violation http protocol compliance

Updates the http protocol compliance sub violation.

Request Body schema: application/json
required
names
required
Array of strings

Specifies the names of the sub violations.

action
required
string
Enum: "none" "block"

The action to apply.

policies
Array of strings

The array of WAF policy names. To apply modifications to all policies, do not specify a policy name.

Responses

Request samples

Content type
application/json
{
  • "names": [
    ],
  • "action": "none",
  • "policies": [
    ]
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Update sub violation evasion technique

Updates the evasion technique sub violation.

Request Body schema: application/json
required
names
required
Array of strings

Specifies the names of the sub violations.

action
required
string
Enum: "none" "block"

The action to apply.

policies
Array of strings

The array of WAF policy names. To apply modifications to all policies, do not specify a policy name.

Responses

Request samples

Content type
application/json
{
  • "names": [
    ],
  • "action": "none",
  • "policies": [
    ]
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve application languages

Retrieves a list of all supported application languages.

Responses

Response samples

Content type
application/hal+json
{
  • "application_languages": [
    ],
  • "_links": {
    }
}

Retrieve list of evasion violations

Retrieve a list of all supported evasion violations.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "evasion_violations": [
    ],
  • "_links": {
    }
}

Retrieve HTTP RFC violations

Retrieves a list of all supported HTTP RFC violations.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "http_rfc_violations": [
    ],
  • "_links": {
    }
}

Retrieve all supported violations

Retrieves a list of all supported violations.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    },
  • "count": 0,
  • "total": 0
}

Retrieve a violation

Retrieves a specific violation.

path Parameters
viol_id
required
string <uuid>

UUID of violation

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "name": "Illegal file type",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "Violation description.",
  • "risk": "Prevents forceful browsing and access to sensitive files.",
  • "attack_type": "Forceful Browsing",
  • "examples": "Violation examples.",
  • "severity": "critical",
  • "type": "Access Violation",
  • "_links": {
    }
}

Delete web application traffic logs

Deletes web application WAF traffic logs

Request Body schema: application/json
required
One of
delete_all
required
boolean

Defines whether an action is to be applied to all WAF traffic logs.

Responses

Request samples

Content type
application/json
Example
{
  • "filter": "dest_port eq '8080' or geo_location eq 'MX'"
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve a web application traffic log

Retrieves a specific web application traffic log

path Parameters
support_id
required
string

Web application traffic log support_id

Responses

Response samples

Content type
application/json
{
  • "related_suggestions": [
    ],
  • "violation_information": {
    },
  • "app_name": "Event-Tenant:Event-Application",
  • "attack_type": [
    ],
  • "avr_id": "1",
  • "blocking_exception_reason": "IP is in Whitelist",
  • "bot_anomalies": [
    ],
  • "bot_category": "Spam Bot",
  • "bot_signature_name": "KTXN",
  • "captcha_result": "incorrect",
  • "client_class": "Malicious Bot",
  • "client_type": "Mobile App",
  • "date_time": "2012-09-19 13:52:29",
  • "dest_ip": "192.168.5.11",
  • "dest_port": 80,
  • "device_id": "121564864531",
  • "enforced_bot_anomalies": [
    ],
  • "fragment": "a=7&b=5",
  • "geo_location": "USA/NY",
  • "headers": "Host: myhost.com; Connection: close",
  • "http_class_name": "topaz4-web4",
  • "ip_client": "192.168.5.10",
  • "ip_address_intelligence": [
    ],
  • "ip_with_route_domain": "172.26.36.17/5",
  • "login_result": "Successful Login",
  • "is_truncated": "truncated",
  • "management_ip_address": "192.168.1.246",
  • "management_ip_address_2": "172.26.36.17",
  • "method": "GET",
  • "microservice": "/a.com/index.php",
  • "mobile_application_name": "Shop Ttt",
  • "mobile_application_version": "4.1.5",
  • "policy_apply_date": "2018-08-06 10:17:56",
  • "policy_name": "My_security_policy",
  • "protocol": "HTTPS",
  • "query_string": "key1=val1&key2=val2",
  • "request": "GET / HTTP/1.0\\r\\n User-Agent: Wget/1.12 (linux-gnu)\\r\\n Accept: */*\\r\\n Host: 10.4.1.200\\r\\n Connection: Keep-Alive",
  • "request_status": "Blocked",
  • "response": "HTTP/1.1 200 OK Content-type: text/html Content-Length: 7 <html/>",
  • "response_code": 200,
  • "route_domain": 1,
  • "session_id": "a9141b68ac7b4958",
  • "severity": "Error",
  • "sig_cves": [
    ],
  • "sig_ids": [
    ],
  • "sig_names": [
    ],
  • "sig_set_names": [
    ],
  • "slot_number": 1,
  • "src_port": 52974,
  • "stack_name": "Event-Tenant:Event-Application:serviceMain",
  • "staged_sig_cves": [
    ],
  • "staged_sig_ids": [
    ],
  • "staged_sig_names": [
    ],
  • "staged_sig_set_names": [
    ],
  • "staged_threat_campaign_names": [
    ],
  • "sub_violations": [
    ],
  • "support_id": 18205860747014000000,
  • "threat_campaign_names": [
    ],
  • "unit_hostname": "bigip-4.pme-ds.f5.com",
  • "uri": "/",
  • "username": "Admin",
  • "violation_rating": 4,
  • "violations": [
    ],
  • "virus_name": "Melissa",
  • "web_application_name": "my_app",
  • "websocket_direction": "clientToServer",
  • "websocket_message_type": "Handshake",
  • "x_forwarded_for_header_value": "192.168.5.10",
  • "_links": {
    }
}

Update a web application traffic log

Updates a web application traffic log specified by request support ID

path Parameters
support_id
required
string

Web application traffic log support_id

Request Body schema: application/json
required
tags
Array of strings

Tags for marking policies

comment
string

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ],
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "related_suggestions": [
    ],
  • "violation_information": {
    },
  • "app_name": "Event-Tenant:Event-Application",
  • "attack_type": [
    ],
  • "avr_id": "1",
  • "blocking_exception_reason": "IP is in Whitelist",
  • "bot_anomalies": [
    ],
  • "bot_category": "Spam Bot",
  • "bot_signature_name": "KTXN",
  • "captcha_result": "incorrect",
  • "client_class": "Malicious Bot",
  • "client_type": "Mobile App",
  • "date_time": "2012-09-19 13:52:29",
  • "dest_ip": "192.168.5.11",
  • "dest_port": 80,
  • "device_id": "121564864531",
  • "enforced_bot_anomalies": [
    ],
  • "fragment": "a=7&b=5",
  • "geo_location": "USA/NY",
  • "headers": "Host: myhost.com; Connection: close",
  • "http_class_name": "topaz4-web4",
  • "ip_client": "192.168.5.10",
  • "ip_address_intelligence": [
    ],
  • "ip_with_route_domain": "172.26.36.17/5",
  • "login_result": "Successful Login",
  • "is_truncated": "truncated",
  • "management_ip_address": "192.168.1.246",
  • "management_ip_address_2": "172.26.36.17",
  • "method": "GET",
  • "microservice": "/a.com/index.php",
  • "mobile_application_name": "Shop Ttt",
  • "mobile_application_version": "4.1.5",
  • "policy_apply_date": "2018-08-06 10:17:56",
  • "policy_name": "My_security_policy",
  • "protocol": "HTTPS",
  • "query_string": "key1=val1&key2=val2",
  • "request": "GET / HTTP/1.0\\r\\n User-Agent: Wget/1.12 (linux-gnu)\\r\\n Accept: */*\\r\\n Host: 10.4.1.200\\r\\n Connection: Keep-Alive",
  • "request_status": "Blocked",
  • "response": "HTTP/1.1 200 OK Content-type: text/html Content-Length: 7 <html/>",
  • "response_code": 200,
  • "route_domain": 1,
  • "session_id": "a9141b68ac7b4958",
  • "severity": "Error",
  • "sig_cves": [
    ],
  • "sig_ids": [
    ],
  • "sig_names": [
    ],
  • "sig_set_names": [
    ],
  • "slot_number": 1,
  • "src_port": 52974,
  • "stack_name": "Event-Tenant:Event-Application:serviceMain",
  • "staged_sig_cves": [
    ],
  • "staged_sig_ids": [
    ],
  • "staged_sig_names": [
    ],
  • "staged_sig_set_names": [
    ],
  • "staged_threat_campaign_names": [
    ],
  • "sub_violations": [
    ],
  • "support_id": 18205860747014000000,
  • "threat_campaign_names": [
    ],
  • "unit_hostname": "bigip-4.pme-ds.f5.com",
  • "uri": "/",
  • "username": "Admin",
  • "violation_rating": 4,
  • "violations": [
    ],
  • "virus_name": "Melissa",
  • "web_application_name": "my_app",
  • "websocket_direction": "clientToServer",
  • "websocket_message_type": "Handshake",
  • "x_forwarded_for_header_value": "192.168.5.10",
  • "_links": {
    }
}

Delete a web application traffic log

Deletes a specific web application WAF traffic log

path Parameters
support_id
required
string

Web application traffic log support_id

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve a policy request logger

Retrieves a specific policy request logger.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Responses

Response samples

Content type
application/hal+json
{
  • "request_type": "illegal",
  • "_links": {
    }
}

Create a policy request logger

Creates a policy request logger.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
request_type
required
string
Enum: "illegal" "all" "none"

Responses

Request samples

Content type
application/json
{
  • "request_type": "illegal"
}

Response samples

Content type
application/hal+json
{
  • "request_type": "illegal",
  • "_links": {
    }
}

Update policy request logger

Updates policy request logger.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
request_type
required
string
Enum: "illegal" "all" "none"

Responses

Request samples

Content type
application/json
{
  • "request_type": "illegal"
}

Response samples

Content type
application/hal+json
{
  • "request_type": "illegal",
  • "_links": {
    }
}

Retrieve a list of a policy's suggestions

Retrieves a list of a specific policy suggestion.

path Parameters
id
required
string <uuid>

WAF Policy ID

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a policy suggestion details

Retrieves a policy suggestion's details.

path Parameters
id
required
string <uuid>

WAF Policy ID

suggestion_id
required
string <uuid>

suggestion ID

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "policy_builder_key": "http:r2:20cd41cfc78c373fb4e0d1de79461cb2:r3:enable",
  • "description": "Enable HTTP Check",
  • "average_violation_rating": 7,
  • "is_automatically_learnable": true,
  • "occurrences": 47,
  • "reason": "violation-mitigation",
  • "score": 57,
  • "trusted_sources_count": 10,
  • "untrusted_sources_count": 44,
  • "first_occurrence_datetime": "1960-01-01T00:00:00Z",
  • "last_occurrence_datetime": "1970-01-01T00:00:00Z",
  • "status": "pending",
  • "is_adding_entity": false,
  • "request_support_ids": [
    ],
  • "request_support_ids_count": 0,
  • "violation_rating_counts": [
    ],
  • "refinement": "Enable HTTP protocol compliance check",
  • "policy_modifications": [
    ],
  • "staged_policy_modifications": [
    ],
  • "global_accept_modifications": [
    ],
  • "accepted_time": "1980-01-01T00:00:00Z",
  • "last_modified": "1990-01-01T00:00:00Z",
  • "id": "cd390948-6d89-38c4-bca9-0b0041c73042",
  • "entity": "*",
  • "violation": { },
  • "section": "http-protocol-compliance",
  • "matched_policy_entity": {
    },
  • "matched_policy_entity_display_name": "*",
  • "entity_display_name": "my-header",
  • "matched_policy_entity_keys": {
    },
  • "entity_keys": {
    },
  • "signature": {
    },
  • "metachar": "0x2",
  • "comment": "string",
  • "is_read": false,
  • "_links": {
    }
}

Delete a policy suggestion

Deletes a specific policy suggestion.

path Parameters
id
required
string <uuid>

WAF Policy ID

suggestion_id
required
string <uuid>

suggestion ID

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Update a policy suggestion

Updates a specific policy suggestion.

path Parameters
id
required
string <uuid>

WAF Policy ID

suggestion_id
required
string <uuid>

suggestion ID

Request Body schema: application/json
required
policy_builder_key
string

The unique identifier of a specific policy builder.

description
string

A description of the changes to implement.

average_violation_rating
number <double>

The average violation rating for a suggestion, if applicable.

is_automatically_learnable
boolean

Specifies whether the suggestion can automatically be learned.

occurrences
integer

The number of requests that triggered a suggestion.

reason
string
Enum: "violation-mitigation" "policy-refining" "policy-tightening"

The reason for a policy suggestion. Suggestions are triggered either by a policy violation (violation-mitigation) or from traffic learning (policy-refining). A suggestion may specify to add an entity based on traffic learning.

score
integer

An index based on R2 or R3 measurement, which reflects the strength of a suggestion.

trusted_sources_count
integer

The number of sources on from list of trusted clients that triggered a suggestion.

untrusted_sources_count
integer

The number of sources from a list of untrusted clients that triggered a suggestion.

first_occurrence_datetime
string <date-time>

The first time a matching request for the suggestion occurred.

last_occurrence_datetime
string <date-time>

The last time a matching request for the suggestion occurred.

status
string
Enum: "pending" "accept" "accept-globally" "accept-and-stage" "ignored"

The learning status of the suggestion.

is_adding_entity
boolean

Specifies whether the suggestion is to add an entity. These suggestions recommend adding an entity based on traffic learning.

request_support_ids
Array of strings

A collection of representative requests from various IP addresses and sessions that triggered the suggestion.

request_support_ids_count
integer

The number of request support ids per suggestion.

Array of objects
refinement
string

Specifies the reason for a policy-refinement suggestion.

policy_modifications
Array of objects

Specifies the subtrees of a policy that need to be modified.

staged_policy_modifications
Array of objects

Specifies the subtrees of a policy that need to be modified during accept-and-stage.

global_accept_modifications
Array of objects

Specifies the subtrees of a policy that need to be modified for a globally accepted suggestion.

accepted_time
string <date-time>

Specifies when the suggestion was accepted.

last_modified
string <date-time>

The last time the suggestion was modified.

id
string <uuid>

The unique identifier of the suggestion.

entity
string

The type of entity in a section identified for the suggestion.

violation
object

The type of violation that triggered the suggestion.

section
string

The category within the application security policy, such as URLs, Cookies, Evasion Techniques, or HTTP Protocol Compliance.

matched_policy_entity
object

The suggestion's matched entity.

matched_policy_entity_display_name
string

The display name of the matched entity.

entity_display_name
string

The display name of the entity.

matched_policy_entity_keys
object

The natural keys of the matched entity.

entity_keys
object

The natural keys of the entity.

signature
object

The signature that is specified in the global_accept_modifications field.

metachar
string

The metachar in character set specified in the global_accept_modifications field.

comment
string

A comment added to the suggestion.

is_read
boolean

Specifies whether the suggestion was read or not.

Responses

Request samples

Content type
application/json
{
  • "policy_builder_key": "http:r2:20cd41cfc78c373fb4e0d1de79461cb2:r3:enable",
  • "description": "Enable HTTP Check",
  • "average_violation_rating": 7,
  • "is_automatically_learnable": true,
  • "occurrences": 47,
  • "reason": "violation-mitigation",
  • "score": 57,
  • "trusted_sources_count": 10,
  • "untrusted_sources_count": 44,
  • "first_occurrence_datetime": "1960-01-01T00:00:00Z",
  • "last_occurrence_datetime": "1970-01-01T00:00:00Z",
  • "status": "pending",
  • "is_adding_entity": false,
  • "request_support_ids": [
    ],
  • "request_support_ids_count": 0,
  • "violation_rating_counts": [
    ],
  • "refinement": "Enable HTTP protocol compliance check",
  • "policy_modifications": [
    ],
  • "staged_policy_modifications": [
    ],
  • "global_accept_modifications": [
    ],
  • "accepted_time": "1980-01-01T00:00:00Z",
  • "last_modified": "1990-01-01T00:00:00Z",
  • "id": "cd390948-6d89-38c4-bca9-0b0041c73042",
  • "entity": "*",
  • "violation": { },
  • "section": "http-protocol-compliance",
  • "matched_policy_entity": {
    },
  • "matched_policy_entity_display_name": "*",
  • "entity_display_name": "my-header",
  • "matched_policy_entity_keys": {
    },
  • "entity_keys": {
    },
  • "signature": {
    },
  • "metachar": "0x2",
  • "comment": "string",
  • "is_read": false
}

Response samples

Content type
application/hal+json
{
  • "policy_builder_key": "http:r2:20cd41cfc78c373fb4e0d1de79461cb2:r3:enable",
  • "description": "Enable HTTP Check",
  • "average_violation_rating": 7,
  • "is_automatically_learnable": true,
  • "occurrences": 47,
  • "reason": "violation-mitigation",
  • "score": 57,
  • "trusted_sources_count": 10,
  • "untrusted_sources_count": 44,
  • "first_occurrence_datetime": "1960-01-01T00:00:00Z",
  • "last_occurrence_datetime": "1970-01-01T00:00:00Z",
  • "status": "pending",
  • "is_adding_entity": false,
  • "request_support_ids": [
    ],
  • "request_support_ids_count": 0,
  • "violation_rating_counts": [
    ],
  • "refinement": "Enable HTTP protocol compliance check",
  • "policy_modifications": [
    ],
  • "staged_policy_modifications": [
    ],
  • "global_accept_modifications": [
    ],
  • "accepted_time": "1980-01-01T00:00:00Z",
  • "last_modified": "1990-01-01T00:00:00Z",
  • "id": "cd390948-6d89-38c4-bca9-0b0041c73042",
  • "entity": "*",
  • "violation": { },
  • "section": "http-protocol-compliance",
  • "matched_policy_entity": {
    },
  • "matched_policy_entity_display_name": "*",
  • "entity_display_name": "my-header",
  • "matched_policy_entity_keys": {
    },
  • "entity_keys": {
    },
  • "signature": {
    },
  • "metachar": "0x2",
  • "comment": "string",
  • "is_read": false,
  • "_links": {
    }
}

Update a list of policy suggestions

Updates a list of policy suggestions.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
required
Array of objects (PolicySuggestion)

Responses

Request samples

Content type
application/json
{
  • "suggestions": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    }
}

Delete a list of policy suggestions by ids

Deletes a list of policy suggestions.

path Parameters
id
required
string <uuid>

UUID of WAF policy

Request Body schema: application/json
required
suggestions_ids
required
Array of strings <uuid> [ items <uuid > ]

Apply an action to the list of suggestion IDs.

Responses

Request samples

Content type
application/json
{
  • "suggestions_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve policy builder settings

Retrieves the policy builder settings.

path Parameters
id
required
string <uuid>

WAF Policy ID

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "learning_mode": "automatic",
  • "learning_speed": "fast",
  • "enforcement_readiness_period": 7,
  • "_links": {
    }
}

Update policy builder settings

Updates the policy builder settings.

path Parameters
id
required
string <uuid>

WAF Policy ID

Request Body schema: application/json
required
learning_mode
string
Enum: "automatic" "manual" "disabled"

If you want the Policy Builder to automatically build the security policy, select Automatic. If you want the Policy Builder to make suggestions and manually decide what to include, select Manual. If you do not want the system to suggest policy changes, select Disabled. If you selected Automatic or Manual, the system examines traffic and makes suggestions about how to tighten the security policy. If you are using automatic learning, the system enforces the suggestions when it is reasonable to do so. If you are using manual learning, you need to examine the changes and accept, delete, or ignore them on the Traffic Learning screen. If you disabled this option, the system does not do any learning for this policy, it makes no suggestions, and the Learn flag for all violations becomes inactive.

learning_speed
string
Enum: "fast" "medium" "slow" "custom"

Fast - Builds a security policy using lower threshold values for the rules, so it is likely to meet the thresholds quickly. This setting is useful for smaller web sites with less traffic. Selecting this value may result in more false positives and create a less accurate security policy. Medium - Builds a security policy based on greater threshold values for the rules. This is the default setting and is recommended for most sites. Slow - Builds a security policy using high threshold values for the rules, so it is likely to take longer to meet the thresholds. This learning speed is useful for large web sites with lots of traffic. Selecting this value may result in fewer false positives and create a more accurate security policy. A fast learning speed generates more learning suggestions for policy changes in a shorter time. A slow learning speed prompts the system to examine more traffic before making learning suggestions. If you are using automatic learning and a faster learning speed, the system enforces the learning suggestions at a faster rate. If you are using automatic and slower learning, it takes longer to build and enforce the security policy. If you are using manual learning at any learning speed, you have to manually enforce the learning suggestions.

enforcement_readiness_period
integer [ 0 .. 999 ]

For each security policy, you can configure the number of days used as the enforcement readiness period, also called staging. Security policy entities and attack signatures remain in staging for the enforcement readiness period before the system suggests that you enforce them. Staging allows you to test security policy entities and attack signatures for false positives without enforcing them. The default value of 7 days works for most situations so you typically do not need to change it.

Responses

Request samples

Content type
application/json
{
  • "learning_mode": "automatic",
  • "learning_speed": "fast",
  • "enforcement_readiness_period": 7
}

Response samples

Content type
application/hal+json
{
  • "learning_mode": "automatic",
  • "learning_speed": "fast",
  • "enforcement_readiness_period": 7,
  • "_links": {
    }
}

Partially update policy builder settings

Partially updates the policy builder settings.

path Parameters
id
required
string <uuid>

WAF Policy ID

Request Body schema: application/json
required
learning_mode
string
Enum: "automatic" "manual" "disabled"

If you want the Policy Builder to automatically build the security policy, select Automatic. If you want the Policy Builder to make suggestions and manually decide what to include, select Manual. If you do not want the system to suggest policy changes, select Disabled. If you selected Automatic or Manual, the system examines traffic and makes suggestions about how to tighten the security policy. If you are using automatic learning, the system enforces the suggestions when it is reasonable to do so. If you are using manual learning, you need to examine the changes and accept, delete, or ignore them on the Traffic Learning screen. If you disabled this option, the system does not do any learning for this policy, it makes no suggestions, and the Learn flag for all violations becomes inactive.

learning_speed
string
Enum: "fast" "medium" "slow" "custom"

Fast - Builds a security policy using lower threshold values for the rules, so it is likely to meet the thresholds quickly. This setting is useful for smaller web sites with less traffic. Selecting this value may result in more false positives and create a less accurate security policy. Medium - Builds a security policy based on greater threshold values for the rules. This is the default setting and is recommended for most sites. Slow - Builds a security policy using high threshold values for the rules, so it is likely to take longer to meet the thresholds. This learning speed is useful for large web sites with lots of traffic. Selecting this value may result in fewer false positives and create a more accurate security policy. A fast learning speed generates more learning suggestions for policy changes in a shorter time. A slow learning speed prompts the system to examine more traffic before making learning suggestions. If you are using automatic learning and a faster learning speed, the system enforces the learning suggestions at a faster rate. If you are using automatic and slower learning, it takes longer to build and enforce the security policy. If you are using manual learning at any learning speed, you have to manually enforce the learning suggestions.

enforcement_readiness_period
integer [ 0 .. 999 ]

For each security policy, you can configure the number of days used as the enforcement readiness period, also called staging. Security policy entities and attack signatures remain in staging for the enforcement readiness period before the system suggests that you enforce them. Staging allows you to test security policy entities and attack signatures for false positives without enforcing them. The default value of 7 days works for most situations so you typically do not need to change it.

Responses

Request samples

Content type
application/json
{
  • "learning_mode": "automatic",
  • "learning_speed": "fast",
  • "enforcement_readiness_period": 7
}

Response samples

Content type
application/hal+json
{
  • "learning_mode": "automatic",
  • "learning_speed": "fast",
  • "enforcement_readiness_period": 7,
  • "_links": {
    }
}

Retrieve a converted policy

Retrieves a converted policy.

path Parameters
id
required
string <uuid>

UUID of the WAF policy.

Responses

Response samples

Content type
application/hal+json
{
  • "output_policy_id": "string",
  • "completed_successfully": true,
  • "dry_run_executed": true,
  • "errors": [
    ],
  • "warnings": [
    ],
  • "_links": {
    }
}

Download a zip file of selected WAF policies

Download a zip file of selected WAF policies.

Request Body schema: application/json
required
policies
required
Array of strings[^[-a-zA-Z0-9._/:]+$]

WAF policy names.

comment
string

Additional comments.

Responses

Request samples

Content type
application/json
{
  • "policies": [
    ]
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve a policy enforcement readiness

Retrieves a policy enforcement readiness.

path Parameters
id
required
string <uuid>

UUID of the WAF policy.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "enforcement_readiness": [
    ],
  • "_links": {
    }
}

Retrieve policy in JSON format

Retrieves a WAF policy file in JSON format.

path Parameters
id
required
string <uuid>

UUID of the WAF policy.

Responses

Response samples

Content type
application/json
"string"

Retrieve policy history

Retrieves a list of WAF policy history in JSON format.

path Parameters
id
required
string <uuid>

UUID of the WAF policy.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Return policy deployment history

Requests a WAF policy deployment history.

path Parameters
id
required
string <uuid>

UUID of the WAF policy.

history_id
required
string <uuid>

UUID of the WAF policy deployment history.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "comments": "DOSL7 configuration enabled",
  • "created_on": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "tags": [
    ],
  • "content": {
    }
}

Retrieve WAF security report configurations

Retrieves a list of the report configuration for all WAF security reports.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Create a WAF security report

Creates a new WAF security report.

Request Body schema: application/json
required
id
string <uuid>

UUID of WAF security report.

name
required
string^[-a-zA-Z0-9._/:\s]+$

The name of the security report.

description
string <= 255 characters

Specifies the description of the security report.

required
object
time_frame_in_days
integer
Enum: 1 7 30 90

Specifies the report time period.

Array of objects

Specifies the scoped categories.

top_level
integer
Enum: 5 10 20

Specifies the number of the top level items of the report.

request_type
string
Enum: "illegal" "alerted" "blocked"

Specifies the type of the report requests.

user_defined
boolean

Specifies whether the report is user defined.

created_by
string

The creator of the security report.

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "WAF security report description",
  • "scope": {
    },
  • "time_frame_in_days": 1,
  • "categories": [
    ],
  • "top_level": 5,
  • "request_type": "illegal",
  • "user_defined": true,
  • "created_by": "string"
}

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "WAF security report description",
  • "scope": {
    },
  • "time_frame_in_days": 1,
  • "categories": [
    ],
  • "top_level": 5,
  • "request_type": "illegal",
  • "user_defined": true,
  • "created_by": "string",
  • "_links": {
    }
}

Retrieve a WAF security report

Retrieves a specific WAF security report

path Parameters
report_id
required
string

Security report's report_id

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "WAF security report description",
  • "scope": {
    },
  • "time_frame_in_days": 1,
  • "categories": [
    ],
  • "top_level": 5,
  • "request_type": "illegal",
  • "user_defined": true,
  • "created_by": "string",
  • "_links": {
    }
}

Update a security report

Updates a specific security report identified by report_id

path Parameters
report_id
required
string

Security report's report_id

Request Body schema: application/json
required
id
string <uuid>

UUID of WAF security report.

name
required
string^[-a-zA-Z0-9._/:\s]+$

The name of the security report.

description
string <= 255 characters

Specifies the description of the security report.

required
object
time_frame_in_days
integer
Enum: 1 7 30 90

Specifies the report time period.

Array of objects

Specifies the scoped categories.

top_level
integer
Enum: 5 10 20

Specifies the number of the top level items of the report.

request_type
string
Enum: "illegal" "alerted" "blocked"

Specifies the type of the report requests.

user_defined
boolean

Specifies whether the report is user defined.

created_by
string

The creator of the security report.

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "WAF security report description",
  • "scope": {
    },
  • "time_frame_in_days": 1,
  • "categories": [
    ],
  • "top_level": 5,
  • "request_type": "illegal",
  • "user_defined": true,
  • "created_by": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "WAF security report description",
  • "scope": {
    },
  • "time_frame_in_days": 1,
  • "categories": [
    ],
  • "top_level": 5,
  • "request_type": "illegal",
  • "user_defined": true,
  • "created_by": "string",
  • "_links": {
    }
}

Delete a WAF security report

Deletes a specific WAF security report.

path Parameters
report_id
required
string

Security report's report_id

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve a list of files

Retrieves a list of files.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Download a file

Download a file.

path Parameters
id
required
string <uuid>

UUID of the file.

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve policy schema

Retrieves WAF policy schema.

Responses

Response samples

Content type
application/json
{
  • "app-protection": {
    },
  • "applicationLanguage": "auto-detect",
  • "behavioral-enforcement": {
    },
  • "blocking-settings": {
    },
  • "bot-defense": {
    },
  • "browser-definitions": [
    ],
  • "brute-force-attack-preventions": [
    ],
  • "caseInsensitive": false,
  • "character-sets": [
    ],
  • "cookie-settings": {
    },
  • "cookies": [
    ],
  • "csrf-protection": {
    },
  • "csrf-urls": [
    ],
  • "data-guard": {
    },
  • "deception-response-pages": [
    ],
  • "deception-settings": {
    },
  • "description": "string",
  • "disabled-action-items": [
    ],
  • "disallowed-geolocations": [
    ],
  • "dos-protection": {
    },
  • "enablePassiveMode": false,
  • "enforcementMode": "blocking",
  • "extractions": [
    ],
  • "filetypes": [
    ],
  • "fullPath": "string",
  • "general": {
    },
  • "graphql-profiles": [
    ],
  • "gwt-profiles": [
    ],
  • "header-settings": {
    },
  • "headers": [
    ],
  • "host-names": [
    ],
  • "ip-intelligence": {
    },
  • "json-profiles": [
    ],
  • "json-validation-files": [
    ],
  • "login-enforcement": {
    },
  • "login-pages": [
    ],
  • "methods": [
    ],
  • "microservices": [
    ],
  • "name": "string",
  • "navigation-parameters": [
    ],
  • "open-api-files": [],
  • "parameters": [
    ],
  • "performStaging": true,
  • "policy-builder": {
    },
  • "policy-builder-central-configuration": {
    },
  • "policy-builder-cookie": {
    },
  • "policy-builder-filetype": {
    },
  • "policy-builder-header": {
    },
  • "policy-builder-parameter": {
    },
  • "policy-builder-redirection-protection": {
    },
  • "policy-builder-server-technologies": {
    },
  • "policy-builder-sessions-and-logins": {
    },
  • "policy-builder-url": {
    },
  • "protocolIndependent": false,
  • "redirection-protection": {
    },
  • "request-loggers": [
    ],
  • "response-pages": [
    ],
  • "sensitive-parameters": [
    ],
  • "server-technologies": [
    ],
  • "signature-requirements": [
    ],
  • "signature-sets": [
    ],
  • "signature-settings": {
    },
  • "signatures": [
    ],
  • "softwareVersion": "string",
  • "ssrf-hosts": [
    ],
  • "template": {
    },
  • "threat-campaign-settings": {
    },
  • "threat-campaigns": [
    ],
  • "type": "parent",
  • "urls": [
    ],
  • "user-defined-signatures": [
    ],
  • "whitelist-ips": [
    ],
  • "xml-profiles": [
    ],
  • "xml-validation-files": [
    ]
}

System

System APIs may operate on system resources of the F5® BIG-IP® Next Central Manager.

Retrieves configuration variable details

Retrieves configuration variable details of WAF feature.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Update WAF configuration data

Updates WAF configuration values.

Request Body schema: application/json
required
Array
key
required
string
value
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve all feature flags

Retrieves feature flag properties information for all feature flags in collection.

Responses

Response samples

Content type
application/hal+json
{
  • "flags": { },
  • "_links": {
    }
}

Create or update feature flags

Create a new feature flag or updates an existing feature flag's value.

Request Body schema: application/json
required
object (UpdateFeatureFlagRequestInfo)

Responses

Request samples

Content type
application/json
{
  • "ENABLE_FEATURE": "true",
  • "ENABLE_TEST": "false"
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string"
}

Retrieve feature flag property information

Retrieves a specific feature flag's property information.

path Parameters
flag_name
required
string

Feature flag property name.

Responses

Response samples

Content type
application/hal+json
{
  • "flags": { },
  • "_links": {
    }
}

Create a new role

Creates a new role on the system.

Request Body schema: application/json
required
id
string <uuid>
name
required
string
description
string
built_in
boolean
user_count
integer

Responses

Request samples

Content type
application/json
{
  • "name": "test-role"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "2dbec506-1cc4-46d3-91d6-7ca438ec3890",
  • "name": "test-role"
}

Retrieve roles

Retrieves a list of all roles in the system.

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

page
integer
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=task_type,status - two column ascending sort
  • sort=-task_type - single column descending sort
  • sort=task_type,-status - mixed ascending/descending sort

The column names used to sort the result. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=username startswith 'admin' - query by string
  • filter=file_size gt 1024 - query by numerical condition

The conditions for querying the result.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve role

Retrieves a specific role in the system.

path Parameters
id
required
string <uuid>

UUID of role

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "2dbec506-1cc4-46d3-91d6-7ca438ec3890",
  • "name": "test-role"
}

Check SMTP server connection

Checks whether the connection can reach the SMTP server.

Request Body schema: application/json
required

host and port is mandatory

host
required
string non-empty

SMTP server host.

port
required
integer <int32> [ 2 .. 65535 ]

SMTP server port.

Responses

Request samples

Content type
application/json
{
  • "host": "mail.f5net.com",
  • "port": 25
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "reachable": true
}

Add SMTP server to system

Adds SMTP server to the system.

Request Body schema: application/json
required
id
string <uuid>

UUID of the SMTP server.

server_name
required
string non-empty

SMTP server name.

host
required
string non-empty

SMTP server host.

port
required
integer <int32> [ 2 .. 65535 ]

SMTP server port.

from_address
required
string <email> non-empty

Email address used to send emails from.

encryption
required
string non-empty

Encryption used to send emails.

username
string

Username of the SMTP server.

password
string

Password for the SMTP server.

authentication_enabled
required
boolean

Authentication enabled status.

description
string

A one-line description of the SMTP server.

Responses

Request samples

Content type
application/json
{
  • "server_name": "test_smtp",
  • "host": "mail.f5net.com",
  • "port": 25,
  • "from_address": "admin@f5.com",
  • "encryption": "TLS",
  • "username": "admin",
  • "password": "admin",
  • "authentication_enabled": "true",
  • "description": "Test SMTP server"
}

Response samples

Content type
application/hal+json
[
  • {
    }
]

Retrieve SMTP servers

Retrieves a list of all SMTP servers.

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

page
integer
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=task_type,status - two column ascending sort
  • sort=-task_type - single column descending sort
  • sort=task_type,-status - mixed ascending/descending sort

The column names used to sort the result. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=username startswith 'admin' - query by string
  • filter=file_size gt 1024 - query by numerical condition

The conditions for querying the result.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve the configuration of a SMTP server

Retrieves a configuration of a specific SMTP server.

path Parameters
id
required
string <uuid>

ID of the SMTP server.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
[
  • {
    }
]

Update SMTP server

Updates the information of a SMTP server.

path Parameters
id
required
string <uuid>

ID of the SMTP server.

Request Body schema: application/json
required
id
string <uuid>

UUID of the SMTP server.

server_name
string

SMTP server name.

host
string

SMTP server host.

port
integer <int32>

SMTP server port.

from_address
string <email>

Email address used to send emails from.

encryption
string

Encryption used to send emails.

username
string

Username of the SMTP server.

password
string

Password for the SMTP server.

authentication_enabled
boolean

Authentication enabled status.

description
string

A one-line description of the SMTP server.

Responses

Request samples

Content type
application/json
{
  • "server_name": "test_smtp",
  • "host": "mail.f5net.com",
  • "port": 25,
  • "from_address": "admin@f5.com",
  • "encryption": "TLS",
  • "username": "admin",
  • "password": "admin",
  • "authentication_enabled": "true",
  • "description": "Test SMTP server"
}

Response samples

Content type
application/hal+json
[
  • {
    }
]

Delete SMTP server

Requests to delete a SMTP server.

path Parameters
id
required
string <uuid>

ID of the SMTP server.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "message": "string",
  • "status": 0
}

Task Management

Task Management APIs may operate on task management resources of the F5® BIG-IP® Next Central Manager.

Retrieve tasks

Retrieves a list of all tasks.

query Parameters
limit
integer >= 1
Examples:
  • limit=2 - return up to 2 items per page

Limits the number of items to return per page.

page
integer >= 1
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Retrieve task

Retrieves a specific task.

path Parameters
id
required
string <uuid>

UUID of task

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "created": "2023-04-11T15:51:04.675155+05:30",
  • "description": "mock-description",
  • "duration_ms": 300,
  • "id": "0df513f7-a754-4cb4-aa66-36f19da85674",
  • "inactive_time_in_min": 5,
  • "name": "task-3",
  • "percent_completed": 60,
  • "resumable": true,
  • "resume_topic": "device-discovery",
  • "source": "DEVICE",
  • "state": "discovery",
  • "status": "RUNNING"
}

Retrieve schedules

Retrieves all schedules.

query Parameters
limit
integer >= 1
Examples:
  • limit=2 - return up to 2 items per page

Limits the number of items to return per page.

page
integer >= 1
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column names used to sort results. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. You can query by equality, string, or numerical conditions.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve schedule details

Retrieves specific schedule details.

path Parameters
id
required
string

Schedule job ID

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "tag": "string",
  • "status": "string",
  • "job_type": "NORMAL",
  • "schedule_type": "BASIC_WITH_INTERVAL",
  • "basic_with_interval": {
    },
  • "basic_with_repeat_count": {
    },
  • "days_of_the_week": {
    },
  • "day_and_time_of_month": {
    },
  • "cron": {
    },
  • "start_date": "string",
  • "end_date": "string",
  • "context": "string",
  • "topic": "string",
  • "next_run_time": "string",
  • "timeout_in_min": 0,
  • "run_count": 0,
  • "last_run_details": {
    },
  • "_links": {
    }
}

Retrieve schedule all run details

Retrieves schedule all run details.

path Parameters
id
required
string

schedule ID

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Retrieve schedule specific run details

Retrieves schedule specific run details.

path Parameters
id
required
string

schedule ID

run_id
required
string

schedule Run ID

Responses

Response samples

Content type
application/hal+json
{
  • "run_id": "dded282c-8ebd-44cf-8ba5-9a234973d1ec",
  • "message": "string",
  • "status": "string",
  • "created": "string",
  • "duration_ms": 0,
  • "failure_reason": "string",
  • "updated": "string",
  • "cancelled_count": 0,
  • "completed_count": 0,
  • "failed_count": 0,
  • "total_expected_count": 0,
  • "_links": {
    }
}

Retrieve configuration details of Task manager feature

Retrieves configuration variable details for Task manager feature.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

Update Task manager configuration data

Updates the Task manager configuration values.

Request Body schema: application/json
required
Array
key
required
string
value
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "_embedded": {
    }
}

WAF Task Management

Enables certain operations for WAF tasks from the F5® BIG-IP® Next Central Manager.

Start WAF policy restore task

Starts a WAF policy restore task.

Request Body schema: application/json
required
id
required
string <uuid>
comment
string

Responses

Request samples

Content type
application/json
{
  • "id": "9c26fe7d-8e52-47b2-8a64-517e015ab707",
  • "comment": "restore to version N"
}

Response samples

Content type
application/json
{
  • "status": 400,
  • "message": "bad request"
}

Retrieve restore policy tasks

Retrieves a list of restore policy tasks and statuses.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a restore policy task

Retrieves a specific restore policy task and current status.

path Parameters
id
required
string <uuid>

UUID of the task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "history_id": "9c26fe7d-8e52-47b2-8a64-517e015ab707",
  • "_links": {
    }
}

Start WAF policy import task

Starts a WAF policy import task.

Request Body schema: multipart/form-data
required
content
required
string <binary>

WAF policy file to import.

policy_name
string^[-a-zA-Z0-9._/:]+$

WAF policy name.

description
string

WAF policy description.

override
string
Enum: "true" "false"

Confirmation to override an existing policy with the same name.

Responses

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve policy import tasks

Retrieve a list of policy import tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a policy import task

Retrieves a specific policy import task.

path Parameters
id
required
string <uuid>

UUID of task

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "policy_name": "waf_policy",
  • "warnings": [
    ],
  • "_links": {
    }
}

Start WAF policy update-signatures-enforcement task

Starts WAF policy update-signatures-enforcement task. Either filter or signature_ids is required. These must be used together with the action and policies attributes. Note that action will be applied to all policies if the policies attribute is missing.

Request Body schema: application/json
required
policies
Array of strings[^[-a-zA-Z0-9._/:]+$]

WAF policy names.

action
required
string
Enum: "enforce" "stage" "disable"
filter
string

Apply an action using the policy signature filter.

signature_ids
Array of integers <int64> [ items <int64 > ]

Apply an action on the list of signature IDs.

Responses

Request samples

Content type
application/json
{
  • "policies": [
    ],
  • "action": "enforce",
  • "filter": "status eq 'staging' or status eq 'enforced'",
  • "signature_ids": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve update-signatures-enforcement tasks

Retrieves a list of update-signatures-enforcement tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve an update-signatures-enforcement task

Retrieves a specific update-signatures-enforcement task.

path Parameters
id
required
string <uuid>

UUID of task

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "policy_name": "waf_policy",
  • "warnings": [
    ],
  • "_links": {
    }
}

Start WAF policy deployment task

Starts WAF policy deployment task to re-deploy the policy to all associated instances.

Request Body schema: application/json
required
One of
policy_name
required
string^[-a-zA-Z0-9._/:]+$

WAF policy name.

comment
string

Additional comments.

Responses

Request samples

Content type
application/json
Example
{
  • "policy_name": "single_policy",
  • "comment": "This is a comment"
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve policy deployment tasks

Retrieves a list of policy deployment tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a policy deployment task

Retrieves a specific policy deployment task.

path Parameters
id
required
string <uuid>

UUID of task

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "policy_name": "waf_policy",
  • "warnings": [
    ],
  • "_links": {
    }
}

Start accept-suggestions task

Starts the WAF policy accept-suggestions task. Required fields are policy, suggestions_ids, and action.

Request Body schema: application/json
required
action
required
string
Enum: "accept" "global-accept" "accept-and-stage"
policy
required
string

WAF policy Name or ID.

suggestions_ids
required
Array of strings <uuid> [ items <uuid > ]

Apply an action to the list of suggestion IDs.

Responses

Request samples

Content type
application/json
{
  • "action": "accept",
  • "policy": "string",
  • "suggestions_ids": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve accept-suggestions tasks

Retrieves a list of accept-suggestions tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve an accept-suggestions task

Retrieves a specific accept-suggestions task.

path Parameters
id
required
string <uuid>

UUID of the task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "policy_name": "waf_policy",
  • "warnings": [
    ],
  • "_links": {
    }
}

Start enforce-ready-entities task

Starts the WAF task to enforce ready entities. Required fields are policy and sections.

Request Body schema: application/json
required
policy
required
string

WAF policy Name or ID.

sections
required
Array of strings
Items Enum: "filetypes" "websocket-urls" "urls" "parameters" "cookies" "signatures" "threat-campaigns" "http-protocols" "evasions" "web-services-securities"

The sections of the entities that will be enforced.

Responses

Request samples

Content type
application/json
{
  • "policy": "string",
  • "sections": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve enforce-ready-entities tasks

Retrieves a list of enforce-ready-entities tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve an enforce-ready-entities task

Retrieves a specific enforce-ready-entities task.

path Parameters
id
required
string <uuid>

UUID of the task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "sections": [
    ],
  • "_links": {
    }
}

Start accept-request task

Starts the WAF accept-request task.

Request Body schema: application/json
required
support_id
required
string

Web application traffic log support_id

Responses

Request samples

Content type
application/json
{
  • "support_id": "string"
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve accept-request tasks

Retrieves a list of accept-request tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve an accept-request task

Retrieves a specific accept-request task.

path Parameters
id
required
string <uuid>

UUID of the task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "support_id": 123456789,
  • "_links": {
    }
}

Start clone-policy task

Starts the WAF clone-policy task.

Request Body schema: application/json
required
policy_name
required
string

WAF policy name to clone.

cloned_policy_name
required
string

Cloned WAF policy name.

clone_policy_tags
boolean

Specifies whether to include tags in cloned policy, true by default.

Responses

Request samples

Content type
application/json
{
  • "policy_name": "string",
  • "cloned_policy_name": "string",
  • "clone_policy_tags": true
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve clone-policy tasks

Retrieves a list of clone-policy tasks and statuses.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a clone-policy task

Retrieves a specific clone-policy task and current status.

path Parameters
id
required
string <uuid>

UUID of the task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "policy_name": "waf_policy",
  • "_links": {
    }
}

Start live update upload task

Starts a live update upload task.

Request Body schema: multipart/form-data
required
content
required
string <binary>

WAF live update file to upload.

Responses

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve live update upload tasks

Retrieves a list of live update upload tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a live update upload task

Retrieves a specific live update upload task.

path Parameters
id
required
string <uuid>

The UUID of live update task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "file_name": "ASM-AttackSignatures_20220819_082114.im",
  • "_links": {
    }
}

Start live update check-status task

Starts a live update check-status task.

Request Body schema: application/json
required
install
required
boolean

Responses

Request samples

Content type
application/json
{
  • "install": true
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve live update check-status tasks

Retrieves a list of live update check-status tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a live update check-status task

Retrieves a specific live update check-status task.

path Parameters
id
required
string <uuid>

The UUID of the check-status task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "downloaded": [
    ],
  • "installed": [
    ],
  • "install": true,
  • "bulk_install_ref": "/api/waf/v1/tasks/live-update/install-bulk/3ae608fb-7d8a-5338-b2df-967d5d775663",
  • "_links": {
    }
}

Start live update installation task

Starts a live update installation task.

Request Body schema: application/json
required
file_name
required
string

Live update file name to install.

Responses

Request samples

Content type
application/json
{
  • "file_name": "string"
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve live update installation tasks

Retrieves a list of live update installation tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a live update installation task

Retrieves a specific live update installation task.

path Parameters
id
required
string <uuid>

The UUID of the installation task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "installing",
  • "status": "RUNNING",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "file_name": "ASM-AttackSignatures_20220819_082114.im",
  • "instances": [
    ],
  • "_links": {
    }
}

Start live update bulk installation task

Starts a live update bulk installation task.

Request Body schema: application/json
required
files
Array of strings

Responses

Request samples

Content type
application/json
{
  • "files": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve live update bulk installation tasks

Retrieves a list of live update bulk installation tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a live update bulk installation task

Retrieves a specific live update bulk installation task.

path Parameters
id
required
string <uuid>

The UUID of the installation task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "files": [
    ],
  • "currently_installing": "ASM-AttackSignatures_20220819_082114.im",
  • "install_refs": [
    ],
  • "_links": {
    }
}

Start a live update preview task

Starts a task to preview changes included in the live update.

Request Body schema: application/json
required
file_name
required
string

Live update file name to preview.

Responses

Request samples

Content type
application/json
{
  • "file_name": "string"
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve live update preview tasks

Retrieves a list of live update preview tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a live update preview task

Retrieves a specific live update preview task.

path Parameters
id
required
string <uuid>

The UUID of the installation task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "calculating",
  • "status": "RUNNING",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "file_name": "ASM-AttackSignatures_20220819_082114.im",
  • "_links": {
    }
}

Start a WAF security report task

Starts a WAF security report task.

Request Body schema: application/json
required
report_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "report_id": "9c26fe7d-8e52-47b2-8a64-517e015ab707"
}

Response samples

Content type
application/hal+json
{
  • "path": "string",
  • "notification_source": "string",
  • "_links": {
    }
}

Retrieve WAF security report tasks

Retrieves a list of WAF security report tasks.

query Parameters
limit
integer
Examples:
  • limit=2 - return 2 pages

Limits the number of items to return per page.

page
integer
Examples:
  • page=3 - return page number 3

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=address,hostname - two column ascending sort
  • sort=-hostname - single column descending sort
  • sort=address,-hostname - mixed ascending/descending sort

The column name to sort results. Prefix column name with minus sign to sort in descending order.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=hostname startswith 'mbip' - query by string
  • filter=port gte 80 - query by numerical condition

Filter conditions for result queries. Queries by equality, string, or numerical conditions are possible.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "count": 0,
  • "total": 0,
  • "_embedded": {
    }
}

Retrieve a WAF security report task

Retrieves a specific WAF security report task.

path Parameters
id
required
string <uuid>

UUID of the task.

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "completeTask",
  • "status": "Completed",
  • "created": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "failure_reason": "",
  • "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
  • "report_id": "99571d5b-8a5c-4a5c-bf52-2e13222fc37d",
  • "report_name": "Full report across all categories",
  • "report_file_reference": "/api/v1/spaces/default/security/waf/files/9c26fe7d-8e52-47b2-8a64-517e015ab707",
  • "_links": {
    }
}

User

User APIs may operate on users of the F5® BIG-IP® Next Central Manager.

Retrieve all users

Retrieves a list of all system users.

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

page
integer
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=task_type,status - two column ascending sort
  • sort=-task_type - single column descending sort
  • sort=task_type,-status - mixed ascending/descending sort

The column names used to sort the result. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

filter
string
Examples:
  • filter=status eq 'completed' - query by equality
  • filter=username startswith 'admin' - query by string
  • filter=file_size gt 1024 - query by numerical condition

The conditions for querying the result.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    },
  • "_links": {
    }
}

Add user to system

Requests to add a user to system.

Request Body schema: application/json
required
username
required
string^[a-zA-Z\d._]+$

User name. Allowed characters in Username are dots(.), letters, numbers, and ‘_’ .

password
string

User password is mandatory for local users.

provider_type
string
Default: "Local"
Enum: "Local" "LDAP"

Auth provider type

provider_name
string non-empty

Auth provider name

Responses

Request samples

Content type
application/json
{
  • "username": "test",
  • "password": "test"
}

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "c339fdfb-0068-4549-b056-2a23f95be74b",
  • "username": "test"
}

Retrieve a specific user

Retrieves a specific user.

path Parameters
id
required
string <uuid>

UUID of user

query Parameters
select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "id": "c339fdfb-0068-4549-b056-2a23f95be74b",
  • "username": "test"
}

Remove a user

Deletes a specified user from system.

path Parameters
id
required
string <uuid>

UUID of user

Responses

Response samples

Content type
application/json
{
  • "status": 403,
  • "message": "user not authorized"
}

Update a user

Updates the user information of a specified user.

path Parameters
id
required
string <uuid>

UUID of user

Request Body schema: application/json
required
Any of
id
string <uuid>

UUID for the user.

username
required
string

User name.

password
required
string

User password.

disabled
boolean

Disabled Status.

force_change_password
boolean

force change password flag.

temporary_password
string

User temporary password.

email
string

user email

display_name
string

User display name

provider_type
string
Default: "Local"
Enum: "Local" "LDAP"

Auth provider type

provider_name
string non-empty

Auth provider name

new_password
string

New password

Responses

Request samples

Content type
application/json
Example

Changing the password

{
  • "username": "test-username",
  • "password": "test-password",
  • "new_password": "updated-password"
}

Response samples

Content type
application/hal+json

password updated

{
  • "_links": {
    },
  • "id": "c339fdfb-0068-4549-b056-2a23f95be74b",
  • "username": "test-username"
}

Retrieve all role groups that belong to a user

Retrieves a list of all the role groups belonging to user.

path Parameters
id
required
string <uuid>

UUID of user

query Parameters
limit
integer
Examples:
  • limit=2 - return up to 2 items per page.

Limits the number of items to return per page.

page
integer
Examples:
  • page=2 - return page number 2

The number of the page to return. Ignored if limit parameter is absent.

sort
string
Examples:
  • sort=task_type,status - two column ascending sort
  • sort=-task_type - single column descending sort
  • sort=task_type,-status - mixed ascending/descending sort

The column names used to sort the result. Prefix the name with a minus to request a descending order of sort.

select
string
Examples:
  • select=name,state,status - selected column names

The names of the specific fields to return.

Responses

Response samples

Content type
application/hal+json
{
  • "_embedded": {
    }
}

Assign roles to a user

Assign roles to a user.

path Parameters
id
required
string <uuid>

UUID of user

Request Body schema: application/json
required
role_ids
required
Array of strings <uuid> [ items <uuid > ]

array of UUID of roles

Responses

Request samples

Content type
application/json
{
  • "role_ids": [
    ]
}

Response samples

Content type
application/hal+json
{
  • "message": "string",
  • "_links": {
    }
}

Retrieve a user role map

Requests a specific UserRoleMap object.

path Parameters
id
required
string <uuid>

UUID of user

role_id
required
string <uuid>

UUID of Role

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "role_id": "10259017-e63f-4b32-b6fc-4abd1a014b2e",
  • "user_id": "e5adb272-632a-4ab1-8bb5-481f25fc4a19"
}

Remove role from user

Removes a role from a user.

path Parameters
id
required
string <uuid>

UUID of user

role_id
required
string <uuid>

UUID of role

Responses

Response samples

Content type
application/json
{
  • "status": 403,
  • "message": "user not authorized"
}

Retrieve feature permissions

Retrieves all the feature permissions associated to the user.

path Parameters
id
required
string <uuid>

UUID of user

Responses

Response samples

Content type
application/hal+json
{
  • "_links": {
    },
  • "features": [
    ]
}

Generate temporary password

Requests a temporary password to be generated for the user to login.

Request Body schema: application/json
required
username
required
string
temporary_password
string

Responses

Request samples

Content type
application/json
{
  • "username": "admin",
  • "temporary_password": "temp@123"
}

Response samples

Content type
application/json
{
  • "message": "Password reset was successful."
}

Restore the previous password

Request the temporay password fields and restore the password to non-temporary password.

Request Body schema: application/json
required
username
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "admin"
}

Response samples

Content type
application/json
{
  • "message": "Password restore was successful."
}

Change the temporary password to the new password

Changes the temporary password to the new password.

Request Body schema: application/json
required
username
required
string non-empty

User Name

temp_password
required
string non-empty

Temporary password

new_password
required
string non-empty

New password

Responses

Request samples

Content type
application/json
{
  • "username": "admin"
}

Response samples

Content type
application/json
{
  • "message": "Password change was successful."
}