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

1. Generate an API Key

Go to your account settings to generate an API key.

Generate API Key

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 albums
  • albums:write - Create/edit albums
  • photos:read - View photos
  • photos:write - Upload/edit photos
  • user: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/verify
GET/api/v1/user
GET/api/v1/user/storage
GET/api/v1/albums
POST/api/v1/albums
GET/api/v1/albums/:id
PATCH/api/v1/albums/:id
DELETE/api/v1/albums/:id
GET/api/v1/albums/:id/photos
POST/api/v1/albums/:id/photos
GET/api/v1/albums/:id/photos/:photoId
PATCH/api/v1/albums/:id/photos/:photoId
DELETE/api/v1/albums/:id/photos/:photoId

Code 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

200Success
201Created
400Bad Request - Invalid input
401Unauthorized - Invalid API key
403Forbidden - Insufficient permissions
404Not Found
429Too Many Requests - Rate limit exceeded
500Internal Server Error