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

#Webhooks
#/api/pastes/...

Webhook for paste events. Includes the standard webhook endpoints

#paste:create

Issued when a new paste is created.

OAuth scope: pastes:read

#paste:delete

Issued when a paste is deleted.

OAuth scope: pastes:read

Request body

Affected paste resource.

About this wiki

commit 20a59da64e2177e4516596f20100fbb69d82e520
Author: Drew DeVault <sir@cmpwn.com>
Date:   2020-11-24T11:15:33-05:00

Add API configuration to installation docs
Clone this wiki
https://git.sr.ht/~sircmpwn/sr.ht-docs (read-only)
git@git.sr.ht:~sircmpwn/sr.ht-docs (read/write)