Back to Documentation
API Reference
v1
Complete REST API documentation for building custom integrations with 35px.
Pro Feature
Quick Start
Get started with the 35px API in minutes
2. Make Your First Request
Include your API key in the Authorization header:
curl -X GET "https://35px.com/api/v1/albums" \ -H "Authorization: Bearer 35px_your_api_key_here"
Authentication
All API requests require authentication using a Bearer token. Include your API key in the Authorization header:
Authorization: Bearer 35px_your_api_key_here
API Key Scopes
albums:read- View albumsalbums:write- Create/edit albumsphotos:read- View photosphotos:write- Upload/edit photosuser:read- View profile
Rate Limits
- 100 requests per minute
- 10 uploads per minute
- 25MB max file size
Endpoints
Base URL: https://35px.com/api/v1
POST
/api/v1/auth/verifyGET
/api/v1/userGET
/api/v1/user/storageGET
/api/v1/albumsPOST
/api/v1/albumsGET
/api/v1/albums/:idPATCH
/api/v1/albums/:idDELETE
/api/v1/albums/:idGET
/api/v1/albums/:id/photosPOST
/api/v1/albums/:id/photosGET
/api/v1/albums/:id/photos/:photoIdPATCH
/api/v1/albums/:id/photos/:photoIdDELETE
/api/v1/albums/:id/photos/:photoIdCode Examples
List Albums
// JavaScript
const response = await fetch('https://35px.com/api/v1/albums', {
headers: {
'Authorization': 'Bearer 35px_your_api_key'
}
});
const { albums } = await response.json();Upload Photo
// JavaScript
const formData = new FormData();
formData.append('file', photoFile);
formData.append('caption', 'My photo');
const response = await fetch('https://35px.com/api/v1/albums/{albumId}/photos', {
method: 'POST',
headers: {
'Authorization': 'Bearer 35px_your_api_key'
},
body: formData
});Response Codes
200Success201Created400Bad Request - Invalid input401Unauthorized - Invalid API key403Forbidden - Insufficient permissions404Not Found429Too Many Requests - Rate limit exceeded500Internal Server Error