Put It Online

Publish AI-made web pages and share files as short links from any MCP client.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
89%
命名质量
96%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~6,423token 数(工具定义)
~7.2 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 5.02%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "put-it-online": {
      "url": "https://putit.online/mcp"
    }
  }
}

远程端点

https://putit.online/mcpstreamable-http

它能做什么

工具清单

工具(10)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟡upload_file(filename, content, encoding, mime_type, slug, ...)

Put a file online and get a short public link. Pass text directly, or base64 with encoding="base64" for binary files (images, PDFs, zips). An .html file becomes a web page; a .zip containing index.html becomes a website. Returns the URL and expires_at; anonymous callers also get a manage_token. Status may be "checking"/"publishing" (call get_link before sharing) or "unpublished" (not published). Limit 20 MB inline; use create_upload_session for bigger files.

输入模式

{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "File name including extension, e.g. \"report.pdf\" or \"index.html\". The extension decides how the link renders."
    },
    "content": {
      "type": "string",
      "description": "File content: plain text, or base64 when encoding is \"base64\" (use base64 for any binary file)."
    },
    "encoding": {
      "default": "text",
      "description": "How `content` is encoded.",
      "type": "string",
      "enum": [
        "text",
        "base64"
      ]
    },
    "mime_type": {
      "description": "Optional MIME type; used to add a missing file extension.",
      "type": "string",
      "maxLength": 100
    },
    "slug": {
      "type": "string",
      "minLength": 3,
      "maxLength": 40,
      "pattern": "^[a-zA-Z0-9-]+$",
      "description": "Custom link name (3-40 letters, digits, dashes); available on plans with custom names."
    },
    "password": {
      "type": "string",
      "minLength": 4,
      "maxLength": 200,
      "description": "Visitors must enter this password to open the link; available on plans with password protection."
    }
  },
  "required": [
    "filename",
    "content"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "The public link to share."
    },
    "status": {
      "type": "string",
      "enum": [
        "awaiting_upload",
        "checking",
        "live",
        "in_review",
        "unpublished",
        "publishing",
        "removed",
        "expired",
        "deleted"
      ],
      "description": "checking = not live yet (poll get_link); live = shareable; unpublished = not published; publishing = will be live soon (poll get_link); in_review = not available right now; removed = removed by moderation (see removed_reason, appeal_url)."
    },
    "status_message": {
      "type": "string"
    },
    "checkout_url": {
      "description": "Only with status unpublished: the page where the uploader can publish this link.",
      "type": "string"
    },
    "removed_reason": {
      "description": "Only with status removed: why, in plain words.",
      "type": "string"
    },
    "removed_category": {
      "description": "Only with status removed: the moderation category (malware, phishing, explicit, …); null when not disclosed.",
      "type": [
        "string",
        "null"
      ]
    },
    "appeal_url": {
      "description": "Only with status removed: mailto link to appeal to [email protected].",
      "type": "string"
    },
    "kind": {
      "type": "string",
      "description": "html | site | file | bundle | pending"
    },
    "title": {
      "type": "string"
    },
    "size_bytes": {
      "type": "number"
    },
    "file_count": {
      "type": "number"
    },
    "views": {
      "description": "View count; null when the link's account plan has no view counts, or the link has no account.",
      "type": [
        "number",
        "null"
      ]
    },
    "permanent": {
      "type": "boolean"
    },
    "password_protected": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "expires_at": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO time the link stops working; null for permanent links."
    },
    "manage_url": {
      "description": "Private page to manage/delete the link. Only returned on creation; keep it secret.",
      "type": "string"
    },
    "manage_token": {
      "description": "Secret token for get_link/delete_link without an account. Only returned on creation.",
      "type": "string"
    }
  },
  "required": [
    "slug",
    "url",
    "status",
    "status_message",
    "kind",
    "title",
    "size_bytes",
    "file_count",
    "views",
    "permanent",
    "password_protected",
    "created_at",
    "expires_at"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡create_upload_session(filename, size_bytes, slug, password)

For files too large to send inline: reserves a link and returns a one-time upload_url. PUT the raw bytes there (e.g. give the user the returned curl command), then poll get_link with the slug (and manage_token) until status is "live".

输入模式

{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Name of the file that will be uploaded, including extension."
    },
    "size_bytes": {
      "description": "Expected size, checked against your plan limit up front.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "slug": {
      "type": "string",
      "minLength": 3,
      "maxLength": 40,
      "pattern": "^[a-zA-Z0-9-]+$",
      "description": "Custom link name (3-40 letters, digits, dashes); available on plans with custom names."
    },
    "password": {
      "type": "string",
      "minLength": 4,
      "maxLength": 200,
      "description": "Visitors must enter this password to open the link; available on plans with password protection."
    }
  },
  "required": [
    "filename"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "upload_url": {
      "type": "string",
      "description": "One-time URL: PUT the raw file bytes here (no auth header needed)."
    },
    "method": {
      "type": "string",
      "const": "PUT"
    },
    "headers": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "max_bytes": {
      "type": "number"
    },
    "expires_at": {
      "type": "string"
    },
    "complete_url": {
      "description": "When present: POST here (no body) after the PUT finishes. The curl command already does it.",
      "type": "string"
    },
    "curl": {
      "type": "string",
      "description": "Ready-to-run command for the user."
    },
    "link": {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "description": "The public link to share."
        },
        "status": {
          "type": "string",
          "enum": [
            "awaiting_upload",
            "checking",
            "live",
            "in_review",
            "unpublished",
            "publishing",
            "removed",
            "expired",
            "deleted"
          ],
          "description": "checking = not live yet (poll get_link); live = shareable; unpublished = not published; publishing = will be live soon (poll get_link); in_review = not available right now; removed = removed by moderation (see removed_reason, appeal_url)."
        },
        "status_message": {
          "type": "string"
        },
        "checkout_url": {
          "description": "Only with status unpublished: the page where the uploader can publish this link.",
          "type": "string"
        },
        "removed_reason": {
          "description": "Only with status removed: why, in plain words.",
          "type": "string"
        },
        "removed_category": {
          "description": "Only with status removed: the moderation category (malware, phishing, explicit, …); null when not disclosed.",
          "type": [
            "string",
            "null"
          ]
        },
        "appeal_url": {
          "description": "Only with status removed: mailto link to appeal to [email protected].",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "description": "html | site | file | bundle | pending"
        },
        "title": {
          "type": "string"
        },
        "size_bytes": {
          "type": "number"
        },
        "file_count": {
          "type": "number"
        },
        "views": {
          "description": "View count; null when the link's account plan has no view counts, or the link has no account.",
          "type": [
            "number",
            "null"
          ]
        },
        "permanent": {
          "type": "boolean"
        },
        "password_protected": {
          "type": "boolean"
        },
        "created_at": {
          "type": "string"
        },
        "expires_at": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1
            },
            {
              "type": "null"
            }
          ],
          "description": "ISO time the link stops working; null for permanent links."
        },
        "manage_url": {
          "description": "Private page to manage/delete the link. Only returned on creation; keep it secret.",
          "type": "string"
        },
        "manage_token": {
          "description": "Secret token for get_link/delete_link without an account. Only returned on creation.",
          "type": "string"
        }
      },
      "required": [
        "slug",
        "url",
        "status",
        "status_message",
        "kind",
        "title",
        "size_bytes",
        "file_count",
        "views",
        "permanent",
        "password_protected",
        "created_at",
        "expires_at"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "upload_url",
    "method",
    "headers",
    "max_bytes",
    "expires_at",
    "curl",
    "link"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡publish_site(files, base64_files, title, slug, password)

Put a web page or small static site you created online instantly. Pass {"files": {"index.html": "<!doctype html>…", "style.css": "…", "app.js": "…"}} (paths relative to the site root; index.html required). Images can go in base64_files. Returns the public URL. Pages are served sandboxed on their own link.

输入模式

{
  "type": "object",
  "properties": {
    "files": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      },
      "description": "Map of path -> text content, e.g. {\"index.html\": \"<!doctype html>…\", \"style.css\": \"body{…}\"}. Must include index.html."
    },
    "base64_files": {
      "description": "Optional map of path -> base64 content for binary assets such as images.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "title": {
      "description": "Name for the site (shown in the dashboard).",
      "type": "string",
      "maxLength": 80
    },
    "slug": {
      "type": "string",
      "minLength": 3,
      "maxLength": 40,
      "pattern": "^[a-zA-Z0-9-]+$",
      "description": "Custom link name (3-40 letters, digits, dashes); available on plans with custom names."
    },
    "password": {
      "type": "string",
      "minLength": 4,
      "maxLength": 200,
      "description": "Visitors must enter this password to open the link; available on plans with password protection."
    }
  },
  "required": [
    "files"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "The public link to share."
    },
    "status": {
      "type": "string",
      "enum": [
        "awaiting_upload",
        "checking",
        "live",
        "in_review",
        "unpublished",
        "publishing",
        "removed",
        "expired",
        "deleted"
      ],
      "description": "checking = not live yet (poll get_link); live = shareable; unpublished = not published; publishing = will be live soon (poll get_link); in_review = not available right now; removed = removed by moderation (see removed_reason, appeal_url)."
    },
    "status_message": {
      "type": "string"
    },
    "checkout_url": {
      "description": "Only with status unpublished: the page where the uploader can publish this link.",
      "type": "string"
    },
    "removed_reason": {
      "description": "Only with status removed: why, in plain words.",
      "type": "string"
    },
    "removed_category": {
      "description": "Only with status removed: the moderation category (malware, phishing, explicit, …); null when not disclosed.",
      "type": [
        "string",
        "null"
      ]
    },
    "appeal_url": {
      "description": "Only with status removed: mailto link to appeal to [email protected].",
      "type": "string"
    },
    "kind": {
      "type": "string",
      "description": "html | site | file | bundle | pending"
    },
    "title": {
      "type": "string"
    },
    "size_bytes": {
      "type": "number"
    },
    "file_count": {
      "type": "number"
    },
    "views": {
      "description": "View count; null when the link's account plan has no view counts, or the link has no account.",
      "type": [
        "number",
        "null"
      ]
    },
    "permanent": {
      "type": "boolean"
    },
    "password_protected": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "expires_at": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO time the link stops working; null for permanent links."
    },
    "manage_url": {
      "description": "Private page to manage/delete the link. Only returned on creation; keep it secret.",
      "type": "string"
    },
    "manage_token": {
      "description": "Secret token for get_link/delete_link without an account. Only returned on creation.",
      "type": "string"
    }
  },
  "required": [
    "slug",
    "url",
    "status",
    "status_message",
    "kind",
    "title",
    "size_bytes",
    "file_count",
    "views",
    "permanent",
    "password_protected",
    "created_at",
    "expires_at"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_link(slug, manage_token)

Status of a link: live, checking, publishing, unpublished, in_review, removed (by moderation: removed_reason + appeal_url), expired or awaiting_upload; plus expiry, size and views (null when the account’s plan has no view counts). Anonymous callers pass the manage_token they got on creation.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The link name, e.g. \"k3x9pq\" (a full https://putit.online/<name> URL also works)."
    },
    "manage_token": {
      "type": "string",
      "minLength": 10,
      "maxLength": 200,
      "description": "Secret manage token returned when the link was created (lets anonymous callers manage it)."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "The public link to share."
    },
    "status": {
      "type": "string",
      "enum": [
        "awaiting_upload",
        "checking",
        "live",
        "in_review",
        "unpublished",
        "publishing",
        "removed",
        "expired",
        "deleted"
      ],
      "description": "checking = not live yet (poll get_link); live = shareable; unpublished = not published; publishing = will be live soon (poll get_link); in_review = not available right now; removed = removed by moderation (see removed_reason, appeal_url)."
    },
    "status_message": {
      "type": "string"
    },
    "checkout_url": {
      "description": "Only with status unpublished: the page where the uploader can publish this link.",
      "type": "string"
    },
    "removed_reason": {
      "description": "Only with status removed: why, in plain words.",
      "type": "string"
    },
    "removed_category": {
      "description": "Only with status removed: the moderation category (malware, phishing, explicit, …); null when not disclosed.",
      "type": [
        "string",
        "null"
      ]
    },
    "appeal_url": {
      "description": "Only with status removed: mailto link to appeal to [email protected].",
      "type": "string"
    },
    "kind": {
      "type": "string",
      "description": "html | site | file | bundle | pending"
    },
    "title": {
      "type": "string"
    },
    "size_bytes": {
      "type": "number"
    },
    "file_count": {
      "type": "number"
    },
    "views": {
      "description": "View count; null when the link's account plan has no view counts, or the link has no account.",
      "type": [
        "number",
        "null"
      ]
    },
    "permanent": {
      "type": "boolean"
    },
    "password_protected": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "expires_at": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO time the link stops working; null for permanent links."
    },
    "manage_url": {
      "description": "Private page to manage/delete the link. Only returned on creation; keep it secret.",
      "type": "string"
    },
    "manage_token": {
      "description": "Secret token for get_link/delete_link without an account. Only returned on creation.",
      "type": "string"
    }
  },
  "required": [
    "slug",
    "url",
    "status",
    "status_message",
    "kind",
    "title",
    "size_bytes",
    "file_count",
    "views",
    "permanent",
    "password_protected",
    "created_at",
    "expires_at"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢list_links(limit, offset)

List the links in the connected Put It Online account (newest first, permanent first). Requires a connected account.

输入模式

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "The public link to share."
          },
          "status": {
            "type": "string",
            "enum": [
              "awaiting_upload",
              "checking",
              "live",
              "in_review",
              "unpublished",
              "publishing",
              "removed",
              "expired",
              "deleted"
            ],
            "description": "checking = not live yet (poll get_link); live = shareable; unpublished = not published; publishing = will be live soon (poll get_link); in_review = not available right now; removed = removed by moderation (see removed_reason, appeal_url)."
          },
          "status_message": {
            "type": "string"
          },
          "checkout_url": {
            "description": "Only with status unpublished: the page where the uploader can publish this link.",
            "type": "string"
          },
          "removed_reason": {
            "description": "Only with status removed: why, in plain words.",
            "type": "string"
          },
          "removed_category": {
            "description": "Only with status removed: the moderation category (malware, phishing, explicit, …); null when not disclosed.",
            "type": [
              "string",
              "null"
            ]
          },
          "appeal_url": {
            "description": "Only with status removed: mailto link to appeal to [email protected].",
            "type": "string"
          },
          "kind": {
            "type": "string",
            "description": "html | site | file | bundle | pending"
          },
          "title": {
            "type": "string"
          },
          "size_bytes": {
            "type": "number"
          },
          "file_count": {
            "type": "number"
          },
          "views": {
            "description": "View count; null when the link's account plan has no view counts, or the link has no account.",
            "type": [
              "number",
              "null"
            ]
          },
          "permanent": {
            "type": "boolean"
          },
          "password_protected": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "description": "ISO time the link stops working; null for permanent links."
          },
          "manage_url": {
            "description": "Private page to manage/delete the link. Only returned on creation; keep it secret.",
            "type": "string"
          },
          "manage_token": {
            "description": "Secret token for get_link/delete_link without an account. Only returned on creation.",
            "type": "string"
          }
        },
        "required": [
          "slug",
          "url",
          "status",
          "status_message",
          "kind",
          "title",
          "size_bytes",
          "file_count",
          "views",
          "permanent",
          "password_protected",
          "created_at",
          "expires_at"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "type": "number"
    },
    "next_offset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "links",
    "total",
    "next_offset"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🔴delete_link(slug, manage_token)

Permanently delete a link and its files. Account owners can delete their links; anonymous callers need the manage_token. This cannot be undone.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The link name, e.g. \"k3x9pq\" (a full https://putit.online/<name> URL also works)."
    },
    "manage_token": {
      "type": "string",
      "minLength": 10,
      "maxLength": 200,
      "description": "Secret manage token returned when the link was created (lets anonymous callers manage it)."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "deleted": {
      "type": "boolean"
    }
  },
  "required": [
    "slug",
    "deleted"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🔴set_password(slug, password)

Protect a link with a password (visitors must enter it), or pass null to remove it. Requires a connected account whose plan includes passwords; otherwise returns a subscription_required error.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The link name, e.g. \"k3x9pq\" (a full https://putit.online/<name> URL also works)."
    },
    "password": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 4,
          "maxLength": 200,
          "description": "Visitors must enter this password to open the link; available on plans with password protection."
        },
        {
          "type": "null"
        }
      ],
      "description": "New password, or null to remove protection."
    }
  },
  "required": [
    "slug",
    "password"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "The public link to share."
    },
    "status": {
      "type": "string",
      "enum": [
        "awaiting_upload",
        "checking",
        "live",
        "in_review",
        "unpublished",
        "publishing",
        "removed",
        "expired",
        "deleted"
      ],
      "description": "checking = not live yet (poll get_link); live = shareable; unpublished = not published; publishing = will be live soon (poll get_link); in_review = not available right now; removed = removed by moderation (see removed_reason, appeal_url)."
    },
    "status_message": {
      "type": "string"
    },
    "checkout_url": {
      "description": "Only with status unpublished: the page where the uploader can publish this link.",
      "type": "string"
    },
    "removed_reason": {
      "description": "Only with status removed: why, in plain words.",
      "type": "string"
    },
    "removed_category": {
      "description": "Only with status removed: the moderation category (malware, phishing, explicit, …); null when not disclosed.",
      "type": [
        "string",
        "null"
      ]
    },
    "appeal_url": {
      "description": "Only with status removed: mailto link to appeal to [email protected].",
      "type": "string"
    },
    "kind": {
      "type": "string",
      "description": "html | site | file | bundle | pending"
    },
    "title": {
      "type": "string"
    },
    "size_bytes": {
      "type": "number"
    },
    "file_count": {
      "type": "number"
    },
    "views": {
      "description": "View count; null when the link's account plan has no view counts, or the link has no account.",
      "type": [
        "number",
        "null"
      ]
    },
    "permanent": {
      "type": "boolean"
    },
    "password_protected": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "expires_at": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO time the link stops working; null for permanent links."
    },
    "manage_url": {
      "description": "Private page to manage/delete the link. Only returned on creation; keep it secret.",
      "type": "string"
    },
    "manage_token": {
      "description": "Secret token for get_link/delete_link without an account. Only returned on creation.",
      "type": "string"
    }
  },
  "required": [
    "slug",
    "url",
    "status",
    "status_message",
    "kind",
    "title",
    "size_bytes",
    "file_count",
    "views",
    "permanent",
    "password_protected",
    "created_at",
    "expires_at"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢make_permanent(slug)

Turn an expiring link into a permanent one (uses one of the plan's permanent slots; see get_account). Requires a connected account whose plan includes permanent links.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The link name, e.g. \"k3x9pq\" (a full https://putit.online/<name> URL also works)."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "The public link to share."
    },
    "status": {
      "type": "string",
      "enum": [
        "awaiting_upload",
        "checking",
        "live",
        "in_review",
        "unpublished",
        "publishing",
        "removed",
        "expired",
        "deleted"
      ],
      "description": "checking = not live yet (poll get_link); live = shareable; unpublished = not published; publishing = will be live soon (poll get_link); in_review = not available right now; removed = removed by moderation (see removed_reason, appeal_url)."
    },
    "status_message": {
      "type": "string"
    },
    "checkout_url": {
      "description": "Only with status unpublished: the page where the uploader can publish this link.",
      "type": "string"
    },
    "removed_reason": {
      "description": "Only with status removed: why, in plain words.",
      "type": "string"
    },
    "removed_category": {
      "description": "Only with status removed: the moderation category (malware, phishing, explicit, …); null when not disclosed.",
      "type": [
        "string",
        "null"
      ]
    },
    "appeal_url": {
      "description": "Only with status removed: mailto link to appeal to [email protected].",
      "type": "string"
    },
    "kind": {
      "type": "string",
      "description": "html | site | file | bundle | pending"
    },
    "title": {
      "type": "string"
    },
    "size_bytes": {
      "type": "number"
    },
    "file_count": {
      "type": "number"
    },
    "views": {
      "description": "View count; null when the link's account plan has no view counts, or the link has no account.",
      "type": [
        "number",
        "null"
      ]
    },
    "permanent": {
      "type": "boolean"
    },
    "password_protected": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "expires_at": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO time the link stops working; null for permanent links."
    },
    "manage_url": {
      "description": "Private page to manage/delete the link. Only returned on creation; keep it secret.",
      "type": "string"
    },
    "manage_token": {
      "description": "Secret token for get_link/delete_link without an account. Only returned on creation.",
      "type": "string"
    }
  },
  "required": [
    "slug",
    "url",
    "status",
    "status_message",
    "kind",
    "title",
    "size_bytes",
    "file_count",
    "views",
    "permanent",
    "password_protected",
    "created_at",
    "expires_at"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
⚪extend(slug)

Restart an expiring link's expiry clock (also brings back a recently expired link). Permanent links are unaffected. Requires a connected account whose plan includes extending.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The link name, e.g. \"k3x9pq\" (a full https://putit.online/<name> URL also works)."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "The public link to share."
    },
    "status": {
      "type": "string",
      "enum": [
        "awaiting_upload",
        "checking",
        "live",
        "in_review",
        "unpublished",
        "publishing",
        "removed",
        "expired",
        "deleted"
      ],
      "description": "checking = not live yet (poll get_link); live = shareable; unpublished = not published; publishing = will be live soon (poll get_link); in_review = not available right now; removed = removed by moderation (see removed_reason, appeal_url)."
    },
    "status_message": {
      "type": "string"
    },
    "checkout_url": {
      "description": "Only with status unpublished: the page where the uploader can publish this link.",
      "type": "string"
    },
    "removed_reason": {
      "description": "Only with status removed: why, in plain words.",
      "type": "string"
    },
    "removed_category": {
      "description": "Only with status removed: the moderation category (malware, phishing, explicit, …); null when not disclosed.",
      "type": [
        "string",
        "null"
      ]
    },
    "appeal_url": {
      "description": "Only with status removed: mailto link to appeal to [email protected].",
      "type": "string"
    },
    "kind": {
      "type": "string",
      "description": "html | site | file | bundle | pending"
    },
    "title": {
      "type": "string"
    },
    "size_bytes": {
      "type": "number"
    },
    "file_count": {
      "type": "number"
    },
    "views": {
      "description": "View count; null when the link's account plan has no view counts, or the link has no account.",
      "type": [
        "number",
        "null"
      ]
    },
    "permanent": {
      "type": "boolean"
    },
    "password_protected": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    },
    "expires_at": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "description": "ISO time the link stops working; null for permanent links."
    },
    "manage_url": {
      "description": "Private page to manage/delete the link. Only returned on creation; keep it secret.",
      "type": "string"
    },
    "manage_token": {
      "description": "Secret token for get_link/delete_link without an account. Only returned on creation.",
      "type": "string"
    }
  },
  "required": [
    "slug",
    "url",
    "status",
    "status_message",
    "kind",
    "title",
    "size_bytes",
    "file_count",
    "views",
    "permanent",
    "password_protected",
    "created_at",
    "expires_at"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_account

The connected account's plan, permanent-link slots used/available, size limit and features.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

输出模式

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string"
    },
    "plan": {
      "type": "string"
    },
    "plan_name": {
      "type": "string"
    },
    "subscribed": {
      "type": "boolean"
    },
    "permanent_links": {
      "type": "object",
      "properties": {
        "used": {
          "type": "number"
        },
        "limit": {
          "type": "number"
        }
      },
      "required": [
        "used",
        "limit"
      ],
      "additionalProperties": false
    },
    "total_links": {
      "type": "number"
    },
    "max_upload_bytes": {
      "type": "number"
    },
    "free_link_days": {
      "type": "number"
    },
    "features": {
      "type": "object",
      "properties": {
        "custom_slugs": {
          "type": "boolean"
        },
        "password_protection": {
          "type": "boolean"
        },
        "permanent_links": {
          "type": "boolean"
        },
        "view_counts": {
          "type": "boolean"
        },
        "replace_files": {
          "type": "boolean"
        }
      },
      "required": [
        "custom_slugs",
        "password_protection",
        "permanent_links",
        "view_counts",
        "replace_files"
      ],
      "additionalProperties": false
    },
    "upgrade_url": {
      "type": "string"
    },
    "dashboard_url": {
      "type": "string"
    }
  },
  "required": [
    "email",
    "plan",
    "plan_name",
    "subscribed",
    "permanent_links",
    "total_links",
    "max_upload_bytes",
    "free_link_days",
    "features",
    "upgrade_url",
    "dashboard_url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本10 个工具