HTTP MFT Rest API
LOGIN
Basic
POST /2.0/login/basic
Content-Type: application/x-www-form-urlencoded. Description: It allows the login. Request body Form parameters: username and password. Example:
Response:
HTTP Status code
Description
Response example
Notes
200
SUCCESS
Cookies to pass as headers in other API
Cookies returned are: sp-http-usr=part1;Version=1;Path=/;HttpOnly sp-http-ses=KRs88RDcZ7aVDcUEBk966A==;Version=1;Path=/;HttpOnly
401
Authentication Error
{ "result":"failed", "message":"Invalid username or password", "errorType":"authentication" }
404
Missing Parameters
{ "result":"failed", "message":"No username or password", "errorType":"request_syntax" }
FILES
Upload
PUT /2.0/files/<path>/<file>
Content-Type: multipart/form-data. Description: To be used to upload files. Request body file: The content of the file to upload with type. (application/octet-stream or text/plain). Example: Upload 'file1.txt' in folder 'in'
Response:
201
SUCCESS
{ "result":"ok", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Upload successful", "fileset": , }
id : long value that represents the file Timestamp: UTC representation of the response creation using ISO-8601
400
No filename provided
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No filename specified", "errorType":"request_syntax" }
Example if specified only path of folder. Timestamp: UTC representation of the response creation using ISO-8601
400
Missing parameters or syntax error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Missing parameters or syntax error", "errorType":"request_syntax" }
Example if metadata has syntax error or content-type header is missing. Timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
Timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Messages depends on authentication type. timestamp: UTC representation of the response creation using ISO-8601
403
No write permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No write permission", "errorType":"authorization" }
Timestamp: UTC representation of the response creation using ISO-8601
404
Path not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Path '' doesn't exist", "errorType":"io" }
Timestamp: UTC representation of the response creation using ISO-8601
Upload with metadata
POST /2.0/files/<path>
Content-Type: multipart/form-data. Description: To be used to upload files with metadata. Request body • metadata: List of metadata associated to file in JSON format. • file: The content of the file to upload with type. (application/octet-stream or text/plain) Example:
Response:
201
SUCCESS
{ "result":"ok", "message":"Upload successful", "fileset": , }
id: long value that represents the file
400
No filename provided
{ "result":"failed", "message":"No filename specified", "errorType":"request_syntax" }
Example if specified only path of folder.
400
Missing parameters or syntax error
{ "result":"failed", "message":"Missing parameters or syntax error", "errorType":"request_syntax" }
Example if metadata has syntax error or content-type header is missing.
401
Connection contract not configured
{ "result":"failed", "message":"Connection contract not configured", "errorType":"configuration" }
Messages depends on authentication type.
401
Authentication error
{ "result":"failed", "message":"Invalid username or password", "errorType":"authentication" }
403
No write permission
{ "result":"failed", "message":"No write permission", "errorType":"authorization" }
404
Path not found
{ "result":"failed", "message":"Path '' doesn't exist", "errorType":"io" }
Download
GET /2.0/files/<path>/<file>
Description: To be used to download files. Example:
Response:
200
SUCCESS
Content of file
400
No filename provided
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No filename specified", "errorType":"request_syntax" }
Example if specified only path of folder Timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
Timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Messages depends on authentication type. Timestamp: UTC representation of the response creation using ISO-8601
403
No download permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No read permission", "errorType":"authorization" }
Timestamp: UTC representation of the response creation using ISO-8601
404
File not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"File '' doesn't exist", "errorType":"io" }
Timestamp: UTC representation of the response creation using ISO-8601
404
Path not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Path '' doesn't exist", "errorType":"io" }
Timestamp: UTC representation of the response creation using ISO-8601
Delete
DELETE /2.0/files/<path>/<file>
Description: To be used to delete files. Example:
Response:
200
SUCCESS
{ "result":"ok", "timestamp":"2020-11-13T08:58:20.680Z" "message":"File deleted", "fileset": }
id : long value that represents the file Timestamp: UTC representation of the response creation using ISO-8601
400
Missing param or syntax error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"missing param or syntax error", "errorType":"syntax_error" }
Timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
Timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Messages depends on authentication type. timestamp: UTC representation of the response creation using ISO-8601
403
No delete permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No delete permission", "errorType":"authorization" }
Timestamp: UTC representation of the response creation using ISO-8601
404
File not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"File '' doesn't exist", "errorType":"io" }
Timestamp: UTC representation of the response creation using ISO-8601
404
Path not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Path '' doesn't exist", "errorType":"io" }
Timestamp: UTC representation of the response creation using ISO-8601
FILESET
Download
GET /2.0/fileset/<id>
Description: To be used to download files using fileset id. Example:
Response:
200
SUCCESS
Content of file
400
No fileset provided
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No fileset specified", "errorType":"request_syntax" }
Timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
Timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Messages depends on authentication type. Timestamp: UTC representation of the response creation using ISO-8601
403
No download permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No read permission", "errorType":"authorization" }
Timestamp: UTC representation of the response creation using ISO-8601
404
File not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":" doesn't exist", "errorType":"io" }
Timestamp: UTC representation of the response creation using ISO-8601
Delete
DELETE /2.0/fileset/<id>
Description: To be used to delete files using fileset id. Example:
Response:
200
SUCCESS
{ "result":"ok", "timestamp":"2020-11-13T08:58:20.680Z" "message":"File deleted", "fileset": }
id : long value that represents the file Timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
Timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Message depends on authentication type. Timestamp: UTC representation of the response creation using ISO-8601
403
No delete permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No delete permission", "errorType":"authorization" }
Timestamp: UTC representation of the response creation using ISO-8601
404
Fileset not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":" doesn't exist", "errorType":"io" }
Timestamp: UTC representation of the response creation using ISO-8601
METADATA
Insert or Update
POST /2.0/metadata/<path>/<file>
Content-Type: application/json Description: To be used to add or update metadata to files already uploaded. Request body • metadata: List of metadata associated to file in JSON format. Example:
Response:
200
SUCCESS
{ "result":"ok", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Metadata updated", "fileset": }
id : long value that represents the file timestamp: UTC representation of the response creation using ISO-8601
400
No filename provided
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No filename specified", "errorType":"request_syntax" }
Example if specified only path of folder timestamp: UTC representation of the response creation using ISO-8601
400
Missing parameter or syntax error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Missing parameters or syntax error", "errorType":"request_syntax" }
Example if metadata has syntax error or content-type header is missing. timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Messages depends on authentication type. timestamp: UTC representation of the response creation using ISO-8601
403
No write permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No write permission", "errorType":"authorization" }
timestamp: UTC representation of the response creation using ISO-8601
404
File not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"File '' doesn't exist", "errorType":"io" }
timestamp: UTC representation of the response creation using ISO-8601
404
Path not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Path '' doesn't exist", "errorType":"io" }
timestamp: UTC representation of the response creation using ISO-8601
Read
GET /2.0/metadata/<path>/<file>
Description: To be used to view the files metadata. Example:
Response:
200
SUCCESS
{ "id":"/inbox/fileB_94.txt", "uri":"https://domain/2.0/files/inbox/fileB_94.txt", "metaUri":"https://domain/2.0/metadata/inbox/fileB_94.txt", "filename":"fileB_94.txt", "fileset":54678, "metadata":{ "dstFileName":"", "size":"89", "correlationId":"", "putDate":"2020-09-15T10:55:01.669Z", "firstReadDate":"", "lastModifiedTime":"2020-09-15T10:55:01.583Z", "lastAccessTime":"", "creationTime":"2020-09-15T10:55:01.583Z", "datatype":"application/octet-stream", "description":"", "Partner":"Partner5" } }
The list of metadata is to be defined.
400
No filename provided
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No filename specified", "errorType":"request_syntax" }
Example if specified only path of folder timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Messages depends on authentication type. timestamp: UTC representation of the response creation using ISO-8601
403
No read permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No read permission", "errorType":"authorization" }
timestamp: UTC representation of the response creation using ISO-8601
404
File not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":" doesn't exist", "errorType":"io" }
timestamp: UTC representation of the response creation using ISO-8601
404
Path not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Path '' doesn't exist", "errorType":"io" }
timestamp: UTC representation of the response creation using ISO-8601
METADATABYID
Insert or Update
POST /2.0/metadatabyid/<id>
Content-Type: application/json Description: To be used to add or update metadata to files already uploaded using the file id. Request body • metadata: List of metadata associated to file in JSON format. Example:
Response:
200
SUCCESS
{ "result":"ok", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Metadata updated", "fileset": }
id : long value that represents the file timestamp: UTC representation of the response creation using ISO-8601
400
No fileset provided
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No fileset specified", "errorType":"request_syntax" }
timestamp: UTC representation of the response creation using ISO-8601
400
Missing parameter or syntax error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Missing parameters or syntax error", "errorType":"request_syntax" }
Example if metadata has syntax error or content-type header is missing. timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Messages depends on authentication type. timestamp: UTC representation of the response creation using ISO-8601
403
No write permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No write permission", "errorType":"authorization" }
timestamp: UTC representation of the response creation using ISO-8601
404
Fileset not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":" doesn't exist", "errorType":"io" }
timestamp: UTC representation of the response creation using ISO-8601
Read
GET /2.0/metadatabyid/<id>
Description: To be used to view the files metadata using file id. Example:
Response:
200
SUCCESS
{ "id":"/inbox/fileB_94.txt", "uri":"https://domain/2.0/files/inbox/fileB_94.txt", "metaUri":"https://domain/2.0/metadata/inbox/fileB_94.txt", "filename":"fileB_94.txt", "fileset":54678, "metadata":{ "dstFileName":"", "size":"89", "correlationId":"", "putDate":"2020-09-15T10:55:01.669Z", "firstReadDate":"", "lastModifiedTime":"2020-09-15T10:55:01.583Z", "lastAccessTime":"", "creationTime":"2020-09-15T10:55:01.583Z", "datatype":"application/octet-stream", "description":"", "Partner":"Partner5" } }
The list of metadata is to be defined.
400
No fileset provided
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No fileset specified", "errorType":"request_syntax" }
timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Messages depends on authentication type. timestamp: UTC representation of the response creation using ISO-8601
403
No read permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No read permission", "errorType":"authorization" }
timestamp: UTC representation of the response creation using ISO-8601
404
Fileset not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":" doesn't exist", "errorType":"io" }
timestamp: UTC representation of the response creation using ISO-8601
COUNTELEMENTS
Count
GET /2.0/countelements/<path%gt
Description: To be used to know the number of elements existing in the selected path. Request body Query parameters: • filter: pattern to filter list count. '_' is used to select any characters. Example: _.txt or file.* • type: all | folders | files. If not specified, it is all. Example:
Response:
200
SUCCESS
Number of elements
Possible values is 0 or positive number.
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
timestamp: UTC representation of the response creation using ISO-8601
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Message depends on authentication type. timestamp: UTC representation of the response creation using ISO-8601
403
No list permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No list permission", "errorType":"authorization" }
timestamp: UTC representation of the response creation using ISO-8601
404
Path not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Path doesn't exist", "errorType":"io" }
timestamp: UTC representation of the response creation using ISO-8601
DIRECTORIES
List Contents
GET /2.0/directories/<path>
Description: To be used to know the number of folders and files in the selected path. Request body Header accepted: application/json. Query parameters: • filter: pattern to filter list. '_' is used to select any characters. Example _.txt or file.* • sort: sorting elements by name | size | put_date | read_date | expiry_date. Default is name. • direction: direction of sort DESC | ASC. Default is DESC. • start: List of elements start from. Default is 0. • limit: Limit list of elements. Default is 500. • type: all | folders | files. If not specified, all. • attributes: List of attributes for each element to show in response. Value is command separated value. If attributes are not present, the value are empty. Default is all. Example:
Response:
200
SUCCESS
{ "uri":"https://domain/2.0/directories/inbox", "totalCount":"6", "files":[ { "id":"/inbox/dir1", "uri":"https://domain/2.0/directories/inbox/dir1", "filename":"dir1", "owner":"", "directory":true, "attributes":{ "dstFileName":"", "size":"", "correlationId":"", "putDate":"", "firstReadDate":"", "lastModifiedTime":"", "lastAccessTime":"", "creationTime":"", "datatype":"", "description":"" } }, { "id":"/inbox/dir2", "uri":"https://domain/2.0/directories/inbox/dir2", "filename":"dir2", "owner":"", "directory":true, "attributes":{ "dstFileName":"", "size":"", "correlationId":"", "putDate":"", "firstReadDate":"", "lastModifiedTime":"", "lastAccessTime":"", "creationTime":"", "datatype":"", "description":"" } }, { "id":"/inbox/fileB_94.txt", "uri":"https://domain/2.0/files/inbox/fileB_94.txt", "metaUri":"https://domain/2.0/metadata/inbox/fileB_94.txt", "filename":"fileB_94.txt", "fileset":54678, "owner":"", "directory":false, "attributes":{ "dstFileName":"", "size":"89", "correlationId":"", "putDate":"2020-09-15T10:55:01.669Z", "firstReadDate":"", "lastModifiedTime":"2020-09-15T10:55:01.583Z", "lastAccessTime":"", "creationTime":"2020-09-15T10:55:01.583Z", "datatype":"application/octet-stream", "description":"" } }, { "id":"/inbox/fileB_95.txt", "uri":"https://domain/2.0/files/inbox/fileB_95.txt", "metaUri":"https://domain/2.0/metadata/inbox/fileB_95.txt", "filename":"fileB_95.txt", "fileset":54679, "owner":"", "directory":false, "attributes":{ "dstFileName":"", "size":"206", "correlationId":"", "putDate":"2020-09-15T10:55:05.649Z", "firstReadDate":"", "lastModifiedTime":"2020-09-15T10:55:05.601Z", "lastAccessTime":"", "creationTime":"2020-09-15T10:55:05.601Z", "datatype":"application/octet-stream", "description":"" } }, { "id":"/inbox/fileB_96.txt", "uri":"https://domain/2.0/files/inbox/fileB_96.txt", "metaUri":"https://domain/2.0/metadata/inbox/fileB_96.txt", "filename":"fileB_96.txt", "fileset":54680, "owner":"", "directory":false, "attributes":{ "dstFileName":"", "size":"187", "correlationId":"", "putDate":"2020-09-15T10:55:03.379Z", "firstReadDate":"", "lastModifiedTime":"2020-09-15T10:55:03.325Z", "lastAccessTime":"", "creationTime":"2020-09-15T10:55:03.325Z", "datatype":"application/octet-stream", "description":"" } }, { "id":"/inbox/fileB_99.txt", "uri":"https://domain/2.0/files/inbox/fileB_99.txt", "metaUri":"https://domain/2.0/metadata/inbox/fileB_99.txt", "filename":"fileB_99.txt", "fileset":54681, "owner":"", "directory":false, "attributes":{ "dstFileName":"", "size":"151", "correlationId":"", "putDate":"2020-09-15T10:54:56.529Z", "firstReadDate":"", "lastModifiedTime":"2020-09-15T10:54:55.292Z", "lastAccessTime":"", "creationTime":"2020-09-15T10:54:55.292Z", "datatype":"application/octet-stream", "description":"" } } ] }
Example of list in inbox folder with 2 folders and 4 files.
401
Authentication error
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Invalid username or password", "errorType":"authentication" }
Message depends on authentication type. timestamp: UTC representation of the response creation using ISO-8601
401
Connection contract not configured
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Connection contract not configured", "errorType":"configuration" }
timestamp: UTC representation of the response creation using ISO-8601
403
No list permission
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"No list permission", "errorType":"authorization" }
timestamp: UTC representation of the response creation using ISO-8601
404
Path not found
{ "result":"failed", "timestamp":"2020-11-13T08:58:20.680Z" "message":"Path doesn't exist", "errorType":"io" }
timestamp: UTC representation of the response creation using ISO-8601
Last updated