Share Page
Update sharing permissions for a page (make public, invite collaborators, etc.).
Endpoint
POST /v1/pages/:pageId/publish
POST /v1/pages/:pageId/unpublish
POST /v1/pages/:pageId/invitations/send
GET /v1/pages/:pageId/invitations
DELETE /v1/pages/:pageId/invitations/:email
PUT /v1/pages/:pageId/users/:userId/roleAuthentication
Requires API key with pages:write scope. You must be the page owner or an editor.
Authorization: Bearer pk_live_your_api_keyPublish Page
Make a page publicly accessible:
Client-JS
import { PindownClient } from '@pindownai/client-js'
const client = new PindownClient({
apiKey: process.env.PINDOWN_API_KEY
})
await client.pages.publish('pg-abc123')
console.log('Page is now public')Unpublish Page
Make a page private again:
Client-JS
await client.pages.unpublish('pg-abc123')
console.log('Page is now private')Send Invitation
Invite a collaborator to the page:
Client-JS
await fetch('https://api.pindown.ai/v1/pages/pg-abc123/invitations/send', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.PINDOWN_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'collaborator@example.com',
role: 'editor' // or 'viewer'
})
})List Invitations
Get all pending and active invitations:
Client-JS
const response = await fetch('https://api.pindown.ai/v1/pages/pg-abc123/invitations', {
headers: {
'Authorization': `Bearer ${process.env.PINDOWN_API_KEY}`
}
})
const result = await response.json()
console.log('Pending invites:', result.data.pending)
console.log('Active users:', result.data.active)Response
{
"success": true,
"data": {
"pending": [
{
"email": "collaborator@example.com",
"role": "editor",
"invited_at": "2024-11-23T10:00:00Z"
}
],
"active": [
{
"user_id": "user-xyz789",
"email": "user@example.com",
"role": "viewer",
"added_at": "2024-11-23T09:00:00Z"
}
]
}
}Permission Levels
| Role | View | Edit | Invite | Delete |
|---|---|---|---|---|
| Owner | ✅ | ✅ | ✅ | ✅ |
| Editor | ✅ | ✅ | ❌ | ❌ |
| Viewer | ✅ | ❌ | ❌ | ❌ |
Next Steps
- Get Page - View page details
- Update Page - Modify page settings