Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 

Repository files navigation

API Requests

Base URL

https://paste.flex.pm/api/v1

Rate Limits

  • POST /pastes → 20 req/min per IP
  • GET /pastes → 10 req/min per IP

Headers in every response:

  • X-RateLimit-Limit
  • X-RateLimit-Remaining
  • X-RateLimit-Reset

Authentication

No authentication required. All endpoints are public (with rate limits).


Endpoints

1. Create Paste

POST /pastes

FieldTypeRequiredNotes
contentstringPaste text (1MB)
titlestringMax 100 chars
languagestringSyntax highlighting
visibilitystringpublic, unlisted, private
burnAfterReadbooleanDelete after first view
expirationstringnever, 1hour, 1day, 1week, 1month
passwordstringProtect paste
maxViewsnumber1–1000 views

Example:

curl -X POST https://paste.flex.pm/api/v1/pastes \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Hello World",
    "content": "console.log(\"Hello, World!\");",
    "language": "javascript",
    "visibility": "public",
    "expiration": "1week"
  }'

2. Retrieve Paste

GET /pastes?id={pasteId}

Param Type Required Description
id string Paste ID

Example:

curl "https://paste.flex.pm/api/v1/pastes?id=abc123def"

Error Codes

Code Meaning
INVALID_JSON Bad JSON body
EMPTY_BODY Request body missing
VALIDATION_ERROR Missing/invalid fields
CONTENT_TOO_LARGE Exceeds 1MB
TITLE_TOO_LONG Title >100 chars
INVALID_EXPIRATION Wrong expiration value
RATE_LIMIT_EXCEEDED Too many requests
MISSING_ID Paste ID required
PASTE_NOT_FOUND Paste does not exist
PASTE_EXPIRED Paste expired
PASTE_BURNED Burn-after-read triggered
MAX_VIEWS_REACHED View limit hit
DATABASE_ERROR DB issue

Examples

Simple text

curl -X POST https://paste.flex.pm/api/v1/pastes \
  -H "Content-Type: application/json" \
  -d '{"content": "My notes"}'

Code snippet

-d '{
  "title": "React Component",
  "content": "function App(){return <div>Hello</div>}",
  "language": "javascript"
}'

Private + password

-d '{
  "content": "api_key=secret123",
  "visibility": "private",
  "password": "mypassword"
}'

Burn after read

-d '{
  "content": "One-time secret",
  "burnAfterRead": true
}'

Limited views

-d '{
  "content": "5-view paste",
  "maxViews": 5
}'

Supported Languages

FlexPaste supports 90+ languages and formats.

  • Web: javascript, typescript, jsx, tsx, html, css, scss
  • General: python, java, csharp, cpp, c, go, rust, php, ruby, swift
  • Functional: haskell, clojure, elixir, erlang, fsharp, ocaml
  • Shell & Scripts: bash, zsh, powershell, batch
  • Data/Config: json, yaml, toml, ini, xml, csv
  • Database: sql, plsql, mongodb
  • Docs: markdown, latex, asciidoc
  • DevOps: docker, terraform, kubernetes, nginx, apache
  • Other: regex, diff, git, protobuf, graphql, solidity, wasm, assembly
  • Scientific/Legacy: r, matlab, julia, fortran, cobol, pascal

👉 For plain text, use text or leave language empty.


Client Examples

Node.js

const res = await fetch("https://paste.flex.pm/api/v1/pastes", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ content: "console.log('Hello')" })
});
console.log(await res.json());

Python

import requests
res = requests.post("https://paste.flex.pm/api/v1/pastes", json={
  "content": "print('Hello')"
})
print(res.json())

About

For FlexPaste api request

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages