Download OpenAPI specification:Download
This reference describes the BIG-IP AS3 API and available endpoints.
Use POST to deploy a configuration to a target ADC, or for certain other actions, including retrieve. You must supply a request document with each POST. The request document may be a proper request or a ADC-only declaration
async | boolean async=: true causes BIG-IP AS3 to respond with a 202 status and a request ID which you can later use in a GET request to a new /task endpoint to get the results. Default is false. |
controls.dryRun | boolean BIG-IP AS3 3.30+: Using controls.dryRun=true sends the declaration through all validation checks but does not attempt to deploy the configuration on the target device. This can be useful for testing and debugging declarations. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.logLevel | string BIG-IP AS3 3.30+: Determines the level of detail in logs using RFC 5424 severity levels. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is error. |
controls.trace | boolean BIG-IP AS3 3.30+: If true, BIG-IP AS3 creates a detailed trace of the configuration process for subsequent analysis (default false). Warning: Trace files may contain sensitive configuration data. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.traceResponse | boolean BIG-IP AS3 3.30+: If true, the response will contain the trace files. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.userAgent | string BIG-IP AS3 3.30+: User Agent information to include in TEEM report. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. |
show | string show=: base means system returns the declaration as originally deployed (but with secrets like passphrases encrypted), full returns the declaration with all default schema properties populated, expanded includes all URLs, base64s, and other references expanded to their final static values. Default is base |
showHash | boolean If you set showHash=true, the results include an optimisticLockKey for each tenant. Attempts to change/update any of the tenants without the correct optimisticLockKey will fail. The default is false. |
body |
{- "class": "ADC",
- "schemaVersion": "3.0.0",
- "tenant": {
- "class": "Tenant",
- "application": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.0"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.1",
- "192.0.2.2"
]
}
]
}
}
}
}
{- "results": [
- {
- "code": 200,
- "message": "success",
- "lineCount": 25,
- "host": "localhost",
- "tenant": "tenant",
- "runTime": 1263
}
], - "declaration": {
- "class": "ADC",
- "schemaVersion": "3.0.0",
- "tenant": {
- "class": "Tenant",
- "application": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.0"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.1",
- "192.0.2.2"
]
}
]
}
}
}, - "id": "autogen_1d77bb4f-cd46-453b-917f-897bd2c278f7",
- "updateMode": "selective"
}
}
Retrieve a declaration (with all or just some Tenants) or an index of stored declarations.
show | string base means system returns the declaration as originally deployed (but with secrets like passphrases encrypted), full returns the declaration with all default schema properties populated, expanded includes all URLs, base64s, and other references expanded to their final static values. The default is base. |
integer or string ?age=0-15 asks for a declaration of the given age (0 means most-recently deployed), and "list" asks for a list of available declarations with their ages. By default, list only shows 4 declarations, this is configurable using historyLimit in the BIG-IP AS3 class. The default is 0. | |
filterClass | string You can use filterClass to retrieve results for only a specific BIG-IP AS3 class. For example ?filterClass=HTTP_Profile only returns the HTTP Profile portions of the declaration. You can only use filterClass once in a single GET request. |
{- "class": "ADC",
- "schemaVersion": "3.0.0",
- "tenant": {
- "class": "Tenant",
- "application": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.0"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.1",
- "192.0.2.2"
]
}
]
}
}
}, - "id": "autogen_1d77bb4f-cd46-453b-917f-897bd2c278f7",
- "updateMode": "selective"
}
You can use the PATCH method to modify the configuration produced by a previously-sent declaration without having to resend the entire declaration
show | string base means system returns the declaration as originally deployed (but with secrets like passphrases encrypted), full returns the declaration with all default schema properties populated, expanded includes all URLs, base64s, and other references expanded to their final static values. The default is base. |
async | boolean Setting async to true causes BIG-IP AS3 to respond with a 202 status and a request ID which you can later use in a GET request to a new /task endpoint to get the results. |
{- "id": "f1f1c942-72b5-42f4-9210-7339a190fc9e",
- "results": [
- {
- "message": "Declaration successfully submitted",
- "tenant": "",
- "runTime": 0,
- "code": 0,
- "host": ""
}
], - "declaration": { },
}
Use DELETE to remove configurations for one or more declared Tenants from the target ADC.
show | string base means system returns the declaration as originally deployed (but with secrets like passphrases encrypted), full returns the declaration with all default schema properties populated, expanded includes all URLs, base64s, and other references expanded to their final static values. The default is base. |
{- "results": [
- {
- "code": 200,
- "message": "success",
- "lineCount": 25,
- "host": "localhost",
- "tenant": "tenant",
- "runTime": 1263
}
], - "declaration": {
- "class": "ADC",
- "schemaVersion": "3.0.0",
- "id": "1590774498956",
- "updateMode": "complete",
- "controls": {
- "archiveTimestamp": "2020-05-29T17:48:19.699Z"
}
}
}
Use POST to deploy a configuration to a target ADC, or for certain other actions, including retrieve. You must supply a request document with each POST. The request document may be a proper request or a ADC-only declaration
tenant required | string Only use the specified tenants. Other tenants in the declaration will be ignored. May be a comma separated list. |
async | boolean async=: true causes BIG-IP AS3 to respond with a 202 status and a request ID which you can later use in a GET request to a new /task endpoint to get the results. Default is false. |
controls.dryRun | boolean BIG-IP AS3 3.30+: Using controls.dryRun=true sends the declaration through all validation checks but does not attempt to deploy the configuration on the target device. This can be useful for testing and debugging declarations. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.logLevel | string BIG-IP AS3 3.30+: Determines the level of detail in logs using RFC 5424 severity levels. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is error. |
controls.trace | boolean BIG-IP AS3 3.30+: If true, BIG-IP AS3 creates a detailed trace of the configuration process for subsequent analysis (default false). Warning: Trace files may contain sensitive configuration data. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.traceResponse | boolean BIG-IP AS3 3.30+: If true, the response will contain the trace files. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.userAgent | string BIG-IP AS3 3.30+: User Agent information to include in TEEM report. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. |
show | string show=: base means system returns the declaration as originally deployed (but with secrets like passphrases encrypted), full returns the declaration with all default schema properties populated, expanded includes all URLs, base64s, and other references expanded to their final static values. Default is base |
showHash | boolean If you set showHash=true, the results include an optimisticLockKey for each tenant. Attempts to change/update any of the tenants without the correct optimisticLockKey will fail. The default is false. |
body |
{- "class": "ADC",
- "schemaVersion": "3.0.0",
- "tenant": {
- "class": "Tenant",
- "application": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.0"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.1",
- "192.0.2.2"
]
}
]
}
}
}
}
{- "successResponse": {
- "$ref": "#/components/examples/declarationTenantSyncResponse"
}
}
Use POST to deploy a configuration to a target ADC, or for certain other actions, including retrieve. You must supply a request document with each POST. The request document may be a proper request or a ADC-only declaration
tenant required | string Tenant in which to create the application. Tenant will be created if it doesn't exist. |
async | boolean async=: true causes BIG-IP AS3 to respond with a 202 status and a request ID which you can later use in a GET request to a new /task endpoint to get the results. Default is false. |
controls.dryRun | boolean BIG-IP AS3 3.30+: Using controls.dryRun=true sends the declaration through all validation checks but does not attempt to deploy the configuration on the target device. This can be useful for testing and debugging declarations. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.logLevel | string BIG-IP AS3 3.30+: Determines the level of detail in logs using RFC 5424 severity levels. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is error. |
controls.trace | boolean BIG-IP AS3 3.30+: If true, BIG-IP AS3 creates a detailed trace of the configuration process for subsequent analysis (default false). Warning: Trace files may contain sensitive configuration data. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.traceResponse | boolean BIG-IP AS3 3.30+: If true, the response will contain the trace files. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.userAgent | string BIG-IP AS3 3.30+: User Agent information to include in TEEM report. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. |
show | string show=: base means system returns the declaration as originally deployed (but with secrets like passphrases encrypted), full returns the declaration with all default schema properties populated, expanded includes all URLs, base64s, and other references expanded to their final static values. Default is base |
showHash | boolean If you set showHash=true, the results include an optimisticLockKey for each tenant. Attempts to change/update any of the tenants without the correct optimisticLockKey will fail. The default is false. |
body |
{- "application1": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.1"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.10",
- "192.0.2.20"
]
}
]
}
}, - "controls": {
- "class": "Controls",
- "logLevel": "debug",
- "trace": true,
- "traceResponse": true
}
}
{- "application1": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.0"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.1",
- "192.0.2.2"
]
}
]
}
}, - "controls": {
- "class": "Controls",
- "logLevel": "debug",
- "trace": true,
- "traceResponse": true
}, - "id": "autogen_1d77bb4f-cd46-453b-917f-897bd2c278f7"
}
Retrieve the declarations for all applications under a tenant
{- "application1": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.1"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.10",
- "192.0.2.20"
]
}
]
}
}, - "application2": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.2"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.30",
- "192.0.2.40"
]
}
]
}
}, - "controls": {
- "class": "Controls",
- "logLevel": "debug",
- "trace": true,
- "traceResponse": true
}
}
Retrieve the declaration for a specific application under a tenant
{- "application1": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.0"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.1",
- "192.0.2.2"
]
}
]
}
}, - "controls": {
- "class": "Controls",
- "logLevel": "debug",
- "trace": true,
- "traceResponse": true
}, - "id": "autogen_1d77bb4f-cd46-453b-917f-897bd2c278f7"
}
Delete the configuration for a single application
tenant required | string Tenant in which to create the application. Tenant will be created if it doesn't exist. |
application required | string Application to read/update. |
async | boolean async=: true causes BIG-IP AS3 to respond with a 202 status and a request ID which you can later use in a GET request to a new /task endpoint to get the results. Default is false. |
controls.dryRun | boolean BIG-IP AS3 3.30+: Using controls.dryRun=true sends the declaration through all validation checks but does not attempt to deploy the configuration on the target device. This can be useful for testing and debugging declarations. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.logLevel | string BIG-IP AS3 3.30+: Determines the level of detail in logs using RFC 5424 severity levels. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is error. |
controls.trace | boolean BIG-IP AS3 3.30+: If true, BIG-IP AS3 creates a detailed trace of the configuration process for subsequent analysis (default false). Warning: Trace files may contain sensitive configuration data. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.traceResponse | boolean BIG-IP AS3 3.30+: If true, the response will contain the trace files. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. The default is false. |
controls.userAgent | string BIG-IP AS3 3.30+: User Agent information to include in TEEM report. Using this query parameter overwrites any Controls in the ADC class you specified in the declaration. |
show | string show=: base means system returns the declaration as originally deployed (but with secrets like passphrases encrypted), full returns the declaration with all default schema properties populated, expanded includes all URLs, base64s, and other references expanded to their final static values. Default is base |
showHash | boolean If you set showHash=true, the results include an optimisticLockKey for each tenant. Attempts to change/update any of the tenants without the correct optimisticLockKey will fail. The default is false. |
{- "results": [
- {
- "code": 200,
- "message": "success",
- "lineCount": 25,
- "host": "localhost",
- "tenant": "tenant",
- "runTime": 1263
}
], - "declaration": {
- "class": "ADC",
- "schemaVersion": "3.0.0",
- "id": "1590774498956",
- "updateMode": "complete",
- "controls": {
- "archiveTimestamp": "2020-05-29T17:48:19.699Z"
}
}
}
This returns version and release information for the instance of BIG-IP AS3 you are using. It also shows current and minimum required versions of the BIG-IP AS3 schema.
{- "version": "3.20.0",
- "release": 2,
- "schemaCurrent": "3.20.0",
- "schemaMinimum": "3.0.0"
}
If you used the ?async=true query parameter to send a large declaration, you can use a GET request to the /task endpoint with the recordId returned by the POST to see the status of the processing (and the results if it is finished). Old task records are removed if the record is older than one week or more than 25 records exist.
{- "id": "c8b8be98-1a55-443e-acd2-ec4b09fb2fc3",
- "results": [
- {
- "code": 200,
- "message": "success",
- "lineCount": 25,
- "host": "localhost",
- "tenant": "tenant",
- "runTime": 1263
}
], - "declaration": {
- "class": "ADC",
- "schemaVersion": "3.0.0",
- "tenant": {
- "class": "Tenant",
- "application": {
- "class": "Application",
- "service": {
- "class": "Service_HTTP",
- "virtualAddresses": [
- "192.0.2.0"
], - "pool": "pool"
}, - "pool": {
- "class": "Pool",
- "members": [
- {
- "servicePort": 80,
- "serverAddresses": [
- "192.0.2.1",
- "192.0.2.2"
]
}
]
}
}, - "id": "autogen_1d77bb4f-cd46-453b-917f-897bd2c278f7"
}
}
}
Use POST to deploy simple settings changes in BIG-IP AS3. You must supply a schema appropriate JSON object as the body of the request.
object (F5 BIG-IP AS3 Settings Declaration) A declarative configuration for BIG-IP AS3 |
{- "value": {
- "burstHandlingEnabled": false
}
}
{- "burstHandlingEnabled": true,
- "value": {
- "burstHandlingEnabled": false
}
}