Catálogo de APIs

Ai & Apis Modernas Jan 14, 2026 YAML
documentation developer-experience discovery portal

Definición

Un Catálogo de APIs es un directorio curado y orientado a desarrolladores de APIs disponibles diseñado para ayudar a desarrolladores internos, partners o consumidores externos a descubrir e integrar con APIs rápidamente. A diferencia de un Inventario de APIs (que rastrea todas las APIs para gobernanza), un Catálogo presenta APIs publicadas con documentación rica, ejemplos de uso y guías de onboarding.

Piensa en el Catálogo como un escaparate de productos: presenta APIs como productos que los desarrolladores quieren usar, completo con guías de “primeros pasos”, ejemplos de código, instrucciones de autenticación y herramientas de testing interactivas. El objetivo es la experiencia del desarrollador (DX), no el cumplimiento—hacer fácil encontrar, entender e integrar con APIs.

Un buen Catálogo de APIs responde: “¿Qué puedo construir con estas APIs?” mientras que un Inventario responde “¿Qué APIs existen y quién las posee?” Ambos son esenciales pero sirven propósitos diferentes.

Ejemplo

Catálogo de APIs de Stripe:

La referencia pública de APIs de Stripe (https://stripe.com/docs/api) es un Catálogo de APIs ejemplar:

  • Buscable: Escribe “payment” y encuentra endpoints relevantes instantáneamente
  • Interactivo: Prueba llamadas de API directamente desde la documentación con claves API reales
  • Ejemplos de código: Cada endpoint muestra ejemplos en curl, Python, Ruby, Node.js
  • Organizado por caso de uso: “Aceptar un pago”, “Crear un cliente”, “Emitir un reembolso”
  • Versionado: Ver documentación para la versión actual + versiones históricas

Catálogo de APIs de Twilio:

Twilio organiza su catálogo por producto (SMS, Voice, Video), facilitando encontrar APIs relevantes para tu caso de uso. Cada API incluye:

  • Guías de inicio rápido (“Envía tu primer SMS en 5 minutos”)
  • SDKs para 7+ lenguajes
  • Información de límites de tasa y precios
  • Aplicaciones de ejemplo que puedes desplegar inmediatamente

Ejemplo de Catálogo Interno:

El portal de desarrollador interno de una empresa podría catalogar:

  • API de Clientes: Gestionar perfiles de clientes y preferencias
  • API de Pedidos: Crear y rastrear pedidos
  • API de Inventario: Verificar disponibilidad de productos
  • API de Pagos: Procesar pagos y reembolsos

Cada entrada incluye: endpoints, método de autenticación, límites de tasa, requests/responses de ejemplo e información de contacto del equipo propietario.

Analogía

El Menú del Restaurante: Un Catálogo de APIs es como un menú de restaurante. El menú no lista todo lo que la cocina puede hacer (eso es el inventario)—muestra lo que está disponible para clientes ahora mismo, con descripciones, precios e imágenes. El menú está diseñado para que los clientes tomen decisiones rápidamente (“Quiero la pasta”). Similarmente, un Catálogo de APIs muestra a los desarrolladores qué está disponible y les ayuda a elegir la API correcta para sus necesidades.

La Sala de Exhibición de Productos: IKEA no te muestra todo su inventario de almacén—crean salas de exhibición mostrando configuraciones de habitaciones terminadas para que puedas imaginar cómo funcionan los productos juntos. Un Catálogo de APIs es esta sala de exhibición: curado, organizado y diseñado para descubrimiento, no auditoría comprehensiva.

Ejemplo de Código

Entrada de Catálogo de APIs (YAML):


# catalog-entry.yaml
# Ejemplo de entrada de catálogo para API de Clientes

api:
  id: "customers-api-v2"
  name: "API de Gestión de Clientes"
  version: "2.1.0"
  status: "stable"
  tagline: "Gestiona perfiles de clientes, preferencias y detalles de cuenta"

  # Información orientada a desarrolladores
  getting_started:
    quickstart_url: "https://docs.company.com/quickstart/customers"
    estimated_time: "10 minutos"
    prerequisites:
      - "Credenciales de cliente OAuth2"
      - "Comprensión básica de REST APIs"

  # Detalles de la API
  base_url: "https://api.company.com/v2/customers"
  authentication:
    - type: "oauth2"
      scopes: ["customers:read", "customers:write"]
    - type: "api_key"
      note: "Obsoleto, usa OAuth2 para nuevas integraciones"

  rate_limits:
    - tier: "free"
      limit: "100 solicitudes/hora"
    - tier: "paid"
      limit: "10,000 solicitudes/hora"

  # Documentación
  documentation:
    overview: "https://docs.company.com/api/customers"
    openapi_spec: "https://api.company.com/openapi/customers-v2.yaml"
    interactive_docs: "https://api.company.com/swagger-ui/customers"
    changelog: "https://docs.company.com/changelog/customers"

  # Ejemplos de Código
  code_samples:
    - language: "curl"
      example: |
        curl -X GET "https://api.company.com/v2/customers/cust_123" \
          -H "Authorization: Bearer YOUR_TOKEN"

    - language: "javascript"
      example: |
        const customer = await fetch('https://api.company.com/v2/customers/cust_123', {
          headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
        }).then(r => r.json());

    - language: "python"
      example: |
        import requests
        response = requests.get(
          'https://api.company.com/v2/customers/cust_123',
          headers={'Authorization': 'Bearer YOUR_TOKEN'}
        )
        customer = response.json()

  # Soporte
  support:
    team: "Customer Platform Team"
    email: "[email protected]"
    slack: "#api-customers"
    oncall: "pagerduty://customer-platform"

  # Casos de Uso Comunes
  use_cases:
    - title: "Crear una nueva cuenta de cliente"
      endpoint: "POST /v2/customers"
      doc_link: "https://docs.company.com/tutorials/create-customer"

    - title: "Actualizar preferencias de cliente"
      endpoint: "PATCH /v2/customers/{id}/preferences"
      doc_link: "https://docs.company.com/tutorials/customer-preferences"

    - title: "Buscar clientes por email"
      endpoint: "GET /v2/customers?email={email}"
      doc_link: "https://docs.company.com/tutorials/search-customers"

  # APIs Relacionadas
  related_apis:
    - "orders-api-v2"
    - "payments-api-v2"
    - "notifications-api-v1"

Diagrama

graph TB
    A[Catálogo de APIs] --> B[UI Portal de Desarrolladores]
    A --> C[Búsqueda y Descubrimiento]
    A --> D[Documentación]
    A --> E[Herramientas Interactivas]

    B --> B1[Listados Categorizados]
    B --> B2[APIs Populares]
    B --> B3[Recientemente Actualizadas]

    C --> C1[Búsqueda Full-Text]
    C --> C2[Filtrado por Tags]
    C --> C3[Navegación por Caso de Uso]

    D --> D1[Guías de Inicio]
    D --> D2[Referencia de API]
    D --> D3[Ejemplos de Código]
    D --> D4[Tutoriales]

    E --> E1[Explorador Interactivo de API]
    E --> E2[Probar Ahora]
    E --> E3[Generadores de Código]

    F[Audiencia Objetivo] --> F1[Desarrolladores Internos]
    F --> F2[Integradores Partners]
    F --> F3[Consumidores Externos]

    F1 --> B
    F2 --> B
    F3 --> B

    style A fill:#bbdefb
    style B fill:#c8e6c9
    style D fill:#fff9c4
    style E fill:#e1bee7

Catálogo vs Inventario

AspectoCatálogo de APIsInventario de APIs
PropósitoExperiencia del desarrolladorGobernanza y cumplimiento
AudienciaDesarrolladores, partnersSeguridad, arquitectos, cumplimiento
ContenidoAPIs publicadas y establesTodas las APIs (incluyendo Shadow, Zombie)
CuraciónAltamente curadoComprehensivo (sin curación)
MetadataEjemplos de uso, tutorialesPropietario, estado, tags de cumplimiento
Frecuencia de actualizaciónCuando APIs cambianTiempo real (descubrimiento automatizado)
Enfoque“¿Cómo uso esto?”“¿Qué existe y quién lo posee?”

Ambos son esenciales: Inventario para gobernanza, Catálogo para productividad del desarrollador.

1. Búsqueda y Descubrimiento

  • Búsqueda full-text en nombres de APIs, descripciones y endpoints
  • Filtrado basado en tags (“muéstrame todas las APIs de pago”)
  • Organización por caso de uso ("¿Cómo envío un email?")

2. Documentación Rica

  • Guía de inicio (quickstart de 5-10 minutos)
  • Referencia completa de API (todos los endpoints)
  • Instrucciones de autenticación con ejemplos
  • Límites de tasa y manejo de errores

3. Testing Interactivo

  • Funcionalidad “Probar ahora” (Swagger UI, Stoplight, Postman)
  • Requests de ejemplo prellenados
  • Testing contra entornos sandbox

4. Ejemplos de Código

  • Ejemplos en 3-5 lenguajes (curl, JavaScript, Python, Java, etc.)
  • Snippets listos para copiar-pegar
  • Documentación completa de SDK si está disponible

5. Versionado

  • Versión actual claramente marcada
  • Documentación de versiones históricas disponible
  • Guías de migración entre versiones

6. Información de Soporte

  • Contacto del equipo propietario (email, Slack, PagerDuty)
  • Problemas conocidos y página de estado
  • Changelog y notas de versión

Errores Comunes

Error 1: Catálogo = spec Swagger/OpenAPI Un spec OpenAPI es una referencia, no un catálogo. Los desarrolladores necesitan tutoriales, ejemplos y orientación de casos de uso, no solo definiciones de endpoints.

Error 2: Incluir APIs internas/obsoletas Un Catálogo debe estar curado. No listes cada API—solo las que quieres que los desarrolladores usen. Las APIs obsoletas van en una sección “Legacy” con guías de migración.

Error 3: Sin funcionalidad de búsqueda Si los desarrolladores no pueden encontrar APIs rápidamente, construirán duplicados. La búsqueda debe ser rápida y comprehensiva.

Error 4: Documentación sin ejemplos “Este endpoint acepta un body JSON” es inútil. Muestra un ejemplo real: {"name": "John Doe", "email": "[email protected]"}.

Error 5: Información desactualizada Si tu Catálogo dice que la API requiere una API key pero ha sido migrada a OAuth2, los desarrolladores fallarán al autenticarse. Mantén el Catálogo sincronizado con la realidad.

Mejores Prácticas

  1. Actualizar automáticamente: Genera Catálogo desde specs OpenAPI + metadata, no mantengas manualmente
  2. Organizar por caso de uso: “Cómo enviar notificaciones” es mejor que lista alfabética de APIs
  3. Destacar APIs populares: Mostrar secciones “Más usadas” o “Recientemente actualizadas”
  4. Proporcionar sandboxes: Permitir a desarrolladores probar sin afectar producción
  5. Incluir límites de tasa: Los desarrolladores necesitan conocer cuotas de antemano
  6. Enlazar a soporte: Cada API debe tener un canal de soporte claro
  7. Medir uso: Rastrear qué APIs se buscan más, qué docs se ven más

Herramientas para Catálogos de APIs

Open Source:

Backstage (Spotify)

  • Portal de desarrolladores con plugin de API
  • Personalizable, extensible
  • Integración con pipelines CI/CD

Swagger UI

  • Documentación interactiva de APIs
  • Se genera automáticamente desde specs OpenAPI
  • Funcionalidad probar-ahora

Stoplight

  • Plataforma de documentación de APIs
  • Servidores mock y testing
  • Edición colaborativa

Comercial:

Postman Workspaces

  • Colaboración en equipo en APIs
  • Catálogo privado de APIs
  • Testing y monitoreo

SwaggerHub

  • Diseño y documentación de APIs
  • Colaboración en equipo
  • SDKs de cliente auto-generados

Azure API Center

  • Catálogo centralizado para APIs de Azure
  • Descubrimiento y gobernanza
  • Integración con Azure API Management

ReadMe

  • Plataforma de documentación para desarrolladores
  • Explorador interactivo de APIs
  • Métricas y analytics

Tips de Implementación

Fase 1: Catálogo Mínimo (Semana 1)

  • Listar 10-20 APIs más importantes
  • Incluir: nombre, descripción, enlace a spec OpenAPI, contacto del propietario
  • Desplegar a wiki interna o Confluence

Fase 2: Catálogo Rico (Mes 1)

  • Agregar guías de inicio para top 5 APIs
  • Incluir ejemplos de código (curl, JavaScript, Python)
  • Implementar funcionalidad de búsqueda

Fase 3: Catálogo Interactivo (Mes 2-3)

  • Desplegar Swagger UI o Stoplight
  • Agregar funcionalidad probar-ahora
  • Crear entornos sandbox

Fase 4: Catálogo Pulido (Mes 3+)

  • Organización por caso de uso
  • Video tutoriales para APIs complejas
  • Métricas: rastrear queries de búsqueda, APIs populares

Ejemplo: Experiencia del Desarrollador de Stripe

Por qué el Catálogo de Stripe destaca:

  1. Onboarding sin fricción: Crear cuenta → Obtener API key → Hacer primer request en <5 minutos
  2. Testing interactivo: Probar cada endpoint directamente desde docs
  3. Docs específicos por lenguaje: Alternar entre curl, Python, Ruby, Node.js, PHP, Go, .NET
  4. Testing en tiempo real: Probar con claves reales contra modo test
  5. Ejemplos comprehensivos: No solo “crear un pago” sino “crear un pago con autenticación 3D Secure”
  6. Dashboard de estado: Monitoreo de salud de API en tiempo real

Resultado: Los desarrolladores aman las APIs de Stripe debido a la documentación. El Catálogo es una ventaja competitiva.

Lectura Adicional

Mejores Prácticas de Documentación de APIs:

Conceptos Relacionados:

Herramientas Mencionadas:

Términos Relacionados