Skip to main content
API v1

API Documentation

Integrate Picsui into your applications. Create events, manage galleries, and automate workflows with our REST API.

REST API

JSON-based

Secure

Bearer token auth

Well-Documented

OpenAPI spec

SDKs

Multiple languages

Getting Started

1

Get your API key

Generate an API key from your dashboard. Keep it secure and never expose it in client-side code.

Go to API Settings
2

Base URL

All API requests should be made to:

https://api.picsui.com/v1
3

Authentication

Include your API key in the Authorization header of every request:

Authorization: Bearer YOUR_API_KEY

Endpoints

POST/api/v1/events
Create a new event
GET/api/v1/events/:id
Get event details
GET/api/v1/events/:id/photos
List photos in an event
POST/api/v1/events/:id/photos
Upload a photo to an event
DELETE/api/v1/photos/:id
Delete a photo
GET/api/v1/events/:id/qr
Generate QR code for event

Code Examples

Create an Event

// Create a new event
const response = await fetch('https://api.picsui.com/v1/events', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'My Wedding Reception',
    date: '2024-06-15',
    settings: {
      moderation: true,
      allowDownloads: true,
    }
  })
});

const event = await response.json();
console.log(event.qrCodeUrl);

Upload a Photo

// Upload a photo to an event
const formData = new FormData();
formData.append('photo', photoFile);
formData.append('caption', 'Beautiful sunset');

const response = await fetch(
  'https://api.picsui.com/v1/events/evt_123/photos',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
    },
    body: formData
  }
);

const photo = await response.json();

List Photos

// List all photos in an event
const response = await fetch(
  'https://api.picsui.com/v1/events/evt_123/photos?page=1&limit=50',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
    }
  }
);

const { photos, pagination } = await response.json();

Rate Limits

Free

100 requests/hour

Pro

1,000 requests/hour

Business

10,000 requests/hour

Enterprise

Custom

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset

SDKs & Libraries

🟨

JavaScript/TypeScript

Available
🐍

Python

Coming Soon
💎

Ruby

Coming Soon
🐘

PHP

Coming Soon

Need Help?

Our developer support team is here to help you integrate Picsui into your applications.