Skip to main content

API

Mawidabp exposes a REST JSON API to query findings (issues and improvement opportunities) from external systems. The API is read-only and is designed for integrations with BI tools, CMDBs, ticketing systems, or corporate dashboards.

Base URL

Each organization has its own subdomain:

https://<organization>.mawidabp.com/api/v1

For example, for an organization named demo:

https://demo.mawidabp.com/api/v1

Authentication

All endpoints use JWT (JSON Web Token). The token is sent in the Authorization header with the Bearer prefix:

Authorization: Bearer <jwt_token>

The token is obtained from Mawidabp (the same place used for Power BI): Follow-up → Findings → Link section. The user's profile must have permission to view the token.

Authentication errors

CodeMessageDescription
401Invalid tokenThe provided token is invalid.
401Expired tokenThe token expired and must be renewed.

Example error response:

{
"error": "Invalid token"
}

Endpoints

GET /api/v1/:completion_state/findings

Returns findings (issues and opportunities) filtered by completion state.

Path parameters

ParameterTypeRequiredValuesDescription
completion_statestringyescomplete, incompleteFilter by state.

Statuses grouped by completion_state

incomplete returns findings in:

  • Being implemented
  • Not confirmed
  • Confirmed
  • No response
  • Implemented
  • Notify

complete returns findings in:

  • Implemented / Audited
  • Dismissed / Not applicable
  • Risk assumed
  • Differs in criteria

Response

200 OK, JSON array where each element is a finding.

FieldTypeDescription
InformestringReview identification.
ProyectostringPlan project name.
Fecha de emisiónstringReport issue date (DD/MM/YY).
ActastringFinal audit report summary / minutes.
Unidad organizativastringOrganizational unit name.
Unidad de negociostringBusiness unit name.
CódigostringUnique finding code.
IdstringNumeric identifier.
EtiquetasstringTags separated by commas.
TítulostringFinding title.
Observación / OportunidadstringDetailed description.
EstadostringCurrent status (see status table).
RiesgostringAlto, Medio, or Bajo.
PrioridadstringAlta, Media, or Baja.
EfectostringEffect or impact.
ResponsablestringProcess responsible parties.
AuditadosstringAssigned auditees.
AuditoresstringAssigned auditors.
Buena prácticastringRelated best practice.
ProcesostringAssociated business process.
Objetivo de controlstringRelated control objective.
Fecha de origenstringFinding origin date.
Fecha de implementaciónstringCommitted date.
Fecha de soluciónstringClosure date if already solved.
Fecha de cambio a "Implementada"stringWhen it moved to Implemented.
Fecha del último cambio de estadostringLast status change recorded.
Reprogramadastring / No.
Cantidad de reprogramacionesstringNumber of reschedules.
ReiteradastringParent finding ID if it is a reiteration.
Comentarios de auditoríastringAuditor comments.
Recomendaciones de auditoríastringRecommended actions.
Respuesta/Acciones correctivasstringAuditee response.
note

Field names are returned in Spanish for consistency with the application's primary language.

Example

curl -X GET "https://demo.mawidabp.com/api/v1/incomplete/findings" \
-H "Authorization: Bearer <token>"
[
{
"Informe": "AI-2024-001",
"Proyecto": "Auditoría de sistemas",
"Fecha de emisión": "15/03/24",
"Acta": "Revisión del proceso de control de accesos",
"Unidad organizativa": "Tecnología",
"Unidad de negocio": "Sistemas de Información",
"Código": "O001",
"Id": "12345",
"Etiquetas": "seguridad, accesos",
"Título": "Deficiencia en gestión de contraseñas",
"Observación / Oportunidad": "Se detectó que las políticas de contraseñas no cumplen con los estándares mínimos de seguridad.",
"Estado": "En proceso de implementación",
"Riesgo": "Alto",
"Prioridad": "Alta",
"Efecto": "Exposición a accesos no autorizados",
"Responsable": "Juan Pérez, María García",
"Auditados": "Carlos López",
"Auditores": "Ana Martínez, Pedro Sánchez",
"Buena práctica": "Seguridad de la información",
"Proceso": "Control de accesos",
"Objetivo de control": "Gestión de credenciales",
"Fecha de origen": "01/01/24",
"Fecha de implementación": "30/04/24",
"Fecha de solución": "-",
"Reprogramada": "No",
"Cantidad de reprogramaciones": "0",
"Reiterada": "",
"Comentarios de auditoría": "Se requiere actualización de políticas",
"Recomendaciones de auditoría": "Implementar política de contraseñas según ISO 27001",
"Respuesta/Acciones correctivas": "Se iniciará el proceso de actualización en el próximo mes"
}
]

GET /api/v1/issues

Returns final approved issues. Useful for integrations that only need the subset of issues officially approved by the committee.

Response

200 OK, JSON array.

FieldTypeDescription
CódigostringUnique issue code.
IdstringNumeric identifier.
TítulostringIssue title.
EstadostringCurrent status.
RiesgostringRisk level.
Fecha de origenstringOrigin date.
Fecha de implementaciónstringCommitted date.
Fecha de soluciónstringClosure date if applicable.

Optional additional fields

Depending on the organization's configuration, the following may be included:

FieldTypeDescription
Fecha de creaciónstringApproval date.
ImportanciastringImportance value (0.10, 0.25, 0.65).
VencimientostringDue value (0 to 1).
Gestión por importanciastringManagement percentage.

Dynamic columns based on the organization's tag groups may also appear.

Example

curl -X GET "https://demo.mawidabp.com/api/v1/issues" \
-H "Authorization: Bearer <token>"
[
{
"Código": "O001",
"Id": "12345",
"Título": "Deficiencia en gestión de contraseñas",
"Estado": "En proceso de implementación",
"Riesgo": "Alto",
"Fecha de origen": "01/01/24",
"Fecha de implementación": "30/04/24",
"Fecha de solución": "-"
}
]

Reference values

Statuses

ValueDescription
En proceso de implementaciónFinding being worked on.
No confirmadaPending confirmation.
ConfirmadaFinding confirmed.
Sin respuestaAwaiting auditee response.
A regularizarAwaiting regularization.
ImplementadaImplementation completed, pending verification.
Implementada / AuditadaVerified and closed.
Riesgo asumidoRisk accepted by the organization.
NotificarRequires notification.
IncompletaIncomplete information.
ReiteradaRecurring finding.
AnuladaFinding cancelled.
Difiere criterioDifference in interpretation.
Desestimada / No aplicaFinding dismissed or not applicable.
FallaFailed implementation.

Risk levels

Alto, Medio, Bajo.

Priority levels

Alta, Media, Baja.

Empty responses

An endpoint with no results returns an empty array:

[]

Not 404.

Best practices

  • Cache when possible: the API has no explicit rate limiting, but it is designed for periodic consumption, not for tight loops. A refresh every 15 minutes is enough for most cases.
  • Store the token securely: a secret manager, an encrypted environment variable, a pipeline configuration. Not in code.
  • Handle 401 errors by regenerating the token: if your integration runs unattended, it pays to alert when the token expires.

Support

For questions, new endpoint needs, or problems, write to soporte@mawidabp.com.