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 | ProfileError | 
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 | ProfileError | 
| 500 | Internal Server Error | Issues occurred when attempting to access storage. | ProfileError | 
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",
  "Status": "enabled"
}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 | ProfileError | 
| 403 | Forbidden | Attempt to create ‘default’ profile | ProfileError | 
| 500 | Internal Server Error | Issues occurred when attempting to access storage. | ProfileError | 
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",
  "Status": "enabled"
}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 | ProfileError | 
| 404 | Not Found | Specified Profile not found | ProfileError | 
| 500 | Internal Server Error | Issues occurred when attempting to access storage. | ProfileError | 
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 | ProfileError | 
| 404 | Not Found | Specified profile not found | ProfileError | 
| 500 | Internal Server Error | Issues occurred when attempting to access storage. | ProfileError | 
Resets Profile to schema defaults
Code samples
# You can also use wget
curl -X PUT /api/v1/profiles/{profileName}/reset \
  -H 'Accept: application/json'
PUT /api/v1/profiles/{profileName}/reset HTTP/1.1
Accept: application/json
const headers = {
  'Accept':'application/json'
};
fetch('/api/v1/profiles/{profileName}/reset',
{
  method: 'PUT',
  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.put '/api/v1/profiles/{profileName}/reset',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json'
}
r = requests.put('/api/v1/profiles/{profileName}/reset', 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('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() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }
    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 | 
Example responses
404 Response
[
  "Profile not found"
]500 Response
[
  "Processing error"
]Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | Profile Updated | None | 
| 404 | Not Found | Specified profile not found | ProfileError | 
| 500 | Internal Server Error | Issues occurred when attempting to access storage. | ProfileError | 
Schemas
ProfileError
[
  "string"
]
A list of errors which occurred during a profile request.
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 | 
PolicyStatus
"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 | PolicyStatus | 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 | PolicyStatus | false | 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",
  "Status": "enabled"
}
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 | 
| Status | PolicyStatus | true | none | Status indicates whether ICAP Profile can be actively used. | 
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]. | 
 
      