Skip to content

Crear clave API

POST /v1/api-keys

Crea una nueva clave API para autenticarse con la API de DocMap. Cada usuario puede tener hasta 10 claves API activas (no revocadas).

Pruébalo

Prueba este endpoint de forma interactiva en la Swagger UI.

Autorización requerida

Incluye tu clave API en el encabezado Authorization.

Solicitud

Encabezados

EncabezadoValorRequerido
AuthorizationBearer <token>
Content-Typeapplication/json

Cuerpo

CampoTipoRequeridoDescripción
namestringUna etiqueta descriptiva para la clave (1--100 caracteres).
expiresInstringPeríodo de expiración: "30d", "60d", "90d", "1y" o "never".

Ejemplos de código

bash
curl -X POST https://api.docmap.io/v1/api-keys \
  -H "Authorization: Bearer dm_live_abc123def456ghi789jkl012mno345" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Server",
    "expiresIn": "90d"
  }'
typescript
const apiKey = process.env.DOCMAP_API_KEY

const response = await fetch('https://api.docmap.io/v1/api-keys', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Production Server',
    expiresIn: '90d',
  }),
})

const { data } = await response.json()

// IMPORTANT: Store the key immediately — it cannot be retrieved later
console.log('API Key:', data.key)
console.log('Key ID:', data.apiKey.id)
python
import requests

api_key = "dm_live_abc123def456ghi789jkl012mno345"

response = requests.post(
    "https://api.docmap.io/v1/api-keys",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json={
        "name": "Production Server",
        "expiresIn": "90d",
    },
)

data = response.json()["data"]

# IMPORTANT: Store the key immediately — it cannot be retrieved later
print(f"API Key: {data['key']}")
print(f"Key ID: {data['apiKey']['id']}")

Respuesta

Estado: 201 Created

El cuerpo de la respuesta está envuelto en un objeto data.

WARNING

El valor de la clave sin procesar solo se devuelve en esta respuesta. Almacénala de forma segura inmediatamente -- no se puede recuperar después.

Campos

CampoTipoDescripción
keystringLa clave API sin procesar (por ejemplo, dm_live_abc123def456ghi789jkl012mno345). Solo se muestra una vez.
apiKeyobjectObjeto de metadatos de la clave (ver abajo).

Objeto apiKey:

CampoTipoDescripción
idstringIdentificador único de la clave API.
userIdstringID del usuario propietario de la clave.
namestringEtiqueta descriptiva de la clave.
prefixstringPrimeros caracteres de la clave para identificación (por ejemplo, dm_live_abc1).
expiresAtstring | nullMarca de tiempo ISO 8601 de expiración, o null si la clave nunca expira.
lastUsedAtstring | nullMarca de tiempo ISO 8601 de la última vez que se usó la clave. null si nunca se ha usado.
createdAtstringMarca de tiempo ISO 8601 de cuándo se creó la clave.
revokedbooleanSi la clave ha sido revocada. Siempre false para una clave recién creada.

Ejemplo

json
{
  "data": {
    "key": "dm_live_r4nd0mK3yV4lu3x9w8v7u6t5s4q3p2n1m0l9k8j7",
    "apiKey": {
      "id": "ak_1a2b3c4d5e6f7g8h",
      "userId": "uid_a1b2c3d4e5f6",
      "name": "Production Server",
      "prefix": "dm_live_r4nd",
      "expiresAt": "2025-02-18T10:00:00.000Z",
      "lastUsedAt": null,
      "createdAt": "2024-11-20T10:00:00.000Z",
      "revoked": false
    }
  }
}

Errores

EstadoCódigoDescripción
400MAX_KEYS_REACHEDHas alcanzado el máximo de 10 claves API activas. Revoca una clave existente antes de crear una nueva.
401UNAUTHORIZEDClave API / token faltante, inválido o expirado.

Documentación de la API de DocMap