Pular para o conteúdo
Offer! Grab your .com from $5.98 with Namecheap. Get started →

Documentação da API

Use a API do PasteBox para criar e recuperar pastes de forma programática.

URL base

https://pastebox.io/api/paste.php

Autenticação

Chave de API (recomendada para scripts)

Usuários cadastrados podem gerar chaves de API em seu Perfil → Chaves de API. A chave autentica a requisição como você, sem precisar de cookie de sessão nem de token CSRF. Envie-a no cabeçalho Authorization (ou no cabeçalho X-API-Key):

Authorization: Bearer pb_your_api_key

As chaves são vinculadas à conta e têm limite de requisições por chave. Você pode pausar ou excluir uma chave a qualquer momento; um administrador pode desativar chaves individuais ou a API inteira.

Sessão do navegador (token CSRF)

Já as requisições feitas a partir de uma sessão logada no navegador usam um token CSRF, lido da tag presente em todas as páginas e enviado como cabeçalho:

X-CSRF-Token: your_csrf_token

Endpoints somente leitura (obter um paste e seu conteúdo bruto) não exigem chave nem conta. Por exemplo, obtenha qualquer paste público como texto simples:

curl -s -H "Authorization: Bearer pb_your_api_key" \ -d '{"content":"hello","syntax":"text"}' \ https://pastebox.io/api/paste.php?action=create

Criar paste

POST /api/paste.php?action=create

Parâmetros

Parâmetro Tipo Obrigatório Descrição
content string Sim O conteúdo do paste
title string Não Título do paste (padrão: "Untitled")
syntax string Não Slug da linguagem de sintaxe (padrão: "plaintext")
expiration string Não Expiração: 5min, 10min, 1hour, 1day, 1week, 2weeks, 1month, 6months, 1year, never
visibility string Não public, unlisted ou private (padrão: "public")
slug string Não Slug de URL personalizada (somente para usuários logados e apenas quando o administrador tiver ativado URLs personalizadas): 3–64 caracteres, letras minúsculas/números/hifens. É ignorado para visitantes, quando o recurso está desativado ou se o slug já estiver em uso ou for inválido; nesse caso, é usado um slug aleatório.
password string Não Senha para proteger o paste
burn_after_read boolean Não Excluir o paste após a primeira visualização
encrypt boolean Não Ativar criptografia no servidor

Exemplo de requisição

curl -X POST https://pastebox.io/api/paste.php?action=create \
  -H "Content-Type: application/json" \
  -H "X-CSRF-Token: YOUR_TOKEN" \
  -d '{
    "content": "console.log(\"Hello World\");",
    "title": "Hello World",
    "syntax": "javascript",
    "expiration": "1week",
    "visibility": "public"
  }'

Exemplo de resposta

{
  "success": true,
  "message": "Paste created successfully.",
  "url": "https://pastebox.io/paste/abc123",
  "slug": "abc123"
}

Obter paste bruto

GET /api/paste.php?action=raw&slug={slug}

Retorna o conteúdo de texto bruto de um paste. Para pastes protegidos por senha, envie a senha como parâmetro de consulta.

Exemplo

curl https://pastebox.io/api/paste.php?action=raw&slug=abc123

Baixar paste

GET /api/paste.php?action=download&slug={slug}

Baixa o paste como arquivo, com a extensão adequada de acordo com a linguagem da sintaxe.

Excluir paste

POST /api/paste.php?action=delete

Exclui um paste. Disponível apenas para o dono do paste ou para administradores.

Exemplo de requisição

curl -X POST https://pastebox.io/api/paste.php?action=delete \
  -H "Content-Type: application/json" \
  -H "X-CSRF-Token: YOUR_TOKEN" \
  -d '{"slug": "abc123"}'

Limites de requisições

  • Requisições com chave de API: 1000 por hora por chave (definido pelo administrador do site; um erro 429 é retornado quando o limite é excedido).
  • Criação de pastes por visitantes (sem chave/sessão): 10 pastes por hora por IP. Usuários logados não têm limite de criação por IP.
  • Tentativas de desbloqueio por senha: 10 a cada 10 minutos por paste.
  • Denúncias: 5 por hora por IP.
  • Endpoints somente leitura (visualizar / bruto / baixar) não têm limite de requisições.

Quando um limite é excedido, a requisição é rejeitada; aguarde antes de tentar novamente.

Respostas de erro

Todas as respostas de erro seguem este formato:

{
  "success": false,
  "message": "Error description here."
}

Usamos cookies para manter você conectado, lembrar suas preferências e entender como o site é usado. Você pode aceitar todos os cookies ou manter apenas os essenciais, necessários para o funcionamento do site. Saiba mais