Use this API to upload OpenIOC files to the Apex Central server.
HTTP Request
POST /WebApp/IOCBackend/OpenIOCResource/File HTTP/1.1
Parameters
The HTTP request body must contain all required parameters.
|
Name |
Type |
Description |
|---|---|---|
|
Required Parameters |
||
|
FileName |
String |
The file name of the file to upload |
|
FileContentBase64 |
String |
The Base64 hash of the file content |
HTTP Request Example
POST /WebApp/IOCBackend/OpenIOCResource/File HTTP/1.1
HTTP Request Body
Specify a JSON object containing the following HTTP header and request body:
-
HTTP header:
Important:-
This API only supports the following Content-Type.
-
The authorization header is only required for external HTTP requests.
Field Name
Value
Content-Type
application/json;charset=utf-8
Authorization
Bearer [Generated JWT authentication token]
-
-
Request body:
{ "param": [ { "FileName": "cryptolocker1.ioc", "FileContentBase64":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv ZGluZz0idXMtYXNjaWkiPz4NCjxpb2MgeG1sbnM6eHNpPSJodHR wOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZS IgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNT FNjaGVtYSIgaWQ9ImExM2UyODJkLTY1ZTEtNDI2My05YjMxLTVm OTEyNTE1Mjg4YyIgbGFzdC1tb2RpZmllZD0iMjAxMy0xMC0zMFQ xOTowNzo0NiIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1hbmRpYW 50LmNvbS8yMDEwL2lvYyI+DQogIDxzaG9ydF9kZXNjcmlwdGlvb j5DcnlwdG9sb2NrZXIgRGV0ZWN0aW9uIChFWFBFUklNRU5UQUwp PC9zaG9ydF9kZXNjcmlwdGlvbj4NCiAgPGRlc2NyaXB0aW9uPlR oaXMgSU9DIGRldGVjdHMgcmVnaXN0cnkgZW50cmllcyBjcmVhdG VkIHdoZW4gdGhlIENyeXB0b2xvY2tlciBjcmltZXdhcmUgcnVuc y4gUHJlc2VuY2Ugb2Ygb25lIG9mIHRoZXNlIHJlZ2lzdHJ5IGtl eSBzaG93cyB0aGF0IGEgYm94IGhhcyBsaWtlbHkgYmVlbiBpbmZ lY3RlZCB3aXRoIHRoZSBDcnlwdG9sb2NrZXIgc29mdHdhcmUuPC 9kZXNjcmlwdGlvbj4NCiAgPGF1dGhvcmVkX2J5Pk1hbmRpYW50P C9hdXRob3JlZF9ieT4NCiAgPGF1dGhvcmVkX2RhdGU+MjAxMy0x MC0yOFQxNDoyNzoxMjwvYXV0aG9yZWRfZGF0ZT4NCiAgPGxpbmt zPg0KICAgIDxsaW5rIHJlbD0iZ3JhZGUiPnVudGVzdGVkPC9saW 5rPg0KICA8L2xpbmtzPg0KICA8ZGVmaW5pdGlvbj4NCiAgICA8S W5kaWNhdG9yIG9wZXJhdG9yPSJPUiIgaWQ9IjdlYTYwNWI3LThh YjEtNGUxYy05MTI4LTk5OTI2NWNkOWYyMSI+DQogICAgICA8SW5 kaWNhdG9ySXRlbSBpZD0iYTcxZWIwZDctYWZlNS00NzA4LThkYm ItMzc5YmQ0M2NjOWQ3IiBjb25kaXRpb249ImNvbnRhaW5zIj4NC iAgICAgICAgPENvbnRleHQgZG9jdW1lbnQ9IlJlZ2lzdHJ5SXRl bSIgc2VhcmNoPSJSZWdpc3RyeUl0ZW0vUGF0aCIgdHlwZT0ibWl yIiAvPg0KICAgICAgICA8Q29udGVudCB0eXBlPSJzdHJpbmciPl NvZnR3YXJlXENyeXB0b0xvY2tlclxGaWxlczwvQ29udGVudD4NC iAgICAgIDwvSW5kaWNhdG9ySXRlbT4NCiAgICAgIDxJbmRpY2F0 b3Igb3BlcmF0b3I9IkFORCIgaWQ9ImJmYmVmOGEyLTdmMTktNDA wZC04Yjg5LTg3ZjdjNzYwNzhhZSI+DQogICAgICAgIDxJbmRpY2 F0b3JJdGVtIGlkPSI0MmU5Njk5OC03MTYxLTRmMjItYmI3Ny03M zY2MGUyNjlhNmIiIGNvbmRpdGlvbj0iY29udGFpbnMiPg0KICAg ICAgICAgIDxDb250ZXh0IGRvY3VtZW50PSJSZWdpc3RyeUl0ZW0 iIHNlYXJjaD0iUmVnaXN0cnlJdGVtL1BhdGgiIHR5cGU9Im1pci IgLz4NCiAgICAgICAgICA8Q29udGVudCB0eXBlPSJzdHJpbmciP kN1cnJlbnRWZXJzaW9uXFJ1bjwvQ29udGVudD4NCiAgICAgICAg PC9JbmRpY2F0b3JJdGVtPg0KICAgICAgICA8SW5kaWNhdG9ySXR lbSBpZD0iNWQ1YjgyOTYtMDFjOS00MTQ2LTlhNzQtYWJhNTMxYz U3NDc5IiBjb25kaXRpb249ImNvbnRhaW5zIj4NCiAgICAgICAgI CA8Q29udGV4dCBkb2N1bWVudD0iUmVnaXN0cnlJdGVtIiBzZWFy Y2g9IlJlZ2lzdHJ5SXRlbS9QYXRoIiB0eXBlPSJtaXIiIC8+DQo gICAgICAgICAgPENvbnRlbnQgdHlwZT0ic3RyaW5nIj5DcnlwdG 9sb2NrZXI8L0NvbnRlbnQ+DQogICAgICAgIDwvSW5kaWNhdG9yS XRlbT4NCiAgICAgIDwvSW5kaWNhdG9yPg0KICAgIDwvSW5kaWNh dG9yPg0KICA8L2RlZmluaXRpb24+DQo8L2lvYz4=" }, { "FileName": "cryptolocker2.ioc", "FileContentBase64":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv ZGluZz0idXMtYXNjaWkiPz4NCjxpb2MgeG1sbnM6eHNpPSJodHR wOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZS IgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNT FNjaGVtYSIgaWQ9ImExM2UyODJkLTY1ZTEtNDI2My05YjMxLTVm OTEyNTE1Mjg4YyIgbGFzdC1tb2RpZmllZD0iMjAxMy0xMC0zMFQ xOTowNzo0NiIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1hbmRpYW 50LmNvbS8yMDEwL2lvYyI+DQogIDxzaG9ydF9kZXNjcmlwdGlvb j5DcnlwdG9sb2NrZXIgRGV0ZWN0aW9uIChFWFBFUklNRU5UQUwp PC9zaG9ydF9kZXNjcmlwdGlvbj4NCiAgPGRlc2NyaXB0aW9uPlR oaXMgSU9DIGRldGVjdHMgcmVnaXN0cnkgZW50cmllcyBjcmVhdG VkIHdoZW4gdGhlIENyeXB0b2xvY2tlciBjcmltZXdhcmUgcnVuc y4gUHJlc2VuY2Ugb2Ygb25lIG9mIHRoZXNlIHJlZ2lzdHJ5IGtl eSBzaG93cyB0aGF0IGEgYm94IGhhcyBsaWtlbHkgYmVlbiBpbmZ lY3RlZCB3aXRoIHRoZSBDcnlwdG9sb2NrZXIgc29mdHdhcmUuPC 9kZXNjcmlwdGlvbj4NCiAgPGF1dGhvcmVkX2J5Pk1hbmRpYW50P C9hdXRob3JlZF9ieT4NCiAgPGF1dGhvcmVkX2RhdGU+MjAxMy0x MC0yOFQxNDoyNzoxMjwvYXV0aG9yZWRfZGF0ZT4NCiAgPGxpbmt zPg0KICAgIDxsaW5rIHJlbD0iZ3JhZGUiPnVudGVzdGVkPC9saW 5rPg0KICA8L2xpbmtzPg0KICA8ZGVmaW5pdGlvbj4NCiAgICA8S W5kaWNhdG9yIG9wZXJhdG9yPSJPUiIgaWQ9IjdlYTYwNWI3LThh YjEtNGUxYy05MTI4LTk5OTI2NWNkOWYyMSI+DQogICAgICA8SW5 kaWNhdG9ySXRlbSBpZD0iYTcxZWIwZDctYWZlNS00NzA4LThkYm ItMzc5YmQ0M2NjOWQ3IiBjb25kaXRpb249ImNvbnRhaW5zIj4NC iAgICAgICAgPENvbnRleHQgZG9jdW1lbnQ9IlJlZ2lzdHJ5SXRl bSIgc2VhcmNoPSJSZWdpc3RyeUl0ZW0vUGF0aCIgdHlwZT0ibWl yIiAvPg0KICAgICAgICA8Q29udGVudCB0eXBlPSJzdHJpbmciPl NvZnR3YXJlXENyeXB0b0xvY2tlclxGaWxlczwvQ29udGVudD4NC iAgICAgIDwvSW5kaWNhdG9ySXRlbT4NCiAgICAgIDxJbmRpY2F0 b3Igb3BlcmF0b3I9IkFORCIgaWQ9ImJmYmVmOGEyLTdmMTktNDA wZC04Yjg5LTg3ZjdjNzYwNzhhZSI+DQogICAgICAgIDxJbmRpY2 F0b3JJdGVtIGlkPSI0MmU5Njk5OC03MTYxLTRmMjItYmI3Ny03M zY2MGUyNjlhNmIiIGNvbmRpdGlvbj0iY29udGFpbnMiPg0KICAg ICAgICAgIDxDb250ZXh0IGRvY3VtZW50PSJSZWdpc3RyeUl0ZW0 iIHNlYXJjaD0iUmVnaXN0cnlJdGVtL1BhdGgiIHR5cGU9Im1pci IgLz4NCiAgICAgICAgICA8Q29udGVudCB0eXBlPSJzdHJpbmciP kN1cnJlbnRWZXJzaW9uXFJ1bjwvQ29udGVudD4NCiAgICAgICAg PC9JbmRpY2F0b3JJdGVtPg0KICAgICAgICA8SW5kaWNhdG9ySXR lbSBpZD0iNWQ1YjgyOTYtMDFjOS00MTQ2LTlhNzQtYWJhNTMxYz U3NDc5IiBjb25kaXRpb249ImNvbnRhaW5zIj4NCiAgICAgICAgI CA8Q29udGV4dCBkb2N1bWVudD0iUmVnaXN0cnlJdGVtIiBzZWFy Y2g9IlJlZ2lzdHJ5SXRlbS9QYXRoIiB0eXBlPSJtaXIiIC8+DQo gICAgICAgICAgPENvbnRlbnQgdHlwZT0ic3RyaW5nIj5DcnlwdG 9sb2NrZXI8L0NvbnRlbnQ+DQogICAgICAgIDwvSW5kaWNhdG9yS XRlbT4NCiAgICAgIDwvSW5kaWNhdG9yPg0KICAgIDwvSW5kaWNh dG9yPg0KICA8L2RlZmluaXRpb24+DQo8L2lvYz4=" } ] }
Response
If successful, this method returns an HTTP status code of "200", result code of "1", and a response body with the following structure:
{
"Data":
{
"UploadedResultInfoList":
[
{
"FileName": "cryptolocker1.ioc",
"FileHashID":
"2A15F09D5C2779DEE7D42BE0F7959688E5329A16",
"UploadedStatus": 1
},
}
"FileName": "cryptolocker2.ioc"
"FileHashID":
"5E0129FD99A0A698F8D12A467182DCA263AE4377",
"UploadedStatus": 1
}
],
"UploadedResultMessageList":
[
{
"MessageType": 1,
"Message": "Uploaded 2 OpenIOC files successfully."
}
]
},
"FeatureCtrl":
{
"mode": "0"
},
"Meta":
{
"Result": 1,
"ErrorCode": 0,
"ErrorMsg": "Success"
},
"PermissionCtrl":
{
"permission": "255",
"elements": "null"
}
}
Where:
|
Name |
Type |
Description |
Value |
|---|---|---|---|
|
FileName |
String |
The file name of the uploaded file |
Example: "cryptolocker1.ioc" |
|
FileHashID |
String |
The file hash ID of the uploaded file |
Example: "2A15F09D5C2779DEE7D42BE0F7959688E5329A16" |
|
UploadedStatus |
Integer |
The result code indicating the file upload status |
"UploadedStatus": 1 |
|
MessageType |
Integer |
The type of status message |
|
|
Message |
String |
The status message content |
Example: "Uploaded 2 OpenIOC files successfully." |
If partially successful, this method returns an HTTP status code of "206" and the following result codes:
|
Result Code |
Description |
|---|---|
|
-999 |
Unknown error |
|
-6 |
Maximum file size exceeded |
|
-5 |
Database insert unsuccessful |
|
-4 |
Schema validation unsuccessful |
|
-3 |
Parameter validation unsuccessful |
|
-2 |
Profile parsing unsuccessful |
|
-1 |
Maximum file count exceeded |
|
1 |
Not all files uploaded successfully |
For more information about API responses and descriptions of response codes, see the following topics:
Schema Validation
|
Version |
Schema |
|---|---|
|
1.0 |
