{
  "openapi": "3.1.0",
  "info": {
    "title": "ConnectBuy Content API",
    "version": "1.0.0",
    "summary": "API pública de solo lectura con el contenido de marketing de ConnectBuy.",
    "description": "Endpoints estáticos (GET, sin autenticación) que exponen el contenido público de connectbuy.app: índice de páginas, preguntas frecuentes, glosario y datos de la empresa. Pensada para que agentes e integraciones consulten qué es ConnectBuy, el modelo CPV y cómo contactar. No expone datos transaccionales ni de usuarios.\n\nVersionado: ruta URL (`/api/v1/`). La versión actual es v1. Los cambios que rompan compatibilidad se publican bajo `/api/v2/`; la versión anterior se mantiene hasta su fecha de sunset, anunciada en https://www.connectbuy.app/api/versions.json y mediante las cabeceras `Deprecation` (RFC 9745) y `Sunset` (RFC 8594) con al menos 180 días de aviso. Los cambios aditivos se publican dentro de v1 sin aviso.\n\nRate limiting: This is a static, CDN-cacheable API with generous nominal limits. Responses carry RFC-style RateLimit headers (RateLimit, RateLimit-Policy, and the RateLimit-Limit/Remaining/Reset triplet). A 429 response, if ever returned by an upstream gateway, includes Retry-After.",
    "contact": {
      "name": "ConnectBuy",
      "email": "conecta@connectbuy.app",
      "url": "https://www.connectbuy.app/contact"
    },
    "license": {
      "name": "CC-BY-4.0",
      "identifier": "CC-BY-4.0"
    }
  },
  "servers": [
    {
      "url": "https://www.connectbuy.app",
      "description": "Producción"
    }
  ],
  "externalDocs": {
    "description": "Portal de desarrolladores",
    "url": "https://www.connectbuy.app/developers"
  },
  "x-api-versioning": {
    "strategy": "url-path",
    "current": "v1",
    "base_path": "/api/v1",
    "versions_document": "https://www.connectbuy.app/api/versions.json",
    "deprecation_policy": {
      "versioning": "URL path (/api/v{n}/). The current major version is v1.",
      "breaking_changes": "Breaking changes ship under a new path (/api/v2/). The previous version keeps working until its sunset date.",
      "non_breaking_changes": "Additive changes (new fields, new endpoints) ship within the current version without notice.",
      "unversioned_alias": "Content docs are also served without a version segment (e.g. /api/faqs.json). Those are aliases that track the current major version; pin to /api/v1/ for a stable contract.",
      "deprecation_signal": "A deprecated version is announced here and returns the Deprecation (RFC 9745) and Sunset (RFC 8594) response headers.",
      "minimum_notice_days": 180
    }
  },
  "x-ratelimit": {
    "policy": "default;q=1000;w=3600",
    "limit": 1000,
    "window_seconds": 3600,
    "headers": [
      "RateLimit",
      "RateLimit-Policy",
      "RateLimit-Limit",
      "RateLimit-Remaining",
      "RateLimit-Reset"
    ],
    "on_429": "Retry-After"
  },
  "paths": {
    "/api/v1/index.json": {
      "get": {
        "operationId": "getApiIndex",
        "summary": "Documento de descubrimiento",
        "description": "Lista los endpoints de la versión actual y enlaces a documentación y versiones.",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "required": false,
            "description": "Media type. The Content API always returns application/json.",
            "schema": {
              "type": "string",
              "enum": [
                "application/json"
              ],
              "default": "application/json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Documento de descubrimiento.",
            "headers": {
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "name",
                    "api_version",
                    "endpoints"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "api_version": {
                      "type": "string",
                      "examples": [
                        "v1"
                      ]
                    },
                    "description": {
                      "type": "string"
                    },
                    "documentation_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "versions_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "site_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "llms_txt": {
                      "type": "string",
                      "format": "uri"
                    },
                    "base_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "endpoints": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Recurso no encontrado. Cuerpo JSON con código, mensaje y sugerencia.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit excedido (solo si un gateway upstream lo aplica).",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 60
                  }
                }
              },
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/versions.json": {
      "get": {
        "operationId": "getVersions",
        "summary": "Catálogo de versiones y política de deprecación",
        "description": "Versiones disponibles, su estado (current/deprecated), fechas de sunset y la política de versionado.",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "required": false,
            "description": "Media type. The Content API always returns application/json.",
            "schema": {
              "type": "string",
              "enum": [
                "application/json"
              ],
              "default": "application/json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Catálogo de versiones y política de deprecación.",
            "headers": {
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "current",
                    "versions",
                    "policy"
                  ],
                  "properties": {
                    "current": {
                      "type": "string",
                      "examples": [
                        "v1"
                      ]
                    },
                    "versions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "version",
                          "status",
                          "base_url"
                        ],
                        "properties": {
                          "version": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "current",
                              "deprecated",
                              "sunset"
                            ]
                          },
                          "base_url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "openapi": {
                            "type": "string",
                            "format": "uri"
                          },
                          "released": {
                            "type": "string"
                          },
                          "deprecated": {
                            "type": "boolean"
                          },
                          "sunset": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "policy": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "rate_limit": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Recurso no encontrado. Cuerpo JSON con código, mensaje y sugerencia.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit excedido (solo si un gateway upstream lo aplica).",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 60
                  }
                }
              },
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/pages.json": {
      "get": {
        "operationId": "listPages",
        "summary": "Listar páginas públicas",
        "description": "Todas las páginas públicas de connectbuy.app con su URL canónica, URL en Markdown, título y descripción.",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "required": false,
            "description": "Media type. The Content API always returns application/json.",
            "schema": {
              "type": "string",
              "enum": [
                "application/json"
              ],
              "default": "application/json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Listar páginas públicas.",
            "headers": {
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "count",
                    "data"
                  ],
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "path",
                          "url",
                          "title",
                          "description"
                        ],
                        "properties": {
                          "path": {
                            "type": "string",
                            "examples": [
                              "/glosario/cpv"
                            ]
                          },
                          "url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "markdown_url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Recurso no encontrado. Cuerpo JSON con código, mensaje y sugerencia.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit excedido (solo si un gateway upstream lo aplica).",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 60
                  }
                }
              },
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/faqs.json": {
      "get": {
        "operationId": "listFaqs",
        "summary": "Listar preguntas frecuentes",
        "description": "Preguntas y respuestas sobre ConnectBuy: modelo CPV, tecnología, mercados, privacidad y cómo empezar.",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "required": false,
            "description": "Media type. The Content API always returns application/json.",
            "schema": {
              "type": "string",
              "enum": [
                "application/json"
              ],
              "default": "application/json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Listar preguntas frecuentes.",
            "headers": {
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "count",
                    "data"
                  ],
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "question",
                          "answer"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "examples": [
                              "faq-1"
                            ]
                          },
                          "question": {
                            "type": "string"
                          },
                          "answer": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Recurso no encontrado. Cuerpo JSON con código, mensaje y sugerencia.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit excedido (solo si un gateway upstream lo aplica).",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 60
                  }
                }
              },
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/glossary.json": {
      "get": {
        "operationId": "listGlossaryTerms",
        "summary": "Listar términos del glosario",
        "description": "Índice de términos del glosario de ConnectBuy (adtech / Retail Media).",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "required": false,
            "description": "Media type. The Content API always returns application/json.",
            "schema": {
              "type": "string",
              "enum": [
                "application/json"
              ],
              "default": "application/json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Listar términos del glosario.",
            "headers": {
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "count",
                    "data"
                  ],
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "list"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "slug",
                          "term",
                          "name",
                          "url"
                        ],
                        "properties": {
                          "slug": {
                            "type": "string",
                            "examples": [
                              "cpv"
                            ]
                          },
                          "term": {
                            "type": "string",
                            "examples": [
                              "CPV"
                            ]
                          },
                          "name": {
                            "type": "string",
                            "examples": [
                              "Costo por Venta Validada"
                            ]
                          },
                          "url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "html_url": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Recurso no encontrado. Cuerpo JSON con código, mensaje y sugerencia.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit excedido (solo si un gateway upstream lo aplica).",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 60
                  }
                }
              },
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/glossary/{slug}.json": {
      "get": {
        "operationId": "getGlossaryTerm",
        "summary": "Obtener un término del glosario",
        "description": "Definición completa de un término y sus términos relacionados.",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "required": false,
            "description": "Media type. The Content API always returns application/json.",
            "schema": {
              "type": "string",
              "enum": [
                "application/json"
              ],
              "default": "application/json"
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Identificador del término en minúsculas (p. ej. \"cpv\").",
            "schema": {
              "type": "string",
              "enum": [
                "cpv"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Obtener un término del glosario.",
            "headers": {
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "slug",
                    "term",
                    "name",
                    "definition"
                  ],
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "glossary_term"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "term": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "definition": {
                      "type": "string"
                    },
                    "related_terms": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "html_url": {
                      "type": "string",
                      "format": "uri"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Recurso no encontrado. Cuerpo JSON con código, mensaje y sugerencia.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit excedido (solo si un gateway upstream lo aplica).",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 60
                  }
                }
              },
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/company.json": {
      "get": {
        "operationId": "getCompany",
        "summary": "Datos de la empresa",
        "description": "Nombre legal, descripción, contacto (email y teléfono), países servidos y perfiles sociales de ConnectBuy Innovation Corp.",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "required": false,
            "description": "Media type. The Content API always returns application/json.",
            "schema": {
              "type": "string",
              "enum": [
                "application/json"
              ],
              "default": "application/json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Datos de la empresa.",
            "headers": {
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "name",
                    "legal_name",
                    "url",
                    "email"
                  ],
                  "properties": {
                    "object": {
                      "type": "string",
                      "const": "company"
                    },
                    "name": {
                      "type": "string"
                    },
                    "legal_name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "email": {
                      "type": "string",
                      "format": "email"
                    },
                    "telephone": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "address": {
                      "type": "object",
                      "properties": {
                        "country": {
                          "type": "string"
                        },
                        "region": {
                          "type": "string"
                        }
                      }
                    },
                    "areas_served": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "languages": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "same_as": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "format": "uri"
                      }
                    },
                    "pricing_model": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Recurso no encontrado. Cuerpo JSON con código, mensaje y sugerencia.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit excedido (solo si un gateway upstream lo aplica).",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 60
                  }
                }
              },
              "RateLimit-Policy": {
                "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;q=1000;w=3600"
                  }
                }
              },
              "RateLimit": {
                "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "default": {
                    "value": "default;r=1000;t=3600"
                  }
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests remaining in the current window.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 1000
                  }
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                },
                "examples": {
                  "default": {
                    "value": 3600
                  }
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message",
                        "status"
                      ],
                      "properties": {
                        "code": {
                          "type": "string",
                          "examples": [
                            "not_found"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "examples": [
                            404
                          ]
                        },
                        "documentation_url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "hint": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "AcceptJson": {
        "name": "Accept",
        "in": "header",
        "required": false,
        "description": "Media type. The Content API always returns application/json.",
        "schema": {
          "type": "string",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        }
      }
    },
    "headers": {
      "RateLimit-Policy": {
        "description": "Advertised policy (RFC draft ietf-httpapi-ratelimit-headers).",
        "schema": {
          "type": "string"
        },
        "examples": {
          "default": {
            "value": "default;q=1000;w=3600"
          }
        }
      },
      "RateLimit": {
        "description": "Remaining quota for the active window (RFC draft ietf-httpapi-ratelimit-headers).",
        "schema": {
          "type": "string"
        },
        "examples": {
          "default": {
            "value": "default;r=1000;t=3600"
          }
        }
      },
      "RateLimit-Limit": {
        "description": "Requests allowed in the current window.",
        "schema": {
          "type": "integer"
        },
        "examples": {
          "default": {
            "value": 1000
          }
        }
      },
      "RateLimit-Remaining": {
        "description": "Requests remaining in the current window.",
        "schema": {
          "type": "integer"
        },
        "examples": {
          "default": {
            "value": 1000
          }
        }
      },
      "RateLimit-Reset": {
        "description": "Seconds until the window resets.",
        "schema": {
          "type": "integer"
        },
        "examples": {
          "default": {
            "value": 3600
          }
        }
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "status"
            ],
            "properties": {
              "code": {
                "type": "string",
                "examples": [
                  "not_found"
                ]
              },
              "message": {
                "type": "string"
              },
              "status": {
                "type": "integer",
                "examples": [
                  404
                ]
              },
              "documentation_url": {
                "type": "string",
                "format": "uri"
              },
              "hint": {
                "type": "string"
              }
            }
          }
        }
      },
      "Discovery": {
        "type": "object",
        "required": [
          "name",
          "api_version",
          "endpoints"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "api_version": {
            "type": "string",
            "examples": [
              "v1"
            ]
          },
          "description": {
            "type": "string"
          },
          "documentation_url": {
            "type": "string",
            "format": "uri"
          },
          "versions_url": {
            "type": "string",
            "format": "uri"
          },
          "site_url": {
            "type": "string",
            "format": "uri"
          },
          "llms_txt": {
            "type": "string",
            "format": "uri"
          },
          "base_url": {
            "type": "string",
            "format": "uri"
          },
          "endpoints": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "Page": {
        "type": "object",
        "required": [
          "path",
          "url",
          "title",
          "description"
        ],
        "properties": {
          "path": {
            "type": "string",
            "examples": [
              "/glosario/cpv"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdown_url": {
            "type": "string",
            "format": "uri"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "PageList": {
        "type": "object",
        "required": [
          "object",
          "count",
          "data"
        ],
        "properties": {
          "object": {
            "type": "string",
            "const": "list"
          },
          "count": {
            "type": "integer"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "path",
                "url",
                "title",
                "description"
              ],
              "properties": {
                "path": {
                  "type": "string",
                  "examples": [
                    "/glosario/cpv"
                  ]
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "markdown_url": {
                  "type": "string",
                  "format": "uri"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Faq": {
        "type": "object",
        "required": [
          "id",
          "question",
          "answer"
        ],
        "properties": {
          "id": {
            "type": "string",
            "examples": [
              "faq-1"
            ]
          },
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          }
        }
      },
      "FaqList": {
        "type": "object",
        "required": [
          "object",
          "count",
          "data"
        ],
        "properties": {
          "object": {
            "type": "string",
            "const": "list"
          },
          "count": {
            "type": "integer"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "question",
                "answer"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "examples": [
                    "faq-1"
                  ]
                },
                "question": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "GlossaryRef": {
        "type": "object",
        "required": [
          "slug",
          "term",
          "name",
          "url"
        ],
        "properties": {
          "slug": {
            "type": "string",
            "examples": [
              "cpv"
            ]
          },
          "term": {
            "type": "string",
            "examples": [
              "CPV"
            ]
          },
          "name": {
            "type": "string",
            "examples": [
              "Costo por Venta Validada"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "html_url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "GlossaryIndex": {
        "type": "object",
        "required": [
          "object",
          "count",
          "data"
        ],
        "properties": {
          "object": {
            "type": "string",
            "const": "list"
          },
          "count": {
            "type": "integer"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "slug",
                "term",
                "name",
                "url"
              ],
              "properties": {
                "slug": {
                  "type": "string",
                  "examples": [
                    "cpv"
                  ]
                },
                "term": {
                  "type": "string",
                  "examples": [
                    "CPV"
                  ]
                },
                "name": {
                  "type": "string",
                  "examples": [
                    "Costo por Venta Validada"
                  ]
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "html_url": {
                  "type": "string",
                  "format": "uri"
                }
              }
            }
          }
        }
      },
      "GlossaryTerm": {
        "type": "object",
        "required": [
          "object",
          "slug",
          "term",
          "name",
          "definition"
        ],
        "properties": {
          "object": {
            "type": "string",
            "const": "glossary_term"
          },
          "slug": {
            "type": "string"
          },
          "term": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "definition": {
            "type": "string"
          },
          "related_terms": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "html_url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "Company": {
        "type": "object",
        "required": [
          "object",
          "name",
          "legal_name",
          "url",
          "email"
        ],
        "properties": {
          "object": {
            "type": "string",
            "const": "company"
          },
          "name": {
            "type": "string"
          },
          "legal_name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "telephone": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "address": {
            "type": "object",
            "properties": {
              "country": {
                "type": "string"
              },
              "region": {
                "type": "string"
              }
            }
          },
          "areas_served": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "same_as": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "pricing_model": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        }
      }
    }
  }
}
