Servizi di Task Manager
Task Manager fornisce un'API REST (REpresentational State Transfer) che consente di eseguire vari task e agire su un task attualmente in esecuzione. Di seguito vengono riportati alcuni esempi di possibili utilizzi di quest'API.
Add Collection
L'esempio riportato di seguito mostra come è possibile eseguire il task Add Collection con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (AddCollection.json):
{
"taskManagerCommands":
[
{
"publication_name":"Co7",
"name":"Add Collection",
"action":"run",
"s1000D_publication":"false",
"list_manuals":"<Publications>
<Publication name=\"Col1\">
<Manual name=\"BOM\" title=\"BOM\" format=\"xml
\" type=\"BOM\" model=\"NO_MODEL_ATTR\"/>
<Manual name=\"DOCRELATION\" title=\"DOCRELATION
\" format=\"xml\" type=\"DOCRELATION
\" model=\"NO_MODEL_ATTR\"/>
</Publication>
</Publications>",
"site_groups":"<SiteGroups><Group id=\"Preview\"/></SiteGroups>",
"segment_title":"Seg1",
"content_type":"Product Related Content",
"list_categories":"",
"rEDEPLOY_FLAG":"null",
"site_groups_selected":"true",
"assets_folder_path":"/opt/InService/InS_SW/SW/System/Assets",
"publication_title":"Col1",
"comment":"Col1",
"segment_id":"Seg1",
"list_contexts":"Context1"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Deploy Collection
L'esempio riportato di seguito mostra come è possibile eseguire il task Deploy Collection con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (DeployCollection.json):
{
"taskManagerCommands":
[
{
"publication_name":"Co7",
"name":"Deploy Collection",
"action":"run",
"profile_name":"ASSETS_Co7",
"update_type":"Assets",
"reset_index":"false",
"site_groups":"Preview",
"coreLogicGroup":"default",
"mode":"PublishToRuntime",
"monitoring_name":"Run Deploy Pub",
"list_contexts":"Context1",
"list_categories":"",
"publication_title":"Col1",
"P2RTLoadType":"CollectionProfile",
"pauseBeforeExpose":"false",
"isCoordinatorMode":"false"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Get Task Status
L'esempio riportato di seguito illustra come è possibile controllare lo stato di un task attualmente in esecuzione con l'API REST. È necessario fornire l'identificatore per il task.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (GetTaskStatus.json):
{
"taskManagerCommands":
[
{"action":"getStatus",
"tid":"20313"}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Transform and Load a Bundle
L'esempio riportato di seguito mostra come è possibile eseguire il task Transform and Load a Bundle con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (TransformANDLoadBundle.json):
{
"taskManagerCommands":
[
{
"name":"Transform and Load a Bundle",
"action":"run",
"bundleFolder":"/vagrant/Bundles/PH",
"partsFamily":"PARTS",
"updateIfTimestampEqual":"false",
"site_groups":"Preview",
"shouldValidate":"false",
"paramsList":"site_groups:convertCGMToSVG:updateIfTimestampEqual",
"rollback":"no",
"S1000DVersion":"4.0",
"logLevel":"10",
"pauseAfterTransform":"false",
"publication_title":"Col1",
"convertCGMToSVG":"false",
"isInitialDataLoad":"false"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Transform and Load (Initial Load)
L'esempio riportato di seguito mostra come è possibile eseguire il task Transform and Load con l'API REST durante il carico iniziale dei dati.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Transform and Load [TransformMgmtInitialLoad].json):
{
"taskManagerCommands":
[
{
"name":"Transform and Load",
"action":"run",
"rootFolder":"/vagrant/Bundles",
"partsFamily":"PARTS",
"updateIfTimestampEqual":"false",
"shouldValidate":"false",
"paramsList":"site_groups:convertCGMToSVG:updateIfTimestampEqual",
"site_groups":"Preview",
"rollback":"no",
"isInitialLoad" : "yes",
"S1000DVersion":"4.0",
"logLevel":"10",
"convertCGMToSVG":"false",
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Transform and Load
L'esempio riportato di seguito mostra come è possibile eseguire il task Transform and Load con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Transform and Load [TranformManagement].json):
{
"taskManagerCommands":
[
{
"name":"Transform and Load",
"action":"run",
"rootFolder":"/vagrant/Bundles",
"partsFamily":"PARTS",
"updateIfTimestampEqual":"false",
"shouldValidate":"false",
"paramsList":"site_groups:convertCGMToSVG:updateIfTimestampEqual",
"site_groups":"Preview",
"rollback":"no",
"isInitialLoad" : "no",
"S1000DVersion":"4.0",
"logLevel":"10",
"convertCGMToSVG":"false",
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Delete Task
L'esempio riportato di seguito illustra come è possibile eliminare un task attualmente in esecuzione con l'API REST. È necessario fornire l'identificatore per il task.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (DeleteTask.json):
{
"taskManagerCommands":
[
{"action":"delete",
"tid":"1748"}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Delete Segment From Sites
L'esempio riportato di seguito mostra come è possibile eseguire il task Delete Segment From Sites con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (DeleteSegmentFromSite.json):
{
"taskManagerCommands":
[
{
"name":"Delete Segment From Sites",
"action":"run",
"publication_name":"SEG1",
"site_groups":"Preview"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Resume Task
L'esempio riportato di seguito illustra come è possibile riprendere un task attualmente in pausa con l'API REST. È necessario fornire l'identificatore per il task.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Resume.json):
{
"taskManagerCommands":
[
{"action":"resume",
"tid":"5576"}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Pause Task
L'esempio riportato di seguito illustra come è possibile mettere in pausa un task attualmente in esecuzione con l'API REST. È necessario fornire l'identificatore per il task.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (PauseAction.json):
{
"taskManagerCommands":
[
{"action":"pause",
"tid":"5642"}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Abort Task
L'esempio riportato di seguito illustra come è possibile interrompere un task attualmente in esecuzione con l'API REST. È necessario fornire l'identificatore per il task.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (AbortTask.json):
{
"taskManagerCommands":
[
{"action":"abort",
"tid":"5642"}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Add Category To a Non Product Collection
L'esempio riportato di seguito mostra come è possibile eseguire il task Add Category To a Non Product Collection con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Add Category.json):
{
"taskManagerCommands":
[
{
"name":"Add Category",
"action":"run",
"publication_name":"Col2",
"list_categories": "PARTDOCUMENTS"
"list_contexts":"0000014982,0000015163,0000022202"
"segment_id":"Seg2",
}
]
}
Un altro esempio (per il segmento SHARED):
{
"taskManagerCommands":
[
{
"name":"Add Category",
"action":"run",
"publication_name":"PARTDOCUMENTS",
"list_categories": "PARTDOCUMENTS",
"list_contexts":"PARTDOCUMENTS",
"segment_id":"SHARED",
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Publish To Site
L'esempio riportato di seguito mostra come è possibile eseguire il task Publish To Site con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Publish To Site.json):
{
"taskManagerCommands":
[
{
"name":"Publish To Site",
"action":"run",
"publication_name":"ALL",
"loadToMasterSiteOnly" : "false",
"isSynchExpose" : "false",
"pauseBeforeExpose" : "false",
"site_groups" : "Preview"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Remove Segment Configuration Setting
L'esempio riportato di seguito mostra come è possibile eseguire il task Remove Segment Configuration Setting con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Remove Segment Configuration Setting.json):
{
"taskManagerCommands":
[
{
"name":"Remove Segment Configuration Setting",
"action":"run",
"publication_name":"SEG1",
"site_groups":"Preview"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Add Context To a Collection
L'esempio riportato di seguito mostra come è possibile eseguire il task Add Context To a Collection con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Add Context.json):
{
"taskManagerCommands":
[
{
"name":"Add Context",
"action":"run",
"publication_name":"KMT-EX",
"list_categories":"",
"list_contexts":"KMT-EX,XYZ",
"segment_id":"KMT-EX-Seg",
"site_groups":"<SiteGroups><Group id=\"Preview\"/></SiteGroups>"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Add Data Type
L'esempio riportato di seguito mostra come è possibile eseguire il task Add Data Type con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Add Data Type.json):
{
"taskManagerCommands":
[
{
"name":"Add Data Type",
"action":"run",
"publication_name":"KMT-EX",
"multi_publications":"false",
"model_attr_value":"NO_MODEL_ATTR",
"manual":"P2CRELATION",
"manual_type":"P2CRELATION",
"site_groups":"",
"publication_names":"null",
"site_groups_selected":"false",
"REDEPLOY_FLAG":"null",
"assets_folder_path":"${enigma.bin.home}/System/Assets",
"comment":"KMT-EX",
"manual_title":"P2CRELATION",
"manual_format":"xml"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Clean Transformation and Loading temporary Data
L'esempio riportato di seguito mostra come è possibile eseguire il task Clean Transformation and Loading temporary Data con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Clean Transformation and Loading temporary Data.json):
{
"taskManagerCommands":
[
{
"name":"Clean Transformation and Loading temporary Data",
"action":"run",
"bundlesRootFolder":"/vagrant/Bundles/PH",
"cleanupState":"",
"archivingPath":"",
"deleteClonepacket":"true"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Export Site Content
L'esempio riportato di seguito mostra come è possibile eseguire il task Export Site Content con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Create Backup From Site.json):
{
"taskManagerCommands":
[
{
"name":"Create Backup From Site",
"action":"run",
"siteId" : "Preview",
"isFullBackupFromSiteTask" : "true"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Create Offline Packet
L'esempio riportato di seguito mostra come è possibile eseguire il task Create Offline Packet con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Create Offline Packet.json):
{
"taskManagerCommands":
[
{
"name":"Create Offline Packet",
"action":"run",
"publication_name" : "Seg1",
"siteId" : "Preview",
"postProcessPath" : "${enigma.config.home}/System/Config/Flows/
SACreatorForOffline/postProcessForSA.xml"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Delete Collection From Sites
L'esempio riportato di seguito mostra come è possibile eseguire il task Delete Collection From Sites con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Delete Collection From Sites.json):
{
"taskManagerCommands":
[
{
"name":"Delete Collection From Sites",
"action":"run",
"publication_name":"PARTS",
"site_groups":"<SiteGroups><Group id=\"Preview\"/></SiteGroups>"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Deploy Assets
L'esempio riportato di seguito mostra come è possibile eseguire il task Deploy Assets con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Deploy Assets.json):
{
"taskManagerCommands":
[
{
"name":"Deploy Assets",
"action":"run",
"site_groups":"Preview",
"isSynchExpose":"false",
"reset_index":"false",
"pauseBeforeExpose":"false",
"isCoordinatorMode":"false"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Remove Collection Configuration Setting
L'esempio riportato di seguito mostra come è possibile eseguire il task Remove Collection Configuration Setting con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Remove Collection Configuration Setting.json):
{
"taskManagerCommands":
[
{
"name":"Remove Collection Configuration Settting",
"action":"run",
"publication_name":"PARTS",
"taskName" : "Remove Collection Setting"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Transform and Load CSV Data
L'esempio riportato di seguito mostra come è possibile eseguire il task Transform and Load CSV Data con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Transform and Load CSV Data.json):
{
"taskManagerCommands":
[
{
"name":"Transform and Load CSV Data",
"action":"run",
"inputFolder":"/vagrant/CSVBundle",
"site_groups":"Preview",
"pauseAfterTransform":"false",
"piOnly" : "false",
"collectionName" : "",
"orgName" : "",
"paramsList":"site_groups:convertCGMToSVG",
"convertCGMToSVG":"false",
"inputFolderInternal" : "/vagrant/CSVBundle",
"bundleCategory" : "None"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error
Updates Assets In Publication Manager
L'esempio riportato di seguito mostra come è possibile eseguire il task Updates Assets In Publication Manager con l'API REST.
URL
http://server:porta/TaskManager/rest/TaskManagerRest/runTask
Method
POST
La richiesta presenta i parametri descritti di seguito.
◦ Content-Type - JSON dell'applicazione
◦ Authorization - Autorizzazione di base
◦ X-XSRF-TOKEN - Valore statico
Data Parameter (JSON)
Il parametro dati è un file JSON (Updates Assets In Publication Manager.json):
{
"taskManagerCommands":
[
{
"name":"Update Assets In Publication Manager",
"action":"run",
"assets_folder_path":"${enigma.bin.home}/System/Assets"
}
]
}
Authentication
Basic
Data Parameter
None
Success Response
200 - Okay
Error Response
400 - BAD_REQUEST
401 - Unauthorized Request
500 - Internal Server Error