List
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 pagination to learn the details of it. By default maximum 100 files will be returned in the response.
Request (listing all files)
curl --request GET \
--url https://api.digitalsamba.com/api/v1/libraries/45d125d8-bac9-43a5-a6a8-311a5433239d/files \
--user YOUR_TEAM_ID:YOUR_DEVELOPER_KEYimport 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());Response (200 OK)
{
"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...............
]
} Request (get a concrete file)
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_KEYimport 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());Response (200 OK)
{
"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_KEYimport 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());Response (200 OK)
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.
Last updated