ICAP Profile Management API v1.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Authentication
-
HTTP Authentication, scheme: basic
-
HTTP Authentication, scheme: Bearer
Profile Management
Endpoint supporting the retrieval and editing of ICAP Profile settings.
Retrieves list of current ICAP Profiles.
Code samples
# You can also use wget
curl -X GET /api/v1/profiles \
-H 'Accept: application/json'
GET /api/v1/profiles HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('/api/v1/profiles',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/api/v1/profiles',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/api/v1/profiles', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/profiles', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/profiles");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/profiles", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v1/profiles
Example responses
200 Response
[
{
"profileName": "default",
"profileVersion": 1,
"isDefaultProfile": true
},
{
"profileName": "testProfile",
"isDefaultProfile": false
}
]
404 Response
[
"Profiles not found"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ProfileList |
404 | Not Found | Profiles not found | Error |
Retrieves the specified ICAP Profile settings.
Code samples
# You can also use wget
curl -X GET /api/v1/profiles/{profileName} \
-H 'Accept: application/json'
GET /api/v1/profiles/{profileName} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('/api/v1/profiles/{profileName}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/api/v1/profiles/{profileName}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/api/v1/profiles/{profileName}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v1/profiles/{profileName}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/profiles/{profileName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v1/profiles/{profileName}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v1/profiles/{profileName}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
profileName | path | ProfileName | true | Specifies the name of the referenced ICAP Profile |
Example responses
200 Response
{
"profileName": "string",
"profileIdentity": "9e1aad57-a303-4873-b6ee-75861956dd1a",
"profileVersion": 2,
"isDefaultProfile": false,
"status": "enabled",
"profileSettings": {
"contentManagementPolicy": "default",
"processingRulesDefault": "bypass",
"processingRules": {
"application/msword": "process",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "process",
"application/vnd.ms-excel": "process",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "process",
"application/vnd.ms-powerpoint": "process",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "process",
"application/pdf": "process",
"image/jpeg": "process",
"image/png": "process",
"image/gif": "process",
"image/tiff": "process",
"image/bmp": "process",
"image/svg+xml": "process",
"image/webp": "process",
"application/x-emf": "process",
"application/x-wmf": "process",
"audio/wav": "process",
"audio/mpeg": "process",
"audio/mp4": "process",
"application/x-bzip2": "process",
"application/gzip": "process",
"application/x-rar-compressed": "process",
"application/x-tar": "process",
"application/x-xz": "process",
"application/zip": "process",
"application/x-7z-compressed": "process",
"text/plain": "bypass",
"text/html": "bypass",
"text/css": "bypass",
"text/javascript": "bypass",
"application/json": "bypass",
"application/xml": "bypass",
"application/octet-stream": "bypass",
"application/x-msdownload": "bypass"
}
}
}
404 Response
[
"Profile not found"
]
500 Response
[
"Processing error"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ICAP Profile found | ProfileDescription |
404 | Not Found | Specified profile not found | Error |
500 | Internal Server Error | Issues occurred when attempting to access storage. | Error |
Creates a new ICAP profile
Code samples
# You can also use wget
curl -X POST /api/v1/profiles/{profileName} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST /api/v1/profiles/{profileName} HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"status": "enabled",
"profileSettings": {
"contentManagementPolicy": "default",
"processingRulesDefault": "bypass",
"processingRules": {
"application/msword": "process",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "process",
"application/vnd.ms-excel": "process",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "process",
"application/vnd.ms-powerpoint": "process",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "process",
"application/pdf": "process",
"image/jpeg": "process",
"image/png": "process",
"image/gif": "process",
"image/tiff": "process",
"image/bmp": "process",
"image/svg+xml": "process",
"image/webp": "process",
"application/x-emf": "process",
"application/x-wmf": "process",
"audio/wav": "process",
"audio/mpeg": "process",
"audio/mp4": "process",
"application/x-bzip2": "process",
"application/gzip": "process",
"application/x-rar-compressed": "process",
"application/x-tar": "process",
"application/x-xz": "process",
"application/zip": "process",
"application/x-7z-compressed": "process",
"text/plain": "bypass",
"text/html": "bypass",
"text/css": "bypass",
"text/javascript": "bypass",
"application/json": "bypass",
"application/xml": "bypass",
"application/octet-stream": "bypass",
"application/x-msdownload": "bypass"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('/api/v1/profiles/{profileName}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post '/api/v1/profiles/{profileName}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('/api/v1/profiles/{profileName}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/profiles/{profileName}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/profiles/{profileName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/profiles/{profileName}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v1/profiles/{profileName}
Body parameter
{
"status": "enabled",
"profileSettings": {
"contentManagementPolicy": "default",
"processingRulesDefault": "bypass",
"processingRules": {
"application/msword": "process",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "process",
"application/vnd.ms-excel": "process",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "process",
"application/vnd.ms-powerpoint": "process",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "process",
"application/pdf": "process",
"image/jpeg": "process",
"image/png": "process",
"image/gif": "process",
"image/tiff": "process",
"image/bmp": "process",
"image/svg+xml": "process",
"image/webp": "process",
"application/x-emf": "process",
"application/x-wmf": "process",
"audio/wav": "process",
"audio/mpeg": "process",
"audio/mp4": "process",
"application/x-bzip2": "process",
"application/gzip": "process",
"application/x-rar-compressed": "process",
"application/x-tar": "process",
"application/x-xz": "process",
"application/zip": "process",
"application/x-7z-compressed": "process",
"text/plain": "bypass",
"text/html": "bypass",
"text/css": "bypass",
"text/javascript": "bypass",
"application/json": "bypass",
"application/xml": "bypass",
"application/octet-stream": "bypass",
"application/x-msdownload": "bypass"
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | ProfileSettingsBody | true | none |
profileName | path | ProfileName | true | Specifies the name of the referenced ICAP Profile |
Example responses
201 Response
{
"schemaName": "icapv1",
"profileName": "default",
"profileIdentity": "9e1aad57-a303-4873-b6ee-75861956dd1a",
"profileVersion": 2,
"isDefaultProfile": false,
"profileLocation": "api/v1/schemas/icapv1/policies/profileName"
}
400 Response
[
"Duplicate Profile name"
]
403 Response
[
"Invalid attempt to create 'default' profile"
]
500 Response
[
"Processing error"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Profile Created | ProfileMetadata |
400 | Bad Request | Profile failed validation, reasons in response | Error |
403 | Forbidden | Attempt to create ‘default’ profile | Error |
500 | Internal Server Error | Issues occurred when attempting to access storage. | Error |
Update ICAP Profile
Code samples
# You can also use wget
curl -X PUT /api/v1/profiles/{profileName} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
PUT /api/v1/profiles/{profileName} HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"status": "enabled",
"profileSettings": {
"contentManagementPolicy": "default",
"processingRulesDefault": "bypass",
"processingRules": {
"application/msword": "process",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "process",
"application/vnd.ms-excel": "process",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "process",
"application/vnd.ms-powerpoint": "process",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "process",
"application/pdf": "process",
"image/jpeg": "process",
"image/png": "process",
"image/gif": "process",
"image/tiff": "process",
"image/bmp": "process",
"image/svg+xml": "process",
"image/webp": "process",
"application/x-emf": "process",
"application/x-wmf": "process",
"audio/wav": "process",
"audio/mpeg": "process",
"audio/mp4": "process",
"application/x-bzip2": "process",
"application/gzip": "process",
"application/x-rar-compressed": "process",
"application/x-tar": "process",
"application/x-xz": "process",
"application/zip": "process",
"application/x-7z-compressed": "process",
"text/plain": "bypass",
"text/html": "bypass",
"text/css": "bypass",
"text/javascript": "bypass",
"application/json": "bypass",
"application/xml": "bypass",
"application/octet-stream": "bypass",
"application/x-msdownload": "bypass"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('/api/v1/profiles/{profileName}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.put '/api/v1/profiles/{profileName}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.put('/api/v1/profiles/{profileName}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/api/v1/profiles/{profileName}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/profiles/{profileName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/api/v1/profiles/{profileName}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /api/v1/profiles/{profileName}
Update the settings for an existing ICAP Profile.
Body parameter
{
"status": "enabled",
"profileSettings": {
"contentManagementPolicy": "default",
"processingRulesDefault": "bypass",
"processingRules": {
"application/msword": "process",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "process",
"application/vnd.ms-excel": "process",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "process",
"application/vnd.ms-powerpoint": "process",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "process",
"application/pdf": "process",
"image/jpeg": "process",
"image/png": "process",
"image/gif": "process",
"image/tiff": "process",
"image/bmp": "process",
"image/svg+xml": "process",
"image/webp": "process",
"application/x-emf": "process",
"application/x-wmf": "process",
"audio/wav": "process",
"audio/mpeg": "process",
"audio/mp4": "process",
"application/x-bzip2": "process",
"application/gzip": "process",
"application/x-rar-compressed": "process",
"application/x-tar": "process",
"application/x-xz": "process",
"application/zip": "process",
"application/x-7z-compressed": "process",
"text/plain": "bypass",
"text/html": "bypass",
"text/css": "bypass",
"text/javascript": "bypass",
"application/json": "bypass",
"application/xml": "bypass",
"application/octet-stream": "bypass",
"application/x-msdownload": "bypass"
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | ProfileSettingsBody | true | none |
profileName | path | ProfileName | true | Specifies the name of the referenced ICAP Profile |
Example responses
200 Response
{
"schemaName": "icapv1",
"profileName": "default",
"profileIdentity": "9e1aad57-a303-4873-b6ee-75861956dd1a",
"profileVersion": 2,
"isDefaultProfile": false,
"profileLocation": "api/v1/schemas/icapv1/policies/profileName"
}
400 Response
[
"Unknown content management policy `missingPolicy01'"
]
404 Response
[
"Profile not found"
]
500 Response
[
"Processing error"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Profile updated | ProfileMetadata |
400 | Bad Request | Profile failed validation, reasons in response | Error |
404 | Not Found | Specified Profile not found | Error |
500 | Internal Server Error | Issues occurred when attempting to access storage. | Error |
Delete ICAP Profile
Code samples
# You can also use wget
curl -X DELETE /api/v1/profiles/{profileName} \
-H 'Accept: application/json'
DELETE /api/v1/profiles/{profileName} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('/api/v1/profiles/{profileName}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.delete '/api/v1/profiles/{profileName}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('/api/v1/profiles/{profileName}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/api/v1/profiles/{profileName}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/profiles/{profileName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/api/v1/profiles/{profileName}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /api/v1/profiles/{profileName}
Delete the specified ICAP Profile
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
profileName | path | ProfileName | true | Specifies the name of the referenced ICAP Profile |
Example responses
403 Response
[
"Invalid attempt to delete 'default' profile"
]
404 Response
[
"Profile not found"
]
500 Response
[
"Processing error"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
403 | Forbidden | Attempt to delete ‘default’ profile | Error |
404 | Not Found | Specified profile not found | Error |
500 | Internal Server Error | Issues occurred when attempting to access storage. | Error |
ProfileManagement
Resets Profile to schema defaults
Code samples
# You can also use wget
curl -X PUT /api/v1/profiles/{profileName}/reset
PUT /api/v1/profiles/{profileName}/reset HTTP/1.1
fetch('/api/v1/profiles/{profileName}/reset',
{
method: 'PUT'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
result = RestClient.put '/api/v1/profiles/{profileName}/reset',
params: {
}
p JSON.parse(result)
import requests
r = requests.put('/api/v1/profiles/{profileName}/reset')
print(r.json())
<?php
require 'vendor/autoload.php';
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/api/v1/profiles/{profileName}/reset', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v1/profiles/{profileName}/reset");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/api/v1/profiles/{profileName}/reset", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /api/v1/profiles/{profileName}/reset
Resets the settings for the specified profile to the default values in the profile schema. This applies to the ‘default’ profile also.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
profileName | path | string | true | Specifies the name of the referenced ICAP Profile |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Profile Updated | None |
404 | Not Found | Specified profile not found | None |
500 | Internal Server Error | Issues occurred when attempting to access storage. | None |
Schemas
Error
[
"string"
]
Properties
None
PolicyName
"default"
Identifies the policy. The name should consist of only alphanumeric characters [A-Za-z0-9]
.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Identifies the policy. The name should consist of only alphanumeric characters [A-Za-z0-9] . |
ProfileName
"string"
Identifies the ICAP Profile. The name should consist of only alphanumeric characters [A-Za-z0-9]
.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Identifies the ICAP Profile. The name should consist of only alphanumeric characters [A-Za-z0-9] . |
ProfileVersion
2
Identifies the version of the ICAP Profile.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | integer | false | none | Identifies the version of the ICAP Profile. |
ProfileDefaultFlag
false
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | boolean | false | none | none |
ProfileListItem
{
"profileName": "string",
"profileVersion": 2,
"isDefaultProfile": false
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
profileName | ProfileName | false | none | Identifies the ICAP Profile. The name should consist of only alphanumeric characters [A-Za-z0-9] . |
profileVersion | ProfileVersion | false | none | Identifies the version of the ICAP Profile. |
isDefaultProfile | ProfileDefaultFlag | false | none | none |
ProfileList
[
{
"profileName": "string",
"profileVersion": 2,
"isDefaultProfile": false
}
]
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [ProfileListItem] | false | none | none |
ProfileIdentity
"9e1aad57-a303-4873-b6ee-75861956dd1a"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string(uuid) | false | none | none |
ProfileStatus
"enabled"
Status indicates whether ICAP Profile can be actively used.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Status indicates whether ICAP Profile can be actively used. |
Enumerated Values
Property | Value |
---|---|
anonymous | enabled |
anonymous | disabled |
ProfileProcessingAction
"bypass"
Identifies the actions to be carried out - block
: Blocks content - bypass
: Enables content to skip the CDR process - process
: Identifies content that must be rebuilt by CDR
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Identifies the actions to be carried out - block : Blocks content - bypass : Enables content to skip the CDR process - process : Identifies content that must be rebuilt by CDR |
Enumerated Values
Property | Value |
---|---|
anonymous | bypass |
anonymous | block |
anonymous | process |
ProfileProcessingRules
{
"application/msword": "process",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "process",
"application/vnd.ms-excel": "process",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "process",
"application/vnd.ms-powerpoint": "process",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "process",
"application/pdf": "process",
"image/jpeg": "process",
"image/png": "process",
"image/gif": "process",
"image/tiff": "process",
"image/bmp": "process",
"image/svg+xml": "process",
"image/webp": "process",
"application/x-emf": "process",
"application/x-wmf": "process",
"audio/wav": "process",
"audio/mpeg": "process",
"audio/mp4": "process",
"application/x-bzip2": "process",
"application/gzip": "process",
"application/x-rar-compressed": "process",
"application/x-tar": "process",
"application/x-xz": "process",
"application/zip": "process",
"application/x-7z-compressed": "process",
"text/plain": "bypass",
"text/html": "bypass",
"text/css": "bypass",
"text/javascript": "bypass",
"application/json": "bypass",
"application/xml": "bypass",
"application/octet-stream": "bypass",
"application/x-msdownload": "bypass"
}
Maps MIME types to the required processing action.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
additionalProperties | ProfileProcessingAction | false | none | Identifies the actions to be carried out - block : Blocks content - bypass : Enables content to skip the CDR process - process : Identifies content that must be rebuilt by CDR |
ProfileSettings
{
"contentManagementPolicy": "default",
"processingRulesDefault": "bypass",
"processingRules": {
"application/msword": "process",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "process",
"application/vnd.ms-excel": "process",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "process",
"application/vnd.ms-powerpoint": "process",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "process",
"application/pdf": "process",
"image/jpeg": "process",
"image/png": "process",
"image/gif": "process",
"image/tiff": "process",
"image/bmp": "process",
"image/svg+xml": "process",
"image/webp": "process",
"application/x-emf": "process",
"application/x-wmf": "process",
"audio/wav": "process",
"audio/mpeg": "process",
"audio/mp4": "process",
"application/x-bzip2": "process",
"application/gzip": "process",
"application/x-rar-compressed": "process",
"application/x-tar": "process",
"application/x-xz": "process",
"application/zip": "process",
"application/x-7z-compressed": "process",
"text/plain": "bypass",
"text/html": "bypass",
"text/css": "bypass",
"text/javascript": "bypass",
"application/json": "bypass",
"application/xml": "bypass",
"application/octet-stream": "bypass",
"application/x-msdownload": "bypass"
}
}
The settings that are applied when the ICAP Policy is used.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
contentManagementPolicy | PolicyName | true | none | Identifies the policy. The name should consist of only alphanumeric characters [A-Za-z0-9] . |
processingRulesDefault | ProfileProcessingAction | true | none | Identifies the actions to be carried out - block : Blocks content - bypass : Enables content to skip the CDR process - process : Identifies content that must be rebuilt by CDR |
processingRules | ProfileProcessingRules | true | none | Maps MIME types to the required processing action. |
ProfileDescription
{
"profileName": "string",
"profileIdentity": "9e1aad57-a303-4873-b6ee-75861956dd1a",
"profileVersion": 2,
"isDefaultProfile": false,
"status": "enabled",
"profileSettings": {
"contentManagementPolicy": "default",
"processingRulesDefault": "bypass",
"processingRules": {
"application/msword": "process",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "process",
"application/vnd.ms-excel": "process",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "process",
"application/vnd.ms-powerpoint": "process",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "process",
"application/pdf": "process",
"image/jpeg": "process",
"image/png": "process",
"image/gif": "process",
"image/tiff": "process",
"image/bmp": "process",
"image/svg+xml": "process",
"image/webp": "process",
"application/x-emf": "process",
"application/x-wmf": "process",
"audio/wav": "process",
"audio/mpeg": "process",
"audio/mp4": "process",
"application/x-bzip2": "process",
"application/gzip": "process",
"application/x-rar-compressed": "process",
"application/x-tar": "process",
"application/x-xz": "process",
"application/zip": "process",
"application/x-7z-compressed": "process",
"text/plain": "bypass",
"text/html": "bypass",
"text/css": "bypass",
"text/javascript": "bypass",
"application/json": "bypass",
"application/xml": "bypass",
"application/octet-stream": "bypass",
"application/x-msdownload": "bypass"
}
}
}
Provides the full ICAP profile definition.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
profileName | ProfileName | true | none | Identifies the ICAP Profile. The name should consist of only alphanumeric characters [A-Za-z0-9] . |
profileIdentity | ProfileIdentity | true | none | none |
profileVersion | ProfileVersion | true | none | Identifies the version of the ICAP Profile. |
isDefaultProfile | ProfileDefaultFlag | true | none | none |
status | ProfileStatus | true | none | Status indicates whether ICAP Profile can be actively used. |
profileSettings | ProfileSettings | true | none | The settings that are applied when the ICAP Policy is used. |
ProfileSettingsBody
{
"status": "enabled",
"profileSettings": {
"contentManagementPolicy": "default",
"processingRulesDefault": "bypass",
"processingRules": {
"application/msword": "process",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "process",
"application/vnd.ms-excel": "process",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "process",
"application/vnd.ms-powerpoint": "process",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "process",
"application/pdf": "process",
"image/jpeg": "process",
"image/png": "process",
"image/gif": "process",
"image/tiff": "process",
"image/bmp": "process",
"image/svg+xml": "process",
"image/webp": "process",
"application/x-emf": "process",
"application/x-wmf": "process",
"audio/wav": "process",
"audio/mpeg": "process",
"audio/mp4": "process",
"application/x-bzip2": "process",
"application/gzip": "process",
"application/x-rar-compressed": "process",
"application/x-tar": "process",
"application/x-xz": "process",
"application/zip": "process",
"application/x-7z-compressed": "process",
"text/plain": "bypass",
"text/html": "bypass",
"text/css": "bypass",
"text/javascript": "bypass",
"application/json": "bypass",
"application/xml": "bypass",
"application/octet-stream": "bypass",
"application/x-msdownload": "bypass"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | ProfileStatus | true | none | Status indicates whether ICAP Profile can be actively used. |
profileSettings | ProfileSettings | true | none | The settings that are applied when the ICAP Policy is used. |
ProfileMetadata
{
"schemaName": "icapv1",
"profileName": "default",
"profileIdentity": "9e1aad57-a303-4873-b6ee-75861956dd1a",
"profileVersion": 2,
"isDefaultProfile": false,
"profileLocation": "api/v1/schemas/icapv1/policies/profileName"
}
Provides the policy metadata and link to where the full policy settings can be acquired.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
schemaName | SchemaName | true | none | Identifies the schema and its version. The format should be in the format of [name]v[version] , consisting of only alphanumeric characters [A-Za-z0-9] . |
profileName | PolicyName | true | none | Identifies the policy. The name should consist of only alphanumeric characters [A-Za-z0-9] . |
profileIdentity | ProfileIdentity | true | none | none |
profileVersion | ProfileVersion | true | none | Identifies the version of the ICAP Profile. |
isDefaultProfile | ProfileDefaultFlag | true | none | none |
profileLocation | ProfileLocation | true | none | none |
ProfileLocation
"api/v1/schemas/icapv1/policies/profileName"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string(uri) | false | none | none |
SchemaName
"icapv1"
Identifies the schema and its version. The format should be in the format of [name]v[version]
, consisting of only alphanumeric characters [A-Za-z0-9]
.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Identifies the schema and its version. The format should be in the format of [name]v[version] , consisting of only alphanumeric characters [A-Za-z0-9] . |