API keys
Una API key autentica tus peticiones a Fiscalapi en nombre de la persona a la que pertenece, así que cada petición tiene los roles y permisos de esa persona. Con estos endpoints creas, consultas, actualizas y eliminas las API keys de tu cuenta.
API keys de otras personas
Cada API key pertenece a una persona. El owner del tenant gestiona las API keys de todas las personas del tenant; las demás personas, solo las propias. Para quien no es el owner, los endpoints responden así:
| Endpoint | Respuesta para quien no es el owner |
|---|---|
| Listar API keys | Devuelve solo sus propias API keys. |
| Crear API key | Responde 403 si el personId es de otra persona. |
| Obtener, actualizar o eliminar | Con la API key de otra persona responde 404, igual que con una API key que no existe. |
Modelo API key
El modelo API key representa una clave de autenticación de una persona.
Propiedades
- Name
id- Type
- string?
- Description
Identificador único de la API key, asignado por Fiscalapi.
- Name
environment- Type
- string?
- Description
Ambiente al que pertenece la API key.
- Name
apiKeyValue- Type
- string?
- Description
Valor de la API key con el que autenticas tus peticiones.
- Name
personId- Type
- string?
- Description
Id de la persona a la que pertenece la API key.
- Name
tenantId- Type
- string?
- Description
Id del tenant al que pertenece la API key.
- Name
apiKeyStatus- Type
- string?
- Description
Estado de la API key.
- Type
- enum:
- Values
- 01
- Name
description- Type
- string?
- Description
Nombre o descripción de la API key.
Listar API keys
Este endpoint devuelve una lista paginada de API keys, diez por página de forma predeterminada; ajusta la página y su tamaño con los parámetros de consulta. El owner del tenant recibe todas las API keys del tenant y las demás personas, solo las propias (ver API keys de otras personas).
Query parameters
- Name
pageNumber- Type
- int
- required
- Description
Número de página que quieres consultar.
Default:1
- Name
pageSize- Type
- int
- required
- Description
Cantidad de API keys por página, de 1 a 10.
Default:10
Request
curl --location 'https://test.fiscalapi.com/api/v4/apikeys?pageNumber=1&pageSize=2' \
--header 'X-TENANT-KEY: <tenant_key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api_key>' \
--data ''
Response
{
"data": {
"items": [
{
"environment": "Test",
"apiKeyValue": "sk_test_...",
"personId": "5fd9f48c-a6a2-474f-944b-88a01751d432",
"tenantId": "102e5f13-e114-41dd-bea7-507fce177281",
"apiKeyStatus": 0,
"description": null,
"id": "539d247f-6624-4086-86fc-170715af9fbd",
"createdAt": "2025-01-07T15:24:22.1446925",
"updatedAt": "2025-01-07T15:24:45.7387097"
},
{
"environment": "Test",
"apiKeyValue": "sk_test_...",
"personId": "78d380fd-1b69-4e3c-8bc0-4f57737f7d5f",
"tenantId": "102e5f13-e114-41dd-bea7-507fce177281",
"apiKeyStatus": 1,
"description": null,
"id": "99553e5f-7562-40e7-8b0b-7eb3548b77f0",
"createdAt": "2025-01-07T15:28:37.5030339",
"updatedAt": "2025-01-07T15:28:37.5030361"
}
],
"pageNumber": 1,
"totalPages": 3,
"totalCount": 6,
"hasPreviousPage": false,
"hasNextPage": true
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Crear API key
Este endpoint crea una API key para una persona de tu cuenta. Solo el owner del tenant crea API keys para otra persona; las demás personas, solo para sí mismas (ver API keys de otras personas).
Modelo
- Name
personId- Type
- string?
- Description
Id de la persona a la que pertenecerá la API key.
- Name
description- Type
- string??
- Description
Nombre o descripción de la API key.
Errores
El mensaje llega en details del modelo de respuesta.
| Estado | Cuándo ocurre | Mensaje |
|---|---|---|
| 403 | Envías el personId de otra persona y no eres el owner del tenant. | Solo el propietario de la cuenta puede gestionar las credenciales de otra persona: correo, contraseña, API keys y certificados. |
Request
curl --location 'https://test.fiscalapi.com/api/v4/apikeys' \
--header 'X-TENANT-KEY: <tenant_key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api_key>' \
--data '{
"personId" : "<person_id>",
"description" : "api-key para cliente ABC"
}'
Response
{
"data": {
"environment": "Test",
"apiKeyValue": "sk_test_...",
"personId": "5fd9f48c-a6a2-474f-944b-88a01751d432",
"tenantId": "102e5f13-e114-41dd-bea7-507fce177281",
"apiKeyStatus": 1,
"description": "api-key para cliente ABC",
"id": "6c757df8-9f22-42b9-890d-3ae08c143355",
"createdAt": "2025-05-01T08:32:15.2863188",
"updatedAt": "2025-05-01T08:32:15.2863194"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Obtener API key por ID
Este endpoint obtiene una API key por su id. Si la API key es de otra persona y no eres el owner del tenant, responde 404, igual que con una API key que no existe (ver API keys de otras personas).
Errores
En el mensaje, <id> es el id de la API key.
| Estado | Cuándo ocurre | Mensaje |
|---|---|---|
| 404 | La API key no existe, o pertenece a otra persona y no eres el owner del tenant. | No such resource for the given Id: <id> |
Request
curl --location 'https://test.fiscalapi.com/api/v4/apikeys/99553e5f-7562-40e7-8b0b-7eb3548b77f0' \
--header 'X-TENANT-KEY: <tenant_key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api_key>' \
--data ''
Response
{
"data": {
"environment": "Test",
"apiKeyValue": "sk_test_...",
"personId": "78d380fd-1b69-4e3c-8bc0-4f57737f7d5f",
"tenantId": "102e5f13-e114-41dd-bea7-507fce177281",
"apiKeyStatus": 1,
"description": "api-key del cliente ABC",
"id": "0153a9b8-f219-46ba-a7b5-f4ec92bdfa26",
"createdAt": "2025-01-07T15:28:37.5030339",
"updatedAt": "2025-01-07T15:28:37.5030361"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Actualizar API key
Este endpoint actualiza el nombre o el estado de una API key de tu cuenta. Si la API key es de otra persona y no eres el owner del tenant, responde 404, igual que con una API key que no existe (ver API keys de otras personas).
Modelo
- Name
id- Type
- string?
- Description
Id de la API key que quieres actualizar.
- Name
description- Type
- string?
- Description
Nombre o descripción de la API key.
- Name
apiKeyStatus- Type
- string?
- Description
Estado de la API key.
- Type
- enum:
- Values
- 01
Errores
En el mensaje, <id> es el id de la API key.
| Estado | Cuándo ocurre | Mensaje |
|---|---|---|
| 404 | La API key no existe, o pertenece a otra persona y no eres el owner del tenant. | No such resource for the given Id: <id> |
Request
curl --location --request PUT 'https://test.fiscalapi.com/api/v4/apikeys/<id>' \
--header 'X-TENANT-KEY: <tenant_key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api_key>' \
--data '{
"id": "6c757df8-9f22-42b9-890d-3ae08c143355",
"description": "Api-key server 001...",
"apiKeyStatus": 0
}'
Response
{
"data": {
"environment": "Test",
"apiKeyValue": "sk_test...",
"personId": "5fd9f48c-a6a2-474f-944b-88a01751d432",
"tenantId": "102e5f13-e114-41dd-bea7-507fce177281",
"apiKeyStatus": 0,
"description": "Api-key server 001",
"id": "6c757df8-9f22-42b9-890d-3ae08c143355",
"createdAt": "2025-05-01T08:32:15.2863188",
"updatedAt": "2025-05-01T08:33:09.0203389"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Eliminar API key
Este endpoint elimina una API key de tu cuenta. Si la API key es de otra persona y no eres el owner del tenant, responde 404 y no la elimina (ver API keys de otras personas).
Al eliminar una persona con Eliminar emisor, Fiscalapi revoca sus API keys igual que este endpoint: dejan de aparecer en el listado y Obtener API key por ID responde 404.
Errores
En el mensaje, <id> es el id de la API key.
| Estado | Cuándo ocurre | Mensaje |
|---|---|---|
| 404 | La API key no existe, o pertenece a otra persona y no eres el owner del tenant. | No such resource for the given Id: <id> |
Request
curl --location --request DELETE 'https://test.fiscalapi.com/api/v4/apikeys/<id>' \
--header 'X-TENANT-KEY: <tenant_key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api_key>' \
--data ''
Response
{
"data": true,
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}