Introducción
La API Pública de Rol Nacional de Audiencias es un servicio web que permite consultar información sobre audiencias judiciales programadas en todo el territorio nacional de manera programática. Esta API proporciona acceso a datos de audiencias, calendarios, tribunales, salas y otros recursos relacionados con el sistema judicial.
Propósito
Esta API está diseñada para facilitar el acceso a información pública sobre audiencias judiciales, permitiendo a desarrolladores, instituciones y ciudadanos consultar datos de forma automatizada y eficiente. El sistema soporta búsquedas avanzadas por distrito judicial, tribunal, sala, materia, modalidad, fechas y más.
Información General
| Versión | 1.0 |
| Protocolo | HTTPS |
| Formato de Respuesta | JSON |
| Framework | .NET 8.0 |
| Autenticación | No requiere (API pública) |
| Documentación Interactiva | Swagger UI |
Requisitos Previos
Para utilizar esta API, necesitará:
- Conexión a Internet: Acceso estable a la red
- Cliente HTTP: Cualquier herramienta capaz de realizar peticiones HTTP (curl, Postman, navegador web, etc.)
- Conocimientos básicos de:
- Peticiones HTTP (GET y POST)
- Formato JSON
- Manejo de respuestas paginadas
Endpoints Disponibles
1. Obtener Rol de Audiencias
Consulta el rol de audiencias con filtros avanzados y paginación.
Parámetros del Body (JSON)
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
IdDistritoJudicial |
integer | Opcional | ID del distrito judicial |
IdCategoriaTribunal |
integer | Opcional | ID de la categoria del tribunal |
IdMateria |
integer | Opcional | ID de la materia (Civil, Penal, etc.) |
IdTribunal |
integer | Opcional | ID del tribunal |
IdSala |
integer | Opcional | ID de la sala |
IdModalidad |
integer | Opcional | ID de la modalidad (Presencial, Virtual, etc.) |
IdEstatus |
integer | Opcional | ID del estado de la audiencia |
IdTipoConsulta |
integer | Opcional | ID del tipo de consulta |
TipoConsulta |
string | Opcional | Descripcion del tipo de consulta |
FechaDesde |
datetime | Opcional | Fecha inicial del rango de búsqueda |
FechaHasta |
datetime | Opcional | Fecha final del rango de búsqueda |
PaginaActual |
integer | Opcional | Número de página a consultar |
RegistrosPorPagina |
integer | Opcional | Cantidad de registros por página |
Respuesta Exitosa
{
"paginaActual": 1,
"totalPaginas": 5,
"registrosPorPagina": 20,
"totalRegistros": 100,
"pendientes": 25,
"enCurso": 15,
"recesadas": 10,
"conocidas": 50,
"datos": [
{
"idAudiencia": 12345,
"idModalidad": 1,
"idEstadoRolAudiencia": 2,
"rolNumero": 1,
"fechaAudiencia": "10/11/2025",
"fechaDate": "2025-11-10T00:00:00",
"horaAudiencia": "09:00 AM",
"nuc": "2024-0001234-CIVIL",
"distritoJudicial": "Distrito Nacional",
"categoriaTribunal": "Primera Instancia",
"tribunal": "Juzgado de Primera Instancia Civil",
"sala": "Sala 1",
"modalidad": "Presencial",
"urlAudiencia": null,
"direccionSala": "Calle Principal #123",
"estadoRolAudiencia": "Pendiente",
"partes": "Juan Perez vs Maria Gomez",
"tipoResultado": "Audiencia Preliminar",
"materia": "Civil"
}
]
}
2. Obtener Calendario de Audiencias
Consulta el calendario de audiencias de una sala específica.
Parámetros Query
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
IdSala |
integer | Si | ID de la sala (debe ser mayor a 0) |
3. Obtener Distritos Judiciales
Retorna la lista de todos los distritos judiciales disponibles.
No requiere parámetros.
4. Obtener Categorías de Tribunales
Retorna las categorías de tribunales filtradas por distrito judicial.
Parámetros Query
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
IdDistritoJudicial |
integer | Si | ID del distrito judicial |
5. Obtener Materias
Retorna la lista de todas las materias judiciales disponibles.
No requiere parámetros.
6. Obtener Tribunales
Retorna tribunales filtrados por criterios específicos.
Acepta parámetros en el body (JSON) similares al endpoint de rol de audiencias.
7. Obtener Salas
Retorna salas filtradas por criterios específicos.
Acepta parámetros en el body (JSON) similares al endpoint de rol de audiencias.
8. Obtener Modalidades
Retorna la lista de todas las modalidades de audiencias disponibles (Presencial, Virtual, etc.).
No requiere parámetros.
9. Obtener Estados de Rol de Audiencias
Retorna la lista de todos los estados posibles de las audiencias (Pendiente, En Curso, Conocida, etc.).
No requiere parámetros.
10. Obtener Tipos de Consultas
Retorna la lista de tipos de consultas disponibles.
No requiere parámetros.
Ejemplos de Uso
Ejemplo 1: Consulta de Rol de Audiencias con curl
curl -X POST "https://api.poderjudicial.gob.do/RolAudiencias/api/Audiencias/RolAudiencias" \
-H "Content-Type: application/json" \
-d '{
"IdDistritoJudicial": 1,
"IdMateria": 2,
"FechaDesde": "2025-11-01",
"FechaHasta": "2025-11-30",
"PaginaActual": 1,
"RegistrosPorPagina": 20
}'
Ejemplo 2: Consulta con JavaScript (Fetch API)
const obtenerRolAudiencias = async (filtros) => {
const url = 'https://api.poderjudicial.gob.do/RolAudiencias/api/Audiencias/RolAudiencias';
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(filtros)
});
if (!response.ok) {
throw new Error(`Error HTTP: ${response.status}`);
}
const data = await response.json();
console.log('Audiencias:', data);
return data;
} catch (error) {
console.error('Error al consultar audiencias:', error);
}
};
// Uso
const filtros = {
IdDistritoJudicial: 1,
IdMateria: 2,
FechaDesde: '2025-11-01',
FechaHasta: '2025-11-30',
PaginaActual: 1,
RegistrosPorPagina: 20
};
obtenerRolAudiencias(filtros);
Ejemplo 3: Consulta con Python (requests)
import requests
from datetime import datetime
def obtener_rol_audiencias(filtros):
url = "https://api.poderjudicial.gob.do/RolAudiencias/api/Audiencias/RolAudiencias"
try:
response = requests.post(url, json=filtros)
response.raise_for_status()
data = response.json()
print(f"Total de registros: {data['totalRegistros']}")
print(f"Total de paginas: {data['totalPaginas']}")
print(f"Pendientes: {data['pendientes']}")
print(f"En Curso: {data['enCurso']}")
return data
except requests.exceptions.RequestException as e:
print(f"Error al consultar la API: {e}")
return None
# Uso
filtros = {
'IdDistritoJudicial': 1,
'IdMateria': 2,
'FechaDesde': '2025-11-01',
'FechaHasta': '2025-11-30',
'PaginaActual': 1,
'RegistrosPorPagina': 20
}
audiencias = obtener_rol_audiencias(filtros)
Ejemplo 4: Consulta con C# (.NET)
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
public class RolAudienciasClient
{
private readonly HttpClient _httpClient;
public RolAudienciasClient()
{
_httpClient = new HttpClient();
}
public async Task<PaginacionResponse<RolAudienciaResponse>> ObtenerRolAudiencias(
RolAudienciaRequest request)
{
var url = "https://api.poderjudicial.gob.do/RolAudiencias/api/Audiencias/RolAudiencias";
try
{
var jsonContent = JsonSerializer.Serialize(request);
var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
var response = await _httpClient.PostAsync(url, content);
response.EnsureSuccessStatusCode();
var responseContent = await response.Content.ReadAsStringAsync();
var resultado = JsonSerializer.Deserialize<PaginacionResponse<RolAudienciaResponse>>(
responseContent);
Console.WriteLine($"Total de registros: {resultado.TotalRegistros}");
Console.WriteLine($"Pendientes: {resultado.Pendientes}");
Console.WriteLine($"En Curso: {resultado.EnCurso}");
return resultado;
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
return null;
}
}
}
// Uso
var client = new RolAudienciasClient();
var request = new RolAudienciaRequest
{
IdDistritoJudicial = 1,
IdMateria = 2,
FechaDesde = new DateTime(2025, 11, 1),
FechaHasta = new DateTime(2025, 11, 30),
PaginaActual = 1,
RegistrosPorPagina = 20
};
var resultado = await client.ObtenerRolAudiencias(request);
Ejemplo 5: Obtener Distritos y Materias (GET)
// JavaScript - Obtener distritos
const obtenerDistritos = async () => {
const response = await fetch('https://api.poderjudicial.gob.do/RolAudiencias/api/Distritos');
const distritos = await response.json();
console.log('Distritos:', distritos);
};
// JavaScript - Obtener materias
const obtenerMaterias = async () => {
const response = await fetch('https://api.poderjudicial.gob.do/RolAudiencias/api/Materias');
const materias = await response.json();
console.log('Materias:', materias);
};
obtenerDistritos();
obtenerMaterias();
Códigos de Estado HTTP
La API utiliza los siguientes códigos de estado HTTP estándar:
| Código | Descripción | Situación |
|---|---|---|
| 200 OK | Solicitud exitosa | Los datos se devolvieron correctamente |
| 400 | Bad Request | Los parámetros enviados son incorrectos o incompletos |
| 404 | Not Found | No se encontraron resultados para los parámetros especificados |
| 429 | Too Many Requests | Se excedió el límite de peticiones permitidas |
| 500 | Internal Server Error | Ocurrió un error interno en el servidor |
Limitación de Peticiones
La API implementa un sistema de limitación de peticiones (Rate Limiting) para garantizar un uso equitativo del servicio.
Límites Actuales
- Límite: 100 peticiones por minuto
- Ventana de tiempo: 1 minuto
- Identificación: Por dirección IP o API Key (si se proporciona mediante header
X-Api-Key)
Comportamiento al Exceder el Límite
Cuando se excede el límite de peticiones:
- Código de respuesta: 429 Too Many Requests
- Mensaje de error:
{
"error": "Ha superado el límite de peticiones permitidas."
}
Manejo de Errores
Error 400 - Parámetros Inválidos
{
"message": "Se debe enviar una sala",
"codigoError": 400
}
Solución: Verifique que todos los parámetros requeridos estén presentes y cumplan con las validaciones.
Error 404 - Sin Resultados
{
"data": [],
"mensaje": "No se encontraron datos."
}
Solución: Verifique los filtros de búsqueda y ajuste los criterios para obtener resultados.
Error 500 - Error del Servidor
{
"message": "Descripción del error interno"
}
Solución: Si persiste el error, contacte al equipo de soporte técnico del Poder Judicial.
Estructura de Paginación
La API utiliza un sistema de paginación que incluye información adicional sobre los estados de las audiencias:
| Campo | Tipo | Descripción |
|---|---|---|
paginaActual |
integer | Página actual que se está visualizando |
totalPaginas |
integer | Total de páginas disponibles |
registrosPorPagina |
integer | Cantidad de registros en esta página |
totalRegistros |
integer | Total de registros encontrados |
pendientes |
integer | Cantidad de audiencias pendientes |
enCurso |
integer | Cantidad de audiencias en curso |
recesadas |
integer | Cantidad de audiencias recesadas |
conocidas |
integer | Cantidad de audiencias conocidas |
datos |
array | Lista de audiencias |
Glosario
| API | Application Programming Interface (Interfaz de Programación de Aplicaciones) |
| NUC | Número Único de Caso |
| JSON | JavaScript Object Notation (formato de intercambio de datos) |
| HTTP | Hypertext Transfer Protocol |
| HTTPS | HTTP Seguro |
| Rate Limiting | Limitación de peticiones por unidad de tiempo |
| Endpoint | Punto de acceso de la API |
| Query Parameter | Parámetro enviado en la URL de la petición |
| Paginación | Dividir resultados en múltiples páginas |
| Rol de Audiencias | Lista ordenada de audiencias programadas |
| Distrito Judicial | Division territorial del sistema judicial |
| Materia | Área del derecho (Civil, Penal, Laboral, etc.) |
| Modalidad | Forma en que se realiza la audiencia (Presencial, Virtual, etc.) |




