Download OpenAPI specification:Download
This reference describes the AS3 API and available endpoints. For more details, see https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/refguide/as3-api.html
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
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 |
async | boolean async=: true causes 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. |
showHash | boolean AS3 3.14.0+: 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. |
controls.dryRun | boolean 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 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 AS3 3.30+: If true, 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 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 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. |
body | object (declaration) See Composing a Declaration and the API details page for information on the the AS3 Request 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"
]
}
]
}
}
}
}
}
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. |
age | integer|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 AS3 class. The default is 0. |
filterClass | string You can use filterClass to retrieve results for only a specific 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"
]
}
]
}
}
}
}
Version Notice: PATCH is available in AS3 v3.1.0 and later
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 AS3 3.5.0+: Setting async to true causes 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": "c098f4f1-d2a4-4c53-8728-7d1ce5567a4a",
- "results": [
- {
- "code": 0,
- "message": "Declaration successfully submitted",
- "host": "",
- "tenant": "",
- "runTime": 0
}
], - "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": {
- "ass": "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 AS3 you are using. It also shows current and minimum required versions of the 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": "d1d2137e-d6e6-4ee6-b20f-e9a738d3ce1c",
- "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"
]
}
]
}
}
}
}
}
Use POST to deploy simple settings changes in AS3. You must supply a schema appropriate JSON object as the body of the request.
object (AS3 Settings Declaration) A declarative configuration for AS3 |
{- "burstHandlingEnabled": false
}
{- "burstHandlingEnabled": false
}