Saltar al contenido

Referencia de la API

Firma y miembros

23 operaciones, cada una con sus parámetros, ejemplos en curl y TypeScript listos para copiar y sus errores.

Cada ejemplo supone una sesión iniciada; cómo obtenerla está en Autenticación

memberList

GET/_x/query/member-list

Miembro de la firmaPermiso: org:read

memberList

Parámetros de memberList
NombreDóndeTipoObligatorio
orgIdConsultastring (uuid)Sí
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/member-list?orgId=<orgId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/member-list?orgId=<orgId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

myMfa

GET/_x/query/my-mfa

Miembro de la firmaPermiso: org:read

myMfa

Parámetros de myMfa
NombreDóndeTipoObligatorio
userIdConsultastring (uuid)Sí
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/my-mfa?userId=<userId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/my-mfa?userId=<userId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

myOnboardingEmails

GET/_x/query/my-onboarding-emails

Miembro de la firmaPermiso: org:read

myOnboardingEmails

Parámetros de myOnboardingEmails
NombreDóndeTipoObligatorio
userIdConsultastring (uuid)Sí
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/my-onboarding-emails?userId=<userId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/my-onboarding-emails?userId=<userId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

myOrgs

GET/_x/query/my-orgs

Miembro de la firmaPermiso: org:read

myOrgs

Parámetros de myOrgs
NombreDóndeTipoObligatorio
userIdConsultastring (uuid)Sí
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/my-orgs?userId=<userId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/my-orgs?userId=<userId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

myPreferences

GET/_x/query/my-preferences

Miembro de la firmaPermiso: org:read

myPreferences

Parámetros de myPreferences
NombreDóndeTipoObligatorio
userIdConsultastring (uuid)Sí
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/my-preferences?userId=<userId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/my-preferences?userId=<userId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

mySessions

GET/_x/query/my-sessions

Miembro de la firmaPermiso: org:read

mySessions

Parámetros de mySessions
NombreDóndeTipoObligatorio
userIdConsultastring (uuid)Sí
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/my-sessions?userId=<userId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/my-sessions?userId=<userId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

pendingInvites

GET/_x/query/pending-invites

Miembro de la firmaPermiso: org:manage

pendingInvites

Parámetros de pendingInvites
NombreDóndeTipoObligatorio
orgIdConsultastring (uuid)Sí
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/pending-invites?orgId=<orgId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/pending-invites?orgId=<orgId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

seatUsage

GET/_x/query/seat-usage

Miembro de la firmaPermiso: org:read

seatUsage

Parámetros de seatUsage
NombreDóndeTipoObligatorio
orgIdConsultastring (uuid)Sí
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/seat-usage?orgId=<orgId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/seat-usage?orgId=<orgId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

acceptInvite

POST/api/invites/accept

Miembro de la firmaPermiso: org:accept-invite

acceptInvite

Parámetros de acceptInvite
NombreDóndeTipoObligatorio
tokenCuerpostring 1–2048Sí
curl
curl -X POST 'https://www.notificado.co/api/invites/accept' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"token":"<token>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/invites/accept', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "token": "<token>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "orgId": "<orgId>",
  "redirectTo": "<redirectTo>",
  "role": "<role>",
  "status": "joined"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

revokeInvite

POST/api/invites/revoke

Miembro de la firmaPermiso: org:manage

revokeInvite

Parámetros de revokeInvite
NombreDóndeTipoObligatorio
idCuerpostring 1–64Sí
curl
curl -X POST 'https://www.notificado.co/api/invites/revoke' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"id":"<id>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/invites/revoke', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "id": "<id>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "email": "<email>",
  "id": "<id>",
  "role": "<role>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

setMemberRole

POST/api/member-roles/set

Miembro de la firmaPermiso: org:manage

setMemberRole

Parámetros de setMemberRole
NombreDóndeTipoObligatorio
roleCuerpo"owner" | "lawyer" | "paralegal" | "billing" | "viewer"Sí
userIdCuerpostring (uuid)Sí
curl
curl -X POST 'https://www.notificado.co/api/member-roles/set' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"role":"owner","userId":"<userId>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/member-roles/set', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "role": "owner",
    "userId": "<userId>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "createdAt": "2026-09-25T15:00:00Z",
  "id": "<id>",
  "role": "owner",
  "userId": "<userId>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

inviteMember

POST/api/members/invite

Miembro de la firmaPermiso: org:manage

inviteMember

Parámetros de inviteMember
NombreDóndeTipoObligatorio
emailCuerpostring (email) ≤ 320Sí
roleCuerpo"owner" | "lawyer" | "paralegal" | "billing" | "viewer"Sí
curl
curl -X POST 'https://www.notificado.co/api/members/invite' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"email":"<email>","role":"owner"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/members/invite', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "email": "<email>",
    "role": "owner"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "email": "<email>",
  "expiresAt": "2026-09-25T15:00:00Z",
  "role": "<role>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

removeMember

POST/api/members/remove

Miembro de la firmaPermiso: org:manage

removeMember

Parámetros de removeMember
NombreDóndeTipoObligatorio
userIdCuerpostring (uuid)Sí
curl
curl -X POST 'https://www.notificado.co/api/members/remove' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"userId":"<userId>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/members/remove', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "userId": "<userId>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "createdAt": "2026-09-25T15:00:00Z",
  "id": "<id>",
  "role": "owner",
  "userId": "<userId>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

confirmMfa

POST/api/mfas/confirm

Miembro de la firmaPermiso: org:read

confirmMfa

Parámetros de confirmMfa
NombreDóndeTipoObligatorio
codeCuerpostring 6–8Sí
secretCuerpostring 16–128Sí
curl
curl -X POST 'https://www.notificado.co/api/mfas/confirm' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"code":"<code>","secret":"<secret>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/mfas/confirm', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "code": "<code>",
    "secret": "<secret>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "recoveryCodes": [
    "<recoveryCodes>"
  ]
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

disableMfa

POST/api/mfas/disable

Miembro de la firmaPermiso: org:read

disableMfa

Parámetros de disableMfa
NombreDóndeTipoObligatorio
codeCuerpostring 6–64Sí
passwordCuerpostring 1–1024Sí
curl
curl -X POST 'https://www.notificado.co/api/mfas/disable' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"code":"<code>","password":"<password>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/mfas/disable', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "code": "<code>",
    "password": "<password>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "ok": true
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

enrolMfa

POST/api/mfas/enrol

Miembro de la firmaPermiso: org:read

enrolMfa

curl
curl -X POST 'https://www.notificado.co/api/mfas/enrol' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{}'
TypeScript
const response = await fetch('https://www.notificado.co/api/mfas/enrol', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({}),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "secret": "<secret>",
  "uri": "<uri>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

setOnboardingEmails

POST/api/onboarding-emails/set

Miembro de la firmaPermiso: org:read

setOnboardingEmails

Parámetros de setOnboardingEmails
NombreDóndeTipoObligatorio
emailsCuerpo"on" | "off"Sí
returnToCuerpostring 1–2048No
curl
curl -X POST 'https://www.notificado.co/api/onboarding-emails/set' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"emails":"on"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/onboarding-emails/set', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "emails": "on"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "emails": true
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

switchOrg

POST/api/orgs/switch

Miembro de la firmaPermiso: org:read

switchOrg

Parámetros de switchOrg
NombreDóndeTipoObligatorio
nextCuerpostring 1–2048No
orgIdCuerpostring (uuid)Sí
curl
curl -X POST 'https://www.notificado.co/api/orgs/switch' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"orgId":"<orgId>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/orgs/switch', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "orgId": "<orgId>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "orgId": "<orgId>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

revokeOtherSessions

POST/api/other-sessions/revoke

Miembro de la firmaPermiso: org:read

revokeOtherSessions

curl
curl -X POST 'https://www.notificado.co/api/other-sessions/revoke' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{}'
TypeScript
const response = await fetch('https://www.notificado.co/api/other-sessions/revoke', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({}),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "revoked": 1,
  "tokensRevoked": 1
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

setPreferences

POST/api/preferences/set

Miembro de la firmaPermiso: org:read

setPreferences

Parámetros de setPreferences
NombreDóndeTipoObligatorio
localeCuerpo"es-co" | "en" | "auto" | nullNo
returnToCuerpostring 1–2048No
themeCuerpo"system" | "light" | "dark"No
curl
curl -X POST 'https://www.notificado.co/api/preferences/set' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{}'
TypeScript
const response = await fetch('https://www.notificado.co/api/preferences/set', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({}),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "locale": "es-co",
  "theme": "system"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

setRequireMfa

POST/api/require-mfas/set

Miembro de la firmaPermiso: org:manage

setRequireMfa

Parámetros de setRequireMfa
NombreDóndeTipoObligatorio
requireMfaCuerpo"on" | "off"Sí
curl
curl -X POST 'https://www.notificado.co/api/require-mfas/set' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"requireMfa":"on"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/require-mfas/set', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "requireMfa": "on"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "requireMfa": true
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

setRequireSendApproval

POST/api/require-send-approvals/set

Miembro de la firmaPermiso: org:manage

setRequireSendApproval

Parámetros de setRequireSendApproval
NombreDóndeTipoObligatorio
requireSendApprovalCuerpo"on" | "off"Sí
curl
curl -X POST 'https://www.notificado.co/api/require-send-approvals/set' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"requireSendApproval":"on"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/require-send-approvals/set', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "requireSendApproval": "on"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "requireSendApproval": true
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

revokeSession

POST/api/sessions/revoke

Miembro de la firmaPermiso: org:read

revokeSession

Parámetros de revokeSession
NombreDóndeTipoObligatorio
sessionIdCuerpostring 1–64Sí
curl
curl -X POST 'https://www.notificado.co/api/sessions/revoke' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"sessionId":"<sessionId>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/sessions/revoke', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "sessionId": "<sessionId>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "ok": true
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID