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 -