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.
If you want to retrieve the details of one concrete file execute a GET request against the /libraries/:libraryId/files/:fileId endpoint
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_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());
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).
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_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());