CommunityPasteCreateResult community.paste-create-result@1

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Version
1.0.0
Owner
community
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/community/paste-create-result.v1.json

community.paste-create-result@1: the answer of POST /api/pastes on OpenVibe.Community (community.paste.create), a text paste or, with a multipart screenshot part, an image paste (server/pastes/service.js created): 201 { id, slug, url, paste } — url is /p/<slug> and paste the new paste as community.paste@1. Refusals are { error } with 400 (no content, too large, not an image), 409 (a service's slug is taken), 429 (cooldown or daily limit) or 502/503 (Media unavailable for a screenshot).

Fields

FieldTypeRequiredDescriptionConstraints
idintegeryes
slugstringyes
urlstringyes
  • pattern ^/p/
pastecommunity.pasteyes

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: created
{
  "id": 4412,
  "slug": "k3JfQ2",
  "url": "/p/k3JfQ2",
  "paste": {
    "unique_views": 12,
    "id": 4412,
    "app_id": "community",
    "slug": "k3JfQ2",
    "user_id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "owner_subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "origin": "user",
    "type": "paste",
    "title": "ffmpeg restream flags",
    "content": "ffmpeg -re -i in.flv -c copy -f flv rtmp://example/live",
    "language": "text",
    "visibility": "public",
    "stream_id": 812,
    "stream_ref": {
      "service": "live",
      "type": "stream",
      "id": "812"
    },
    "screenshot_url": null,
    "metadata": null,
    "burn_after_read": false,
    "forked_from": null,
    "pinned": false,
    "views": 30,
    "copies": 2,
    "likes": 5,
    "is_nsfw": false,
    "ai_summary": null,
    "ai_tags": null,
    "ai_analyzed_at": null,
    "revision": 1,
    "url": "/p/k3JfQ2",
    "raw_url": "/p/k3JfQ2/raw",
    "created_at": "2026-09-25 18:02:11",
    "updated_at": "2026-09-25 18:02:11",
    "is_owner": true,
    "username": "alice",
    "display_name": "Alice",
    "avatar_url": "https://openvibe.media/avatar/alice",
    "profile_color": "#3b82f6"
  }
}
Rejected: no-paste
{
  "id": 4412,
  "slug": "k3JfQ2",
  "url": "/p/k3JfQ2"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('community.paste-create-result@1', value);   // { valid, errors: [{ path, message }] }