Excerpt |
---|
Giles provides REST endpoints to specific functionality such as uploading or retrieving images. The following sections describe all so far available endpoints, their parameters, and what they return. |
Authentication
...
Code Block |
---|
POST /giles/rest/files/upload HTTP/1.1
Host: giles-host
Authorization: token your-giles-token
Cache-Control: no-cache
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="files"; filename="test.png"
Content-Type: image/png
[content of file]
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="files"; filename="test.pdf"
Content-Type: application/pdf
[content of file] |
Giles Single Application v0.6 and newer/Giles Ecosystem
Giles will respond with an progress id and a url to check the progress of the upload:
Code Block |
---|
|
{
"id":"PROGQ3Fm2J",
"checkUrl":"http://your-giles-org.net/giles/rest/files/upload/check/PROGQ3Fm2J"
} |
You can now poll the url provided as 'checkUrl'. As long as the upload hasn't finished yet, you will get a 202 Accepted response with the following response body:
...
Once uploading has finished, you will retrieve the complete information :as listed below.
Giles Ecosystem
Code Block |
---|
language | js |
---|
title | Upload Image Sample Response from Giles |
---|
|
[ {
"documentId" : "DOC123edf",
"uploadId" : "UPxx456",
"uploadedDate" : "2016-09-20T14:03:00.152Z",
"access" : "PRIVATE",
"uploadedFile" : {
"filename" : "uploadedFile.pdf",
"id" : "FILE466tgh",
"url" : "http://your-giles-host.net/giles/rest/files/FILE466tgh/content",
"path" : "username/UPxx456/DOC123edf/uploadedFile.pdf",
"content-type" : "application/pdf",
"size" : 3852180
},
"extractedText" : {
"filename" : "uploadedFile.pdf.txt",
"id" : "FILE123cvb",
"url" : "http://your-giles-host.net/giles/rest/files/FILE123cvb/content",
"path" : "username/UPxx456/DOC123edf/uploadedFile.pdf.txt",
"content-type" : "text/plain",
"size" : 39773
},
"pages" : [ {
"nr" : 0,
"image" : {
"filename" : "uploadedFile.pdf.0.tiff",
"id" : "FILEYUI678",
"url" : "http://your-giles-host.net/giles/rest/digilib?fn=username%FILEYUI678%2FDOC123edf0%2FuploadedFile.pdf.0.tiff",
"path" : "username/UPxx456/DOC123edf/uploadedFile.pdf.0.tiff",
"content-type" : "image/tiff",
"size" : 2032405
},
"text" : {
"filename" : "uploadedFile.pdf.0.tiff.txt",
"id" : "FILE789UIO",
"url" : "http://your-giles-host.net/giles/rest/files/FILE789UIO/content",
"path" : "username/UPxx456/DOC123edf/uploadedFile.pdf.0.tiff.txt",
"content-type" : "text/plain",
"size" : 4658
} }, {
"nr" : 1,
"image"ocr" : {
"filename" : "uploadedFile.pdf.10.tiff.txt",
"id" : "FILE045tyhGFILE789U12",
"url" : "http://your-giles-host.net/giles/rest/digilib?fn=username%2FFILE045tyhG%2FDOC123edf0%2FuploadedFile.pdf.1.tiff/files/FILE789U12/content",
"path" : "username/UPxx456/DOC123edf/uploadedFile.1pdf.0.tiff.txt",
"content-type" : "imagetext/tiffplain",
"size" : 25123544658
}
}, {
"textnr" : {1,
"image" : {
"filename" : "uploadedFile.pdf.1.tiff.txt",
"id" : "FILEMDSPfeVmFILE045tyhG",
"url" : "http://your-giles-host.net/giles/rest/files/FILEMDSPfeVm/contentdigilib?fn=username%2FFILE045tyhG%2FDOC123edf0%2FuploadedFile.pdf.1.tiff",
"path" : "username/UPxx456/DOC123edf/uploadedFile.pdf.1.tiff.txt",
"content-type" : "textimage/plaintiff",
"size" : 57992512354
},
} |
Uploads expire after 24 hours or after a server restart. If you request an expired upload or an upload that doesn't exist you will get a 404 response with the following response body:
Code Block |
---|
{ "errorCodetext" : "404", {
"errorMsgfilename" : "Upload does not exist."
} |
v0.5 and older
For each uploaded file, Giles responds with either "success": 0
(upload was successful), or "success": 1
(upload failed).
Code Block |
---|
language | js |
---|
title | Upload Image Sample Response from Giles |
---|
|
[ {uploadedFile.pdf.1.txt",
"documentIdid" : "DOCnbxbFUFILEMDSPfeVm",
"uploadId" : "UP50N1AV", "uploadedDateurl" : "2016-07-26T21:38:34.398Zhttp://your-giles-host.net/giles/rest/files/FILEMDSPfeVm/content",
"accesspath" : "PRIVATEusername/UPxx456/DOC123edf/uploadedFile.pdf.1.txt",
"files" : [ { "filename"content-type" : "your-file.jpegtext/plain",
"pathsize" : "http://your.host/giles/rest/digilib?fn=youruser/UP50N1AV/FILEz7JQFu/your-file.jpeg"5799
},
"content-typeocr" : "image/jpeg", {
"sizefilename" : 120830"uploadedFile.pdf.1.tiff.txt",
"success" : 0,
"id" : "FILE2FGTtGFILEMDSPfe12",
}, { "filenameurl" : "http://your-filegiles-2.jpghost.net/giles/rest/files/FILEMDSPfe12/content",
"path" : "http:username//your.host/giles/rest/digilib?fn=youruser/UP50N1AV/FILETAW3KI/your-file-2.jpgUPxx456/DOC123edf/uploadedFile.pdf.1.tiff.txt",
"content-type" : "imagetext/jpegplain",
"size" : 270769, "successsize" : 0,
"id" : "FILE23rtG"5799
}
} ] } ] |
Get all uploads of user
You can get the details of all uploads of a user by making a GET request to:
/rest/files/uploads
Giles expects the following parameters:
- accessToken: an API token that is used to authenticate the uploading user (if possible use the Authorization header instead of this parameter)
Giles will respond with the a map of [upload ids => file ids and filename of the uploaded file]:
Code Block |
---|
[
{
"UPMDG2ddX4bDKk": [
{
|
Giles Single Application v0.6 and newer
Code Block |
---|
language | js |
---|
title | Upload Image Sample Response from Giles |
---|
|
[ {
"documentId" : "DOC123edf",
"uploadId" : "UPxx456",
"uploadedDate" : "2016-09-20T14:03:00.152Z",
"access" : "PRIVATE",
"uploadedFile" : {
"idfilename" : "FILE0fPS2iO6Ev7guploadedFile.pdf",
"id" : "FILE466tgh",
"filenameurl" : "myfirstfile.pdf"http://your-giles-host.net/giles/rest/files/FILE466tgh/content",
"path" }: "username/UPxx456/DOC123edf/uploadedFile.pdf",
]"content-type" }: "application/pdf",
{ "UPVrMKIvsize" : [3852180
},
"extractedText" : {
"filename" : "uploadedFile.pdf.txt",
"id" : "FILEkUcHBhFILE123cvb",
"url" : "http://your-giles-host.net/giles/rest/files/FILE123cvb/content",
"filenamepath" : "file2.0.tiff"username/UPxx456/DOC123edf/uploadedFile.pdf.txt",
"content-type" }: "text/plain",
"size" : ]39773
},
"pages" : [ {
"UP7R6GOsnr" : [0,
"image" : {
"idfilename" : "FILEkUcHBhuploadedFile.pdf.0.tiff",
"filenameid" : "myfile2.tiffFILEYUI678",
}
"url" : "http://your-giles-host.net/giles/rest/digilib?fn=username%FILEYUI678%2FDOC123edf0%2FuploadedFile.pdf.0.tiff",
] }
] |
Get image from Digilib
You can get images from Digilib through Giles by making a GET request to:
/rest/digilib
Giles expects the following parameters:
- accessToken: an API token that is used to authenticate the uploading user (if possible use the Authorization header instead of this parameter)
- fn: path to image in digilib
- dw or dh: you need at least one size parameter, either width (dw) or height (dh) or both
- any other digilib parameter (optional)
Get public image from Digilib
You can get public images from Digilib without a GitHub access token by making a GET request to:
/rest/digilib/public
Giles expects the following parameters:
- fn: path to image in digilib
- dw or dh: you need at least one size parameter, either width (dw) or height (dh) or both
- any other digilib parameter (optional)
If the requested image is set to public, Giles will return the image from Digilib. Otherwise, you will receive an http status 403 Forbidden.
Get info about upload
You can get information about an upload by making a GET request to:
/rest/files/upload/{uploadId}
where {uploadId}
refers to an id of a previous upload.
Giles expects the following parameters:
- accessToken: an API token that is used to authenticate the uploading user (if possible use the Authorization header instead of this parameter)
A user has only access to upload he initiated himself.
Code Block |
---|
language | js |
---|
title | Upload Info Sample Response from Giles |
---|
|
[ "documentId" : "DOCOhcqLGMXL8dC",
"uploadId" : "UPMDG2ddX4bDKk",
"uploadedDate" : "2016-10-04T17:40:15.254Z",
"access" : "PUBLIC",
"uploadedFile"path" : "username/UPxx456/DOC123edf/uploadedFile.pdf.0.tiff",
"content-type" : "image/tiff",
"size" : 2032405
},
"text" : {
"filename" : "uploadedFile.pdf.0.tiff.txt",
"id" : "FILE789UIO",
"url" : "http://your-giles-host.net/giles/rest/files/FILE789UIO/content",
"path" : "username/UPxx456/DOC123edf/uploadedFile.pdf.0.tiff.txt",
"content-type" : "text/plain",
"size" : 4658
}
}, {
"nr" : 1,
"image" : {
"filename" : "uploadedFile.pdf.1.tiff",
"id" : "FILE045tyhG",
"url" : "http://your-giles-host.net/giles/rest/digilib?fn=username%2FFILE045tyhG%2FDOC123edf0%2FuploadedFile.pdf.1.tiff",
"path" : "username/UPxx456/DOC123edf/uploadedFile.1.tiff",
"content-type" : "image/tiff",
"size" : 2512354
},
"text" : {
"filename" : "uploadedFile.pdf.1.tiff.txt",
"id" : "FILEMDSPfeVm",
"url" : "http://your-giles-host.net/giles/rest/files/FILEMDSPfeVm/content",
"path" : "username/UPxx456/DOC123edf/uploadedFile.pdf.1.tiff.txt",
"content-type" : "text/plain",
"size" : 5799
}
} |
Uploads expire after 24 hours or after a server restart. If you request an expired upload or an upload that doesn't exist you will get a 404 response with the following response body:
Code Block |
---|
{
"errorCode" : "404",
"errorMsg" : "Upload does not exist."
} |
v0.5 and older
For each uploaded file, Giles responds with either "success": 0
(upload was successful), or "success": 1
(upload failed).
Code Block |
---|
language | js |
---|
title | Upload Image Sample Response from Giles |
---|
|
[ {
"documentId" : "DOCnbxbFU",
"uploadId" : "UP50N1AV",
"uploadedDate" : "2016-07-26T21:38:34.398Z",
"access" : "PRIVATE",
"files" : [ {
"filename" : "your-file.jpeg",
"path" : "http://your.host/giles/rest/digilib?fn=youruser/UP50N1AV/FILEz7JQFu/your-file.jpeg",
"content-type" : "image/jpeg",
"size" : 120830,
"success" : 0,
"id" : "FILE2FGTtG"
}, {
"filename" : "your-file-2.jpg",
"path" : "http://your.host/giles/rest/digilib?fn=youruser/UP50N1AV/FILETAW3KI/your-file-2.jpg",
"content-type" : "image/jpeg",
"size" : 270769,
"success" : 0,
"id" : "FILE23rtG"
} ]
} ] |
Get all uploads of user
You can get the details of all uploads of a user by making a GET request to:
/rest/files/uploads
Giles expects the following parameters:
- accessToken: an API token that is used to authenticate the uploading user (if possible use the Authorization header instead of this parameter)
Giles will respond with the a map of [upload ids => file ids and filename of the uploaded file]:
Code Block |
---|
[
{
"UPMDG2ddX4bDKk": [
{
"id": "FILE0fPS2iO6Ev7g",
"filename": "myfirstfile.pdf"
}
]
},
{
"UPVrMKIv": [
{
"id": "FILEkUcHBh",
"filename": "file2.0.tiff"
}
]
},
{
"UP7R6GOs": [
{
"id": "FILEkUcHBh",
"filename": "myfile2.tiff"
}
]
}
] |
Get image from Digilib
You can get images from Digilib through Giles by making a GET request to:
/rest/digilib
Giles expects the following parameters:
- accessToken: an API token that is used to authenticate the uploading user (if possible use the Authorization header instead of this parameter)
- fn: path to image in digilib
- dw or dh: you need at least one size parameter, either width (dw) or height (dh) or both
- any other digilib parameter (optional)
Get public image from Digilib
You can get public images from Digilib without a GitHub access token by making a GET request to:
/rest/digilib/public
Giles expects the following parameters:
- fn: path to image in digilib
- dw or dh: you need at least one size parameter, either width (dw) or height (dh) or both
- any other digilib parameter (optional)
If the requested image is set to public, Giles will return the image from Digilib. Otherwise, you will receive an http status 403 Forbidden.
Get info about upload
You can get information about an upload by making a GET request to:
/rest/files/upload/{uploadId}
where {uploadId}
refers to an id of a previous upload.
Giles expects the following parameters:
- accessToken: an API token that is used to authenticate the uploading user (if possible use the Authorization header instead of this parameter)
A user has only access to upload he initiated himself.
Code Block |
---|
language | js |
---|
title | Upload Info Sample Response from Giles |
---|
|
[ "documentId" : "DOCOhcqLGMXL8dC",
"uploadId" : "UPMDG2ddX4bDKk",
"uploadedDate" : "2016-10-04T17:40:15.254Z",
"access" : "PUBLIC",
"uploadedFile" : {
"filename" : "your-file.pdf",
"id" : "FILE0fPS2iO6Ev7g",
"url" : "https://your.host/giles/rest/files/FILE0fPS2iO6Ev7g/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf",
"content-type" : "application/pdf",
"size" : 1453836
},
"extractedText" : {
"filename" : "your-file.pdf.txt",
"id" : "FILEjXRK3MKDjcqx",
"url" : "https://your.host/giles/rest/files/FILEjXRK3MKDjcqx/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.txt",
"content-type" : "text/plain",
"size" : 84313
},
"pages" : [ {
"nr" : 0,
"image" : {
"filename" : "your-file.pdf.0.tiff",
"id" : "FILEgwyK2KjEiniN",
"url" : "https://your.host/giles/rest/digilib?fn=youruser%2FUPMDG2ddX4bDKk%2FDOCOhcqLGMXL8dC%2Fyour-file.pdf.0.tiff",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.0.tiff",
"content-type" : "image/tiff",
"size" : 1938832
},
"text" : {
"filename" : "your-file.pdf.0.txt",
"id" : "FILEu3zp4FHaNBEz",
"url" : "https://your.host/giles/rest/files/FILEu3zp4FHaNBEz/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.0.txt",
"content-type" : "text/plain",
"size" : 3461
}
}, {
"nr" : 1,
"image" : {
"filename" : "your-file.pdf.1.tiff",
"id" : "FILE1vgFj8feXHtG",
"url" : "https://your.host/giles/rest/digilib?fn=username%2FUPMDG2ddX4bDKk%2FDOCOhcqLGMXL8dC%2Fyour-file.pdf.1.tiff",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.1.tiff",
"content-type" : "image/tiff",
"size" : 1938382
},
"text" : {
"filename" : "your-file.pdf.1.txt",
"id" : "FILER0t8JQ1WuU94",
"url" : "https://your.host/giles/rest/files/FILER0t8JQ1WuU94/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.1.txt",
"content-type" : "text/plain",
"size" : 3930
}
}, {
"nr" : 2,
"image" : {
"filename" : "your-file.2.tiff",
"id" : "FILEzQaVarnXZy52",
"url" : "https://your.host/giles/rest/digilib?fn=youruser%2FUPMDG2ddX4bDKk%2FDOCOhcqLGMXL8dC%2Fyour-file.pdf.2.tiff",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.2.tiff",
"content-type" : "image/tiff",
"size" : 1809905
},
"text" : {
"filename" : "your-file.pdf.2.txt",
"id" : "FILEFlTXtknorFua",
"url" : "https://your.host/giles/rest/files/FILEFlTXtknorFua/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.2.txt",
"content-type" : "text/plain",
"size" : 3563
}
} ]
} ] |
Get info about document
Status |
---|
colour | Green |
---|
title | Public API |
---|
|
This endpoint can be used without an API token when requesting public files.You can get information about a document by making a GET request to:
/rest/documents/{documentId}
where {documentId}
is the id of the upload you are requesting information about.
Giles Ecosystem
A response looks similar to this:
Code Block |
---|
{
"documentId" : "DOCOhcqLGMXL8dC",
"uploadId" : "UPMDG2ddX4bDKk",
"uploadedDate" : "2016-10-04T17:40:15.254Z",
"access" : "PUBLIC",
"uploadedFile" : {
"filename" : "your-file.pdf",
"id" : "FILE0fPS2iO6Ev7g",
"url" : "https://your.host/giles/rest/files/FILE0fPS2iO6Ev7g/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf",
"content-type" : "application/pdf",
"size" : 1453836
},
"extractedText" : {
"filename" : "your-file.pdf.txt",
"id" : "FILEjXRK3MKDjcqx",
"url" : "https://your.host/giles/rest/files/FILEjXRK3MKDjcqx/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.txt",
"content-type" : "text/plain",
"size" : 84313
},
"pages" : [ {
"nr" : 0,
"image" : {
"filename" : "your-file.pdf.0.tiff",
"id" : "FILEgwyK2KjEiniN",
"url" : "https://your.host/giles/rest/digilib?fn=youruser%2FUPMDG2ddX4bDKk%2FDOCOhcqLGMXL8dC%2Fyour-file.pdf.0.tiff",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.0.tiff",
"content-type" : "image/tiff",
"size" : 1938832
},
"text" : {
"filename" : "your-file.pdf.0.txt",
"id" : "FILE0fPS2iO6Ev7gFILEu3zp4FHaNBEz",
"url" : "https://your.host/giles/rest/files/FILE0fPS2iO6Ev7gFILEu3zp4FHaNBEz/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf",.0.txt",
"content-type" : "applicationtext/pdfplain",
"size" : 14538363461
},
"extractedTextocr" : {
"filename" : "your-file.pdf.0.tiff.txt",
"id" : "FILEjXRK3MKDjcqxFILEu3zp4FHaN567",
"url" : "https://your.host/giles/rest/files/FILEjXRK3MKDjcqxFILEu3zp4FHaN567/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.0.tiff.txt",
"content-type" : "text/plain",
"size" : 843133461
}, }
"pages" : [}, {
"nr" : 01,
"image" : {
"filename" : "your-file.pdf.01.tiff",
"id" : "FILEgwyK2KjEiniNFILE1vgFj8feXHtG",
"url" : "https://your.host/giles/rest/digilib?fn=youruser%2FUPMDG2ddX4bDKk%2FDOCOhcqLGMXL8dC%2Fyour-file.pdf.01.tiff",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.01.tiff",
"content-type" : "image/tiff",
"size" : 19388321938382
},
"text" : {
"filename" : "your-file.pdf.01.txt",
"id" : "FILEu3zp4FHaNBEzFILER0t8JQ1WuU94",
"url" : "https://your.host/giles/rest/files/FILEu3zp4FHaNBEzFILER0t8JQ1WuU94/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.01.txt",
"content-type" : "text/plain",
"size" : 3461",
} "size" },: {3930
"nr" : 1},
"imageocr" : {
"filename" : "your-file.pdf.1.tiff.txt",
"id" : "FILE1vgFj8feXHtGFILER123JQ1WuU94",
"url" : "https://your.host/giles/rest/digilib?fn=username%2FUPMDG2ddX4bDKk%2FDOCOhcqLGMXL8dC%2Fyour-file.pdf.1.tiff/files/FILER123JQ1WuU94/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.1.tiff.txt",
"content-type" : "imagetext/tiffplain",
"size" : 19383823930
}
}, {
"text"nr" : 2,
"image" : {
"filename" : "your-file.pdf.12.txttiff",
"id" : "FILER0t8JQ1WuU94FILEzQaVarnXZy52",
"url" : "https://your.host/giles/rest/files/FILER0t8JQ1WuU94/content/digilib?fn=youruser%2FUPMDG2ddX4bDKk%2FDOCOhcqLGMXL8dC%2Fyour-file.pdf.2.tiff",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.12.txttiff",
"content-type" : "textimage/plaintiff",
"size" : 3930
1809905
} }, {
"nr" : 2,
"image"text" : {
"filename" : "your-file.pdf.2.tifftxt",
"id" : "FILEzQaVarnXZy52FILEFlTXtknorFua",
"url" : "https://your.host/giles/rest/digilib?fn=youruser%2FUPMDG2ddX4bDKk%2FDOCOhcqLGMXL8dC%2Fyour-file.pdf.2.tifffiles/FILEFlTXtknorFua/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.2.tifftxt",
"content-type" : "imagetext/tiffplain",
"size" : 18099053563
},
"textocr" : {
"filename" : "your-file.pdf.2.tiff.txt",
"id" : "FILEFlTXtknorFuaFILEFlTXtkn345ua",
"url" : "https://your.host/giles/rest/files/FILEFlTXtknorFuaFILEFlTXtkn345ua/content",
"path" : "youruser/UPMDG2ddX4bDKk/DOCOhcqLGMXL8dC/your-file.pdf.2.tiff.txt",
"content-type" : "text/plain",
"size" : 3563
} }
] } ] |
Get info about document
Status |
---|
colour | Green |
---|
title | Public API |
---|
|
This endpoint can be used without an API token when requesting public files.You can get information about a document by making a GET request to:
/rest/documents/{documentId}
...
Giles Single Application
A response looks similar to this:
...