REST API · v1.6.8

Construye sobre tu
foro con la REST API

Cada instalación de RaxBoard incluye una REST API autenticada con Bearer. Emite claves con ámbitos y lee y escribe foros, temas, mensajes, miembros, mensajes privados y moderación — todo por HTTP.

# URL base
https://your-forum.com/api/v1

Especificación OpenAPI

Un documento OpenAPI 3.1 legible por máquina describe cada endpoint, ámbito y esquema. Apunta Swagger UI, Postman o un generador de SDK a la especificación de tu foro, o explórala de forma interactiva abajo.

https://your-forum.com/api/openapi.json

Autenticación

Envía tu clave como token Bearer en la cabecera Authorization. Todos los endpoints bajo /api/v1 la requieren; las peticiones sin una clave válida devuelven 401.

Authorization: Bearer <YOUR_API_KEY>

Obtener una clave API

Las claves se crean dentro de tu foro, nunca en raxboard.com:

  • Los miembros con permiso crean sus claves en Cuenta → Claves API.
  • Los administradores emiten claves para cualquier miembro desde el Panel de administración → Claves API.
  • El token secreto se muestra una sola vez al crearlo — guárdalo de forma segura, no se puede recuperar.

Ámbitos

Cada clave lleva uno o más ámbitos. Los ámbitos amplios (read, write, admin) incluyen sus miembros más específicos; los mensajes privados y las acciones de administración requieren su ámbito explícito.

ÁmbitoNombreDescripción
*Acceso totalTodo lo de abajo. Concédelo solo a integraciones de plena confianza.
readLecturaLeer foros, temas, mensajes y usuarios públicos.
writeEscrituraTodas las acciones de escritura no administrativas (mensaje, tema, reacción, edición).
thread:writeCrear temasAbrir nuevos temas.
post:writeCrear mensajesResponder a temas.
post:manageGestionar mensajesEditar y eliminar mensajes.
react:writeReaccionarAñadir o quitar reacciones.
conversation:readLeer mensajesLeer las conversaciones privadas del propietario.
conversation:writeEnviar mensajesIniciar y responder conversaciones privadas.
tokenGestionar claves APIListar y revocar tus propias claves API.
adminAdministraciónTodas las acciones administrativas de abajo.
admin:usersGestionar usuariosBanear, desbanear y gestionar cuentas de miembros.
admin:contentModerar contenidoModerar temas y mensajes.

Límite de tasa

Cada clave tiene un límite de peticiones por minuto (60 por defecto). Las respuestas llevan cabeceras de límite; superarlo devuelve HTTP 429 con Retry-After.

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 1750000000
Retry-After: 42

Respuestas y errores

Las respuestas correctas se envuelven en { success: true, data: ... }. Los errores devuelven un envoltorio coherente con un código legible por máquina y un mensaje humano, más el estado HTTP adecuado.

{ "success": false, "error": { "code": "insufficient_scope", "message": "Requires scope: post:write" } }

Referencia de endpoints

87 endpoints
Descubrimiento
GET/api/v1read
POST/api/v1/authread
Foros
GET/api/v1/forumsread
GET/api/v1/forums/{id}read
Temas
GET/api/v1/threadsread
POST/api/v1/threadsthread:write
GET/api/v1/threads/{id}read
GET/api/v1/threads/{id}/postsread
Mensajes
GET/api/v1/postsread
POST/api/v1/postspost:write
GET/api/v1/posts/{id}read
PUT/api/v1/posts/{id}post:manage
DELETE/api/v1/posts/{id}post:manage
POST/api/v1/posts/{id}/reactreact:write
Usuarios
GET/api/v1/usersread
GET/api/v1/users/meread
GET/api/v1/users/{id}read
Notificaciones y búsqueda
GET/api/v1/notifications/alertsread
GET/api/v1/searchread
Mensajes privados
GET/api/v1/messagesconversation:read
POST/api/v1/messagesconversation:write
GET/api/v1/messages/{id}conversation:read
POST/api/v1/messages/{id}/replyconversation:write
Administración
POST/api/v1/admin/users/{id}/banadmin:users
POST/api/v1/admin/users/{id}/unbanadmin:users
POST/api/v1/admin/threads/{id}/deleteadmin:content
POST/api/v1/admin/threads/{id}/restoreadmin:content
POST/api/v1/admin/posts/{id}/deleteadmin:content
POST/api/v1/admin/posts/{id}/approveadmin:content
Notificaciones y reacciones
POST/api/v1/notifications/alerts/{id}/readwrite
POST/api/v1/notifications/alerts/read-allwrite
GET/api/v1/notifications/alerts/countread
GET/api/v1/reactionsread
DELETE/api/v1/posts/{id}/reactreact:write
Marcadores
POST/api/v1/threads/{id}/bookmarkwrite
POST/api/v1/posts/{id}/bookmarkwrite
GET/api/v1/users/me/bookmarksread
GET/api/v1/users/me/bookmarks/labelsread
Seguir, muros, ignorar y bloquear
POST/api/v1/users/{id}/followwrite
DELETE/api/v1/users/{id}/followwrite
GET/api/v1/users/{id}/followersread
GET/api/v1/users/{id}/followingread
GET/api/v1/users/{id}/wallread
POST/api/v1/users/{id}/wallwrite
POST/api/v1/users/{id}/ignorewrite
DELETE/api/v1/users/{id}/ignorewrite
POST/api/v1/users/{id}/blockwrite
DELETE/api/v1/users/{id}/blockwrite
Seguir y marcar leído
POST/api/v1/threads/{id}/watchwrite
DELETE/api/v1/threads/{id}/watchwrite
POST/api/v1/forums/{id}/readwrite
POST/api/v1/forums/read-allwrite
Etiquetas, prefijos y encuestas
GET/api/v1/tagsread
GET/api/v1/tags/{slug}/threadsread
GET/api/v1/forums/{id}/prefixesread
GET/api/v1/polls/{id}read
POST/api/v1/polls/{id}/votewrite
DELETE/api/v1/polls/{id}/votewrite
Reportes y denuncias
POST/api/v1/threads/{id}/reportwrite
POST/api/v1/posts/{id}/reportwrite
GET/api/v1/admin/reportsadmin:content
POST/api/v1/admin/reports/{id}/resolveadmin:content
Adjuntos
POST/api/v1/attachmentswrite
GET/api/v1/attachments/{id}read
Autoservicio de cuenta
PUT/api/v1/users/mewrite
GET/api/v1/users/me/preferencesread
PUT/api/v1/users/me/preferenceswrite
PUT/api/v1/users/me/custom-fields/{field_id}write
GET/api/v1/users/me/ignoredread
GET/api/v1/users/me/tokenstoken
DELETE/api/v1/users/me/tokens/{id}token
Directorio y estadísticas
GET/api/v1/users/onlineread
GET/api/v1/user-groupsread
GET/api/v1/user-groups/{id}/membersread
GET/api/v1/nodesread
GET/api/v1/statsread
Eventos, clubes y borradores
GET/api/v1/eventsread
POST/api/v1/events/{id}/rsvpwrite
GET/api/v1/clubsread
POST/api/v1/clubs/{id}/joinwrite
GET/api/v1/users/me/drafts/{key}read
POST/api/v1/users/me/drafts/{key}write
Tiempo real
POST/api/v1/broadcast/authread
GET/api/v1/broadcast/pollread
GET/api/v1/presence/thread/{thread_id}read
GET/api/v1/presence/onlineread
POST/api/v1/push/subscriberead

Ejemplos de código

Reemplaza your-forum.com por tu propio dominio y YOUR_API_KEY por una clave que hayas creado.

curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://your-forum.com/api/v1/users/me

Webhooks

Además de la REST API, tu foro puede enviar webhooks firmados con HMAC a servicios externos cuando ocurren eventos — configúralos en Panel de administración → Webhooks.

Esta referencia se aplica a la API de tu propia instalación de RaxBoard. Volver a la documentación →