The paste.sr.ht API allows you to browse and create pastes on paste.sr.ht programmatically. This API follows the standard sourcehut API conventions.

Authentication

Authentication is done via the meta.sr.ht OAuth flow. The following OAuth scopes are available for paste.sr.ht:

  • pastes:read, pastes:write: read & write paste resources
Resources
Paste resource
{
  "created": "timestamp",
  "sha": "id of this paste (SHA-1 hash)",
  "user": { short-form user resource },
  "visibility": "access level",
  "files": [
    {
      "filename": "filename" or null,
      "blob_id": "id of this blob (SHA-1 hash)"
    }, ...
  ]
}
Blob resource
{
  "created": "timestamp",
  "sha": "id of this blob (SHA-1 hash)",
  "contents": "contents of this blob"
}
Endpoints
GET /api/pastes

List of paste resources.

OAuth scope: pastes:read

POST /api/pastes

Create a new paste resource.

OAuth scope: pastes:write

Request body

{
  "visibility": "access level",
  "files": [
    {
      "filename": "filename" or null, (optional)
      "contents": "contents of this file"
    }
  ]
}
  • contents must be a UTF-8 encoded string; binary files are not allowed
  • visibility must be one of "public", "private", or "unlisted"

Response

The new paste resource.

GET /api/pastes/:sha

Retrieves a paste resource.

OAuth scope: pastes:read

DELETE /api/pastes/:sha

Deletes a paste resource.

OAuth scope: pastes:write

GET /api/blobs/:sha

Retrieves a blob resource.

OAuth scope: pastes:read

About this wiki

commit 267a92d91115d0b1925b8dca3528bb3ceb95977e
Author: Simon Ser <contact@emersion.fr>
Date:   2024-04-18T20:49:49+00:00

builds.sr.ht/compatibility: drop FreeBSD maintainership
Clone this wiki
https://git.sr.ht/~sircmpwn/sr.ht-docs (read-only)
git@git.sr.ht:~sircmpwn/sr.ht-docs (read/write)