peertube — quality + safety report
In the Skillier index (lap__cpy-re-cpy-re-peertube) · scanned 2026-06-03 · engine: builtin+triage
✓ Clean — no heuristic safety flags surfaced.
Heuristic flags from the builtin scanner, which is known to over-flag (it trips on legitimate env-reading integrations, security skills, and library .eval calls). This is NOT an authoritative malicious verdict — re-scan with SkillSpector for the authoritative result. Run the authoritative scan →
📇 This skill is in the Skillier index (curated · deduped · quality-filtered). Install Skillier to route & load it into your AI client.
Quality notes
About this skill
PeerTube API skill. Use when working with PeerTube for static, download, feeds. Covers 265 endpoints.
📄 Read the SKILL.md
---
name: peertube
description: "PeerTube API skill. Use when working with PeerTube for static, download, feeds. Covers 265 endpoints."
version: 1.0.0
generator: lapsh
---
# PeerTube
API version: 8.0.0
## Auth
OAuth2
## Base URL
https://peertube2.cpy.re
## Setup
1. Configure auth: OAuth2
2. GET /feeds/podcast/videos.xml -- verify access
3. POST /api/v1/config/instance-banner/pick -- create first pick
## Endpoints
265 endpoints across 4 groups. See references/api-spec.lap for full details.
### static
| Method | Path | Description |
|--------|------|-------------|
| GET | /static/web-videos/{filename} | Get public Web Video file |
| GET | /static/web-videos/private/{filename} | Get private Web Video file |
| GET | /static/streaming-playlists/hls/{filename} | Get public HLS video file |
| GET | /static/streaming-playlists/hls/private/{filename} | Get private HLS video file |
### download
| Method | Path | Description |
|--------|------|-------------|
| GET | /download/videos/generate/{videoId} | Download video file |
### feeds
| Method | Path | Description |
|--------|------|-------------|
| GET | /feeds/video-comments.{format} | Comments on videos feeds |
| GET | /feeds/videos.{format} | Common videos feeds |
| GET | /feeds/subscriptions.{format} | Videos of subscriptions feeds |
| GET | /feeds/podcast/videos.xml | Videos podcast feed |
### api
| Method | Path | Description |
|--------|------|-------------|
| GET | /api/v1/accounts/{name} | Get an account |
| GET | /api/v1/accounts/{name}/videos | List videos of an account |
| GET | /api/v1/accounts/{name}/followers | List followers of an account |
| GET | /api/v1/accounts | List accounts |
| GET | /api/v1/config | Get instance public configuration |
| GET | /api/v1/config/about | Get instance "About" information |
| GET | /api/v1/config/custom | Get instance runtime configuration |
| PUT | /api/v1/config/custom | Set instance runtime configuration |
| DELETE | /api/v1/config/custom | Delete instance runtime configuration |
| POST | /api/v1/config/instance-banner/pick | Update instance banner |
| DELETE | /api/v1/config/instance-banner | Delete instance banner |
| POST | /api/v1/config/instance-avatar/pick | Update instance avatar |
| DELETE | /api/v1/config/instance-avatar | Delete instance avatar |
| POST | /api/v1/config/instance-logo/{logoType}/pick | Update instance logo |
| DELETE | /api/v1/config/instance-logo/{logoType} | Delete instance logo |
| GET | /api/v1/custom-pages/homepage/instance | Get instance custom homepage |
| PUT | /api/v1/custom-pages/homepage/instance | Set instance custom homepage |
| POST | /api/v1/jobs/pause | Pause job queue |
| POST | /api/v1/jobs/resume | Resume job queue |
| GET | /api/v1/jobs/{state} | List instance jobs |
| GET | /api/v1/server/followers | List instances following the server |
| DELETE | /api/v1/server/followers/{handle} | Remove or reject a follower to your server |
| POST | /api/v1/server/followers/{handle}/reject | Reject a pending follower to your server |
| POST | /api/v1/server/followers/{handle}/accept | Accept a pending follower to your server |
| GET | /api/v1/server/following | List instances followed by the server |
| POST | /api/v1/server/following | Follow a list of actors (PeerTube instance, channel or account) |
| DELETE | /api/v1/server/following/{hostOrHandle} | Unfollow an actor (PeerTube instance, channel or account) |
| POST | /api/v1/users | Create a user |
| GET | /api/v1/users | List users |
| DELETE | /api/v1/users/{id} | Delete a user |
| GET | /api/v1/users/{id} | Get a user |
| PUT | /api/v1/users/{id} | Update a user |
| GET | /api/v1/oauth-clients/local | Login prerequisite |
| POST | /api/v1/users/token | Login |
| POST | /api/v1/users/revoke-token | Logout |
| GET | /api/v1/users/{id}/token-sessions | List token sessions |
| GET | /api/v1/users/{id}/token-sessions/{tokenSessionId}/revoke | List token sessions |
| POST | /api/v1/users/ask-send-verify-email | Resend user verification link |
| POST | /api/v1/users/registrations/ask-send-verify-email | Resend verification link to registration request email |
| POST | /api/v1/users/{id}/verify-email | Verify a user |
| POST | /api/v1/users/registrations/{registrationId}/verify-email | Verify a registration email |
| POST | /api/v1/users/ask-reset-password | Ask to reset password |
| POST | /api/v1/users/{id}/reset-password | Reset password |
| POST | /api/v1/users/{id}/two-factor/request | Request two factor auth |
| POST | /api/v1/users/{id}/two-factor/confirm-request | Confirm two factor auth |
| POST | /api/v1/users/{id}/two-factor/disable | Disable two factor auth |
| POST | /api/v1/users/{userId}/imports/import-resumable | Initialize the resumable user import |
| PUT | /api/v1/users/{userId}/imports/import-resumable | Send chunk for the resumable user import |
| DELETE | /api/v1/users/{userId}/imports/import-resumable | Cancel the resumable user import |
| GET | /api/v1/users/{userId}/imports/latest | Get latest user import |
| POST | /api/v1/users/{userId}/exports/request | Request user export |
| GET | /api/v1/users/{userId}/exports | List user exports |
| DELETE | /api/v1/users/{userId}/exports/{id} | Delete a user export |
| GET | /api/v1/users/me | Get my user information |
| PUT | /api/v1/users/me | Update my user information |
| GET | /api/v1/users/me/videos/comments | List comments on user's videos |
| GET | /api/v1/users/me/videos/imports | Get video imports of my user |
| GET | /api/v1/users/me/video-quota-used | Get my user used quota |
| GET | /api/v1/users/me/videos/{videoId}/rating | Get rate of my user for a video |
| GET | /api/v1/users/me/videos | List videos of my user |
| GET | /api/v1/users/me/subscriptions | List my user subscriptions |
| POST | /api/v1/users/me/subscriptions | Add subscription to my user |
| GET | /api/v1/users/me/subscriptions/exist | Get if subscriptions exist for my user |
| GET | /api/v1/users/me/subscriptions/videos | List videos of subscriptions of my user |
| GET | /api/v1/users/me/subscriptions/{subscriptionHandle} | Get subscription of my user |
| DELETE | /api/v1/users/me/subscriptions/{subscriptionHandle} | Delete subscription of my user |
| GET | /api/v1/users/me/notifications | List my notifications |
| POST | /api/v1/users/me/notifications/read | Mark notifications as read by their id |
| POST | /api/v1/users/me/notifications/read-all | Mark all my notification as read |
| PUT | /api/v1/users/me/notification-settings | Update my notification settings |
| POST | /api/v1/users/me/new-feature-info/read | Mark feature info as read |
| GET | /api/v1/users/me/history/videos | List watched videos history |
| DELETE | /api/v1/users/me/history/videos/{videoId} | Delete history element |
| POST | /api/v1/users/me/history/videos/remove | Clear video history |
| POST | /api/v1/users/me/avatar/pick | Update my user avatar |
| DELETE | /api/v1/users/me/avatar | Delete my avatar |
| POST | /api/v1/users/register | Register a user |
| POST | /api/v1/users/registrations/request | Request registration |
| POST | /api/v1/users/registrations/{registrationId}/accept | Accept registration |
| POST | /api/v1/users/registrations/{registrationId}/reject | Reject registration |
| DELETE | /api/v1/users/registrations/{registrationId} | Delete registration |
| GET | /api/v1/users/registrations | List registrations |
| GET | /api/v1/videos/ownership | List video ownership changes |
| POST | /api/v1/videos/ownership/{id}/accept | Accept ownership change request |
| POST | /api/v1/videos/ownership/{id}/refuse | Refuse ownership change request |
| POST | /api/v1/videos/{id}/give-ownership | Request ownership change |
| POST | /api/v1/videos/{id}/token | Request video token |
| POST | /api/v1/videos/{id}/studio/edit | Create a studio task |
| GET | /api/v1/videos | List videos |
| GET | /api/v1/videos/categories | List available video categories |
| GET | /api/v1/videos/licences | List available video licences |
| GET | /api/v1/videos/languages | List available video languages |
| GET | /api/v1/videos/privacies | List available video privacy policies |
| PUT | /api/v1/videos/{id} | Update a video |
| GET | /api/v1/videos/{id} | Get a video |
| DELETE | /api/v1/videos/{id} | Delete a video |
| GET | /api/v1/videos/{id}/description | Get complete video description |
| POST | /api/v1/videos/{id}/views | Notify user is watching a video |
| GET | /api/v1/videos/{id}/stats/overall | Get overall stats of a video |
| GET | /api/v1/videos/{id}/stats/user-agent | Get user agent stats of a video |
| GET | /api/v1/videos/{id}/stats/retention | Get retention stats of a video |
| GET | /api/v1/videos/{id}/stats/timeseries/{metric} | Get timeserie stats of a video |
| POST | /api/v1/videos/upload | Upload a video |
| POST | /api/v1/videos/upload-resumable | Initialize the resumable upload of a video |
| PUT | /api/v1/videos/upload-resumable | Send chunk for the resumable upload of a video |
| DELETE | /api/v1/videos/upload-resumable | Cancel the resumable upload of a video, deleting any data uploaded so far |
| POST | /api/v1/videos/imports | Import a video |
| POST | /api/v1/videos/imports/{id}/cancel | Cancel video import |
| POST | /api/v1/videos/imports/{id}/retry | Retry video import |
| DELETE | /api/v1/videos/imports/{id} | Delete video import |
| POST | /api/v1/videos/live | Create a live |
| GET | /api/v1/videos/live/{id} | Get information about a live |
| PUT | /api/v1/videos/live/{id} | Update information about a live |
| GET | /api/v1/videos/live/{id}/sessions | List live sessions |
| GET | /api/v1/videos/{id}/live-session | Get live session of a replay |
| GET | /api/v1/videos/{id}/source | Get video source file metadata |
| DELETE | /api/v1/videos/{id}/source/file | Delete video source file |
| POST | /api/v1/videos/{id}/source/replace-resumable | Initialize the resumable replacement of a video |
| PUT | /api/v1/videos/{id}/source/replace-resumable | Send chunk for the resumable replacement of a video |
| DELETE | /api/v1/videos/{id}/source/replace-resumable | Cancel the resumable replacement of a video |
| GET | /api/v1/users/me/abuses | List my abuses |
| GET | /api/v1/abuses | List abuses |
| POST | /api/v1/abuses | Report an abuse |
| PUT | /api/v1/abuses/{abuseId} | Update an abuse |
| DELETE | /api/v1/abuses/{abuseId} | Delete an abuse |
| GET | /api/v1/abuses/{abuseId}/messages | List messages of an abuse |
| POST | /api/v1/abuses/{abuseId}/messages | Add message to an abuse |
| DELETE | /api/v1/abuses/{abuseId}/messages/{abuseMessageId} | Delete an abuse message |
| POST | /api/v1/videos/{id}/blacklist | Block a video |
| DELETE | /api/v1/videos/{id}/blacklist | Unblock a video by its id |
| GET | /api/v1/videos/blacklist | List video blocks |
| GET | /api/v1/videos/{id}/storyboards | List storyboards of a video |
| GET | /api/v1/videos/{id}/captions | List captions of a video |
| POST | /api/v1/videos/{id}/captions/generate | Generate a video caption |
| PUT | /api/v1/videos/{id}/captions/{captionLanguage} | Add or replace a video caption |
| DELETE | /api/v1/videos/{id}/captions/{captionLanguage} | Delete a video caption |
| GET | /api/v1/videos/{id}/chapters | Get chapters of a video |
| PUT | /api/v1/videos/{id}/chapters | Replace video chapters |
| GET | /api/v1/videos/{id}/embed-privacy | Get video embed privacy |
| PUT | /api/v1/videos/{id}/embed-privacy | Update video embed privacy |
| GET | /api/v1/videos/{id}/embed-privacy/allowed | Check if embed is allowed |
| GET | /api/v1/videos/{id}/passwords | List video passwords |
| PUT | /api/v1/videos/{id}/passwords | Update video passwords |
| POST | /api/v1/videos/{id}/passwords | Add a video password |
| DELETE | /api/v1/videos/{id}/passwords/{videoPasswordId} | Delete a video password |
| GET | /api/v1/video-channels | List video channels |
| POST | /api/v1/video-channels | Create a video channel |
| GET | /api/v1/video-channels/{channelHandle} | Get a video channel |
| PUT | /api/v1/video-channel
… (truncated)Want a live grade + an embeddable README badge? Run your skill through the free scanner.
Graded independently by Skillproof — nothing to sell the author. Quality is mechanical + corpus-grounded; safety flags are heuristic (builtin+triage), not a malicious verdict.