API v1
API Documentation
Integrate Picsui into your applications. Create events, manage galleries, and automate workflows with our REST API.
API at a glance
REST API
JSON-based
Secure
Bearer token auth
Well-Documented
Every endpoint documented
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.
Email us for a key2
Base URL
All API requests should be made to:
https://picsui.com/api/v1
3
Authentication
Include your API key in the Authorization header of every request:
Authorization: Bearer YOUR_API_KEY
Endpoints
GET
/api/v1/eventsList your events
POST
/api/v1/events/createCreate an event (requires the write scope)
GET
/api/v1/events/{id}/photosList photos in an event
PATCH
/api/v1/photos/{id}Set a photo's status to approved, rejected or pending (write scope)
GET
/api/v1/meThe account the token belongs to
POST
/api/v1/devicesRegister a device for push notifications
DELETE
/api/v1/devicesUnregister a device
DELETE
/api/v1/accountPermanently delete the account and its data
Code Examples
Create an Event
// Create an event. Requires an API key with the "write" scope.
const response = await fetch('https://picsui.com/api/v1/events/create', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'My Wedding Reception', // 2-120 characters
eventDate: '2026-06-15',
moderationEnabled: true,
})
});
const event = await response.json();Approve a Photo
// Approve or reject a photo. Requires the "write" scope.
const response = await fetch(
'https://picsui.com/api/v1/photos/PHOTO_ID',
{
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ status: 'approved' }) // approved | rejected | pending
}
);List Photos
// List the photos in an event
const response = await fetch(
'https://picsui.com/api/v1/events/EVENT_ID/photos',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
}
}
);
const { photos } = await response.json();Rate Limits
We do not publish a per-plan rate limit yet. Keep request volume reasonable and cache what you can; if you are planning a high-volume integration, email Support@Picsui.com first so we can agree limits before you build against them.
SDKs & Libraries
🟨
JavaScript/TypeScript
Coming Soon🐍
Python
Coming Soon💎
Ruby
Coming Soon🐘
PHP
Coming SoonNeed Help?
Our developer support team is here to help you integrate Picsui into your applications.