# authorship: generated by API Evangelist tooling. Stamped 2026-08-18 # on the file's own generator header (roadmap#64). An unmarked file is # NOT assumed to be ours -- absence of evidence was never stamped. x-method: generated overlay: 1.0.0 info: title: API Evangelist enhancements for the Ethernovia Customer Portal API version: 1.0.0 extends: openapi/ethernovia-customer-portal-openapi.yml x-generated: '2026-08-04' x-method: generated x-source: openapi/ethernovia-customer-portal-openapi.yml x-note: >- The harvested document is auto-generated by the Strapi documentation plugin. It ships a placeholder title ("DOCUMENTATION") and a localhost:1337 development server, so it is not callable as published. This overlay records the corrections API Evangelist applies without mutating the harvested original in openapi/_original/. actions: - target: $.info description: Replace the placeholder Strapi title/description with the real API identity. update: title: Ethernovia Customer Portal API description: >- REST API behind the Ethernovia Customer Portal, built on Strapi 5. Exposes the portal content model — products, product families and categories, document and software-package catalogs, per-user download history, customer groups, statuses and user audit trails — plus the Strapi users-permissions auth and upload plugins. All data endpoints require a bearer JWT and return 403 anonymously. x-apievangelist-provider: ethernovia x-apievangelist-harvested-from: https://portal-admin.ethernovia.com/documentation x-apievangelist-spec-generator: strapi-plugin-documentation - target: $.servers description: >- Replace the localhost:1337 development placeholder with the production host observed serving the API (verified 2026-08-04: /api/ec-products returns HTTP 403 from this host). update: - url: https://portal-admin.ethernovia.com/api description: Production - target: $.info description: Record the API Evangelist authentication and conventions findings inline. update: x-apievangelist-authentication: authentication/ethernovia-authentication.yml x-apievangelist-conventions: conventions/ethernovia-conventions.yml x-apievangelist-errors: errors/ethernovia-problem-types.yml x-apievangelist-data-model: data-model/ethernovia-data-model.yml - target: $.components.securitySchemes.bearerAuth description: Point the bearer scheme at the Auth0 tenant that actually issues the JWTs. update: description: >- Bearer JWT. Tokens are issued by the Ethernovia Auth0 tenant (https://ethernovia.us.auth0.com/) via the portal sign-in flow at /api/connect/auth0, or by the Strapi local auth endpoints (/auth/local). x-issuer: https://ethernovia.us.auth0.com/ x-openid-configuration: https://ethernovia.us.auth0.com/.well-known/openid-configuration