NAV Navigation
Shell HTTP JavaScript Ruby Python PHP Java Go

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

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"
}
}
}

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"
}
}
}';
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"
}
}
}

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"
}
}
}';
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"
}
}
}

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"
}

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"
}
}

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"
}
}
}

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"
}
}
}

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].