List
Last updated
Last updated
To list the existing files you need to execute a GET request against the /libraries/:id/files endpoint.
Since potentially there could be thousands of files, pagination is supported with limit, order and after arguments. Read about to learn the details of it. By default maximum 100 files will be returned in the response.
If you want to retrieve the details of one concrete file execute a GET request against the /libraries/:libraryId/files/:fileId endpoint
curl --request GET \
--url https://api.digitalsamba.com/api/v1/libraries/45d125d8-bac9-43a5-a6a8-311a5433239d/files \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY
import com.fasterxml.jackson.databind.ObjectMapper;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.Base64;
import java.util.Map;
String TEAM_ID = "YOUR_TEAM_ID";
String DEVELOPER_KEY = "YOUR_DEVELOPER_KEY";
String authorizationHeader = "Bearer " + Base64.getEncoder().encodeToString((TEAM_ID + ":" + DEVELOPER_KEY).getBytes());
//Put your library id here - this value is just an example
String libraryId = "45d125d8-bac9-43a5-a6a8-311a5433239d";
HttpRequest request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://api.digitalsamba.com/api/v1/libraries/" + libraryId + "/files"))
.header("Authorization", authorizationHeader)
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Body: " + response.body());
{
"total_count": 6124,
"data": [
{
"id": "2e74f71d-5eb5-45b1-9493-6461e5400e8f",
"folder_id": "e6a08bd6-7262-4fa2-8adf-1f7ddefe6907",
"name": "nightjar.jpg",
"type": "image",
"size": 637962,
"source": "api",
"status": "completed",
"created_at": "2024-10-14T11:44:57Z"
},
...............99 more files...............
]
}
The total_count is the total amount of files you have in the library. It is NOT the amount of files in the current page returned in the data array. In the above example you have 6124 files in total, but in the data array there will be maximum 100 files (the default limit argument value).
curl --request GET \
--url https://api.digitalsamba.com/api/v1/libraries/45d125d8-bac9-43a5-a6a8-311a5433239d/files/2e74f71d-5eb5-45b1-9493-6461e5400e8f \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY
import com.fasterxml.jackson.databind.ObjectMapper;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.Base64;
import java.util.Map;
String TEAM_ID = "YOUR_TEAM_ID";
String DEVELOPER_KEY = "YOUR_DEVELOPER_KEY";
String authorizationHeader = "Bearer " + Base64.getEncoder().encodeToString((TEAM_ID + ":" + DEVELOPER_KEY).getBytes());
//Put your library id here - this value is just an example
String libraryId = "45d125d8-bac9-43a5-a6a8-311a5433239d";
//Put your file id here - this value is just an example
String fileId = "2e74f71d-5eb5-45b1-9493-6461e5400e8f";
HttpRequest request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://api.digitalsamba.com/api/v1/libraries/" + libraryId + "/files/" + fileId))
.header("Authorization", authorizationHeader)
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Body: " + response.body());
{
"id": "2e74f71d-5eb5-45b1-9493-6461e5400e8f",
"folder_id": "e6a08bd6-7262-4fa2-8adf-1f7ddefe6907",
"name": "nightjar.jpg",
"type": "image",
"size": 637962,
"source": "api",
"status": "completed",
"created_at": "2024-10-14T11:44:57Z"
}
Request (retrieve download links)
curl --request GET \
--url https://api.digitalsamba.com/api/v1/libraries/45d125d8-bac9-43a5-a6a8-311a5433239d/files/2e74f71d-5eb5-45b1-9493-6461e5400e8f/links \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEY
import com.fasterxml.jackson.databind.ObjectMapper;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.Base64;
import java.util.Map;
String TEAM_ID = "YOUR_TEAM_ID";
String DEVELOPER_KEY = "YOUR_DEVELOPER_KEY";
String authorizationHeader = "Bearer " + Base64.getEncoder().encodeToString((TEAM_ID + ":" + DEVELOPER_KEY).getBytes());
//Put your library id here - this value is just an example
String libraryId = "45d125d8-bac9-43a5-a6a8-311a5433239d";
//Put your file id here - this value is just an example
String fileId = "2e74f71d-5eb5-45b1-9493-6461e5400e8f";
HttpRequest request = HttpRequest.newBuilder()
.GET()
.uri(new URI("https://api.digitalsamba.com/api/v1/libraries/" + libraryId + "/files/" + fileId + "/links"))
.header("Authorization", authorizationHeader)
.build();
HttpClient client = HttpClient.newHttpClient();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Body: " + response.body());
In case of a image:
{
"url": "......................"
}
In case of a multi-page (e.g. PDF):
{
"pages": [
{
"url": "................",
"thumbnail_url": "................"
},
{
"url": "................",
"thumbnail_url": "................"
},
...............................
]
}
The response includes time-limited download URLs (expire in 1 day).
For multi-page documents there is also a download link to the thumbnail for each page.