Endpoints
Listar seus apps
Os apps que a sua chave pode ver, do mais novo ao mais antigo, com busca e páginas.
https://www.setherion.com/api/v1/projectsPlano: Qualquer plano
Retorna os apps do seu painel: os seus, os dos espaços de trabalho de que você faz parte e os compartilhados com você, os alterados mais recentemente primeiro. Apps excluídos não são incluídos. Qualquer função basta, inclusive viewers.
Os apps vêm de 100 em 100. total diz quantos correspondem, e enquanto houver mais, truncated é true e nextOffset diz onde a próxima página começa. Para achar um app sem ler todos, busque com q.
Listar é grátis e não usa créditos.
Solicitação
curl https://www.setherion.com/api/v1/projects \
-H "Authorization: Bearer $SETHERION_API_KEY"Para buscar, adicione q. Ele encontra as palavras em qualquer parte do nome ou da descrição de um app, em maiúsculas ou minúsculas:
curl "https://www.setherion.com/api/v1/projects?q=coffee" \
-H "Authorization: Bearer $SETHERION_API_KEY"Para a próxima página, adicione offset com o nextOffset da resposta anterior:
curl "https://www.setherion.com/api/v1/projects?offset=100" \
-H "Authorization: Bearer $SETHERION_API_KEY"| Parâmetro | Significado |
|---|---|
q | Opcional. Texto a procurar no nome ou na descrição do app. Espaços em volta dele são ignorados. Até 100 caracteres. Um % ou _ nele é tratado literalmente, então buscar por 50% não encontra todos os apps. |
offset | Opcional. Onde a página começa, contando a partir de 0: o nextOffset da resposta anterior. Um número inteiro de até seis dígitos. |
A ordem é pela última alteração, com o id do app desempatando, então dois apps alterados no mesmo instante nunca trocam de lugar de uma página para a seguinte. Um app alterado entre duas solicitações de página vai para o topo da lista, então leia as páginas de uma vez só.
Resposta
A primeira página de uma conta com mais de 100 apps:
{
"ok": true,
"total": 142,
"truncated": true,
"offset": 0,
"nextOffset": 100,
"projects": [
{
"id": "7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14",
"name": "Coffee shop",
"description": "Website for a coffee shop in Leeds",
"url": "https://coffee-shop.setherion.app",
"updatedAt": "2026-09-19T10:42:07.000Z"
},
{
"id": "0e9d3b6a-41c2-4d7f-b8a5-6f1c2a9d4e30",
"name": "Booking tool",
"description": null,
"url": null,
"updatedAt": "2026-09-18T16:03:51.000Z"
}
]
}(A lista projects contém até 100 entradas. Duas são mostradas.)
| Campo | Tipo | Significado |
|---|---|---|
total | number | Quantos apps correspondem, inclusive os que não estão nesta página. |
truncated | boolean | true quando há mais apps depois desta página. |
offset | number | Onde esta página começa. |
nextOffset | number or null | Onde a próxima página começa, ou null na última. |
id | string | O id do app. Use-o para editar ou publicar o app. |
name | string | O nome do app, como no seu painel. |
description | string or null | A descrição do app, se ele tiver uma. |
url | string or null | Onde o app está no ar, ou null se não estiver publicado. |
updatedAt | string | Quando o app mudou pela última vez, em ISO 8601. |
Uma página além do fim não é um erro: ela responde ok: true com uma lista projects vazia.
Leia todas as páginas
const base = 'https://www.setherion.com/api/v1/projects'
const headers = { Authorization: `Bearer ${process.env.SETHERION_API_KEY}` }
let offset = 0
const all = []
while (offset !== null) {
const page = await fetch(`${base}?offset=${offset}`, { headers }).then(r => r.json())
if (!page.ok) throw new Error(page.error)
all.push(...page.projects)
offset = page.nextOffset
}Erros
| Status | Quando |
|---|---|
400 | q tem mais de 100 caracteres, ou offset não é um número inteiro. |
401 | A chave está ausente, errada ou revogada. |
500 | A lista não pôde ser lida. Tente de novo. |
As frases exatas
| Status | error |
|---|---|
400 | q is at most 100 characters. |
400 | offset is a whole number, 0 or more. |
500 | Could not list your apps. |
Esta página foi útil?
