{"templateId":"markdown","sharedDataIds":{},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Developer Portal Implementation Plan","description":"Official Altegio API documentation for integrating online booking, CRM, scheduling, POS, and business management features into your applications.","siteUrl":"https://developer.alteg.io","lang":"en","keywords":["Altegio API","REST API","online booking API","appointment scheduling API","business management API","CRM integration","POS API"],"image":"/assets/og-image.5c9c342f49e4dd72b96f7a0faf29bb71fab6ff06bbf97cf4b230d6fcc0abcdb3.e746d8a7.jpg","meta":[{"name":"author","content":"Altegio"},{"name":"twitter:card","content":"summary_large_image"},{"name":"twitter:site","content":"@altegio"}],"llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"developer-portal-implementation-plan","__idx":0},"children":["Developer Portal Implementation Plan"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["For Claude:"]}," REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Goal:"]}," Transform monolithic API docs into multi-API developer portal with landing page and 4 separate OpenAPI specs."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Architecture:"]}," Split current ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["en/index.yaml"]}," into 4 OpenAPI specs (public, b2b-v1, b2b-v2, developers). Create landing page with use cases and AI coding guide. Use shared components via $ref."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tech Stack:"]}," Redocly, OpenAPI 3.1, Markdown"]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-1-create-directory-structure","__idx":1},"children":["Task 1: Create Directory Structure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/public/"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/b2b-v1/"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/b2b-v2/"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/developers/"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Create directories"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"mkdir -p docs/en/public docs/en/b2b-v1 docs/en/b2b-v2 docs/en/developers\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Verify structure"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"ls -la docs/en/\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Expected: 4 new directories visible"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Commit"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"git add docs/en/\ngit commit -m \"chore: create multi-api directory structure\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-2-create-public-api-openapi-spec","__idx":2},"children":["Task 2: Create Public API OpenAPI Spec"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/public/openapi.yaml"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Create Public API spec with paths"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/public/openapi.yaml"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"openapi: 3.1.1\ninfo:\n  title: 'Altegio Public API'\n  version: '1.0.0'\n  description: |\n    Public API for integrating online booking into third-party websites and mobile applications.\n\n    **Base URL:** `https://api.alteg.io/api`\n\n    ## Authentication\n\n    All requests require partner authorization via Bearer token:\n\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Authorization: Bearer <partner_token>"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\nGet your partner token at [Altegio Marketplace](https://app.alteg.io/appstore/developers/1).\n\nservers:\n- url: https://api.alteg.io/api\ndescription: Production\n\nx-tagGroups:\n- name: Public API\ntags:\n  - Authentication\n  - Online Booking\n  - Client Personal Cabinet\n\ntags:\n- name: Authentication\ndescription: End-customer authentication methods.\n- name: Online Booking\ndescription: Booking widget integration endpoints.\n- name: Client Personal Cabinet\ndescription: End-customer account management.\n\npaths:\n# Authentication\n'/v1/book_code/{location_id}':\n$ref: ../paths/online-booking/book_code__company_id.yml\n'/v1/booking/auth':\n$ref: ../paths/booking_users/booking__auth.yml\n'/v1/user/auth':\n$ref: ../paths/user_bookings/user__auth.yml\n\n# Online Booking\n'/v1/bookform/{id}':\n$ref: ../paths/online-booking/bookform__id.yml\n'/v1/i18n/{lang_code}':\n$ref: ../paths/online-booking/i18n__lang_code.yml\n'/v1/book_services/{location_id}':\n$ref: ../paths/online-booking/book_services__company_id.yml\n'/v1/book_staff/{location_id}':\n$ref: ../paths/online-booking/book_staff__company_id.yml\n'/v1/book_staff_seances/{location_id}/{team_member_id}':\n$ref: ../paths/online-booking/book_staff_seances__company_id__staff_id.yml\n'/v1/book_dates/{location_id}':\n$ref: ../paths/online-booking/book_dates__company_id.yml\n'/v1/book_times/{location_id}/{team_member_id}/{date}':\n$ref: ../paths/online-booking/book_times__company_id__staff_id__date.yml\n'/v1/book_check/{location_id}':\n$ref: ../paths/online-booking/book_check__company_id.yml\n'/v1/book_record/{location_id}':\n$ref: ../paths/online-booking/book_record__company_id.yml\n'/v1/book_record/{location_id}/{record_id}/{record_hash}':\n$ref: ../paths/online-booking/book_record__company_id__record_id__record_hash.yml\n'/v1/book_record/{location_id}/{record_id}':\n$ref: ../paths/online-booking/book_record__company_id__record_id.yml\n'/v1/activity/{location_id}/{event_id}/book':\n$ref: ../paths/online-booking/event__location_id__event_id__book.yml\n'/v1/privacy_policy/{location_id}':\n$ref: ../paths/gdpr/privacy_policy__company_id.yml\n\n# Client Personal Cabinet\n'/v1/booking/user':\n$ref: ../paths/booking_users/booking__user.yml\n'/v1/booking/user/data':\n$ref: ../paths/booking_users/booking__user__data.yml\n'/v1/booking/user/password':\n$ref: ../paths/booking_users/booking__user__password.yml\n'/v1/booking/user/phone_confirmation':\n$ref: ../paths/booking_users/booking__user__phone_confirmation.yml\n'/v1/user/records/{record_id}/{record_hash}':\n$ref: ../paths/user_bookings/user__records__record_id__record_hash.yml\n'/v1/master_record_review/{record_token}':\n$ref: ../paths/client_comments/master_record_review__record_token.yml\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Validate spec"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"cd docs && npx @redocly/cli lint en/public/openapi.yaml\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Expected: No errors (warnings OK)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Commit"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"git add docs/en/public/openapi.yaml\ngit commit -m \"feat: add Public API OpenAPI spec\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-3-create-b2b-api-v1-openapi-spec","__idx":3},"children":["Task 3: Create B2B API v1 OpenAPI Spec"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/b2b-v1/openapi.yaml"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Create B2B v1 spec header"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/b2b-v1/openapi.yaml"]}," with info, servers, tags, x-tagGroups sections. Include all tags from POS & Scheduling and Administrative groups."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Add all v1 paths from current index.yaml"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Copy paths sections:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Authentication B2B (line 720-721)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Locations (723-727)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Services (729-752)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Team Members (754-767)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Clients (769-788)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Users & Permissions (790-811)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Appointments (813-835)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Events v1 (837-874)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Schedule & Resources (876-920)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Products (922-972)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Inventory (974-1022)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Sales (1024-1051)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Payments (1053-1078)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Analytics & Reports (section from index.yaml)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Tags (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Deposits (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Loyalty Cards (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Subscriptions & Certificates (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Loyalty Programs (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Salary (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Notifications (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Online Booking Settings (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Custom Fields (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Chain Management (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Chain Loyalty Programs (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Fiscalization (section)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Utilities (section)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Update all $ref paths: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paths/"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["../paths/"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Validate spec"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"cd docs && npx @redocly/cli lint en/b2b-v1/openapi.yaml\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 4: Commit"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"git add docs/en/b2b-v1/openapi.yaml\ngit commit -m \"feat: add B2B API v1 OpenAPI spec\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-4-create-b2b-api-v2-openapi-spec","__idx":4},"children":["Task 4: Create B2B API v2 OpenAPI Spec"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/b2b-v2/openapi.yaml"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Create B2B v2 spec with same group structure as v1"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/b2b-v2/openapi.yaml"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"openapi: 3.1.1\ninfo:\n  title: 'Altegio B2B API v2'\n  version: '2.0.0'\n  description: |\n    Next-generation B2B API with improved design and consistency.\n\n    **Base URL:** `https://api.alteg.io/api`\n\n    ## Authentication\n\n    Requires both partner and user authorization:\n\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Authorization: Bearer <partner_token>, User <user_token>"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\nservers:\n- url: https://api.alteg.io/api\ndescription: Production\n\nx-tagGroups:\n- name: POS & Scheduling\ntags:\n  - Team Members\n  - Events\n- name: Administrative\ntags:\n  - Tags\n\ntags:\n- name: Team Members\ndescription: Team member management v2.\n- name: Events\ndescription: Group events management v2.\n- name: Tags\ndescription: Client tagging system v2.\n\npaths:\n# Team Members - Positions\n'/v2/companies/{location_id}/positions':\n$ref: ../paths/positions/v2/api_v2.company.positions.list.create.yml\n'/v2/companies/{location_id}/positions/{position_id}':\n$ref: ../paths/positions/v2/api_v2.company.positions.read.update.delete.yml\n\n# Events\n'/v2/companies/{location_id}/activities':\n$ref: ../paths/events/v2/api_v2.location.events.list.create.yml\n'/v2/companies/{location_id}/activities/{event_id}':\n$ref: ../paths/events/v2/api_v2.location.events.read.update.delete.yml\n'/v2/companies/{location_id}/activities/{event_id}/records':\n$ref: ../paths/events/v2/api_v2.location.events.records.create.yml\n'/v2/companies/{location_id}/activities/{event_id}/records/{record_id}':\n$ref: ../paths/events/v2/api_v2.location.events.records.update.delete.yml\n\n# Tags\n'/v2/companies/{location_id}/tags':\n$ref: ../paths/tags/v2/api_v2.company.tags.list.create.yml\n'/v2/companies/{location_id}/tags/{tag_id}':\n$ref: ../paths/tags/v2/api_v2.company.tags.read.update.delete.yml\n'/v2/companies/{location_id}/clients/{client_id}/tags':\n$ref: ../paths/tags/v2/api_v2.company.clients.tags.list.update.yml\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Validate spec"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"cd docs && npx @redocly/cli lint en/b2b-v2/openapi.yaml\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Commit"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"git add docs/en/b2b-v2/openapi.yaml\ngit commit -m \"feat: add B2B API v2 OpenAPI spec\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-5-create-developers-api-openapi-spec","__idx":5},"children":["Task 5: Create Developers API OpenAPI Spec"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/developers/openapi.yaml"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Create Developers API spec"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/developers/openapi.yaml"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"openapi: 3.1.1\ninfo:\n  title: 'Altegio Developers API'\n  version: '1.0.0'\n  description: |\n    APIs for building marketplace applications, webhooks, and integrations.\n\n    **Base URL:** `https://api.alteg.io/api`\n\nservers:\n  - url: https://api.alteg.io/api\n    description: Production\n\nx-tagGroups:\n  - name: Developers\n    tags:\n      - Marketplace\n      - Webhooks\n      - VoIP Integration\n      - Dictionaries\n\ntags:\n  - name: Marketplace\n    description: Marketplace application management and billing.\n  - name: Webhooks\n    description: Event subscription and webhook configuration.\n  - name: VoIP Integration\n    description: Telephony integration endpoints.\n  - name: Dictionaries\n    description: Reference data (countries, cities, business types).\n\npaths:\n  # Marketplace\n  '/v1/marketplace/application/{application_id}/salons':\n    $ref: ../paths/marketplace/marketplace.partner.application_salon_list.yml\n  '/v1/marketplace/application/{application_id}/tariffs':\n    $ref: ../paths/marketplace/marketplace.partner.applications.tariffs.list.yml\n  '/v1/marketplace/application/add_discount':\n    $ref: ../paths/marketplace/marketplace.partner.application_add_discount.yml\n  '/v1/marketplace/application/payment_link':\n    $ref: ../paths/marketplace/marketplace.partner.application_payment_link.yml\n  '/v1/marketplace/application/update_channel':\n    $ref: ../paths/marketplace/marketplace.partner.applications.update_channel.yml\n  '/v1/marketplace/salon/{location_id}/application/{application_id}':\n    $ref: ../paths/marketplace/marketplace.partner.integration_status.yml\n  '/v1/marketplace/salon/{location_id}/application/{application_id}/uninstall':\n    $ref: ../paths/marketplace/marketplace.partner.uninstall.yml\n  '/v1/marketplace/partner/callback':\n    $ref: ../paths/marketplace/marketplace.notifications.callback_with_settings.yml\n  '/v1/marketplace/partner/callback/redirect':\n    $ref: ../paths/marketplace/marketplace.notifications.callback_with_settings_and_redirect.yml\n  '/v1/marketplace/partner/payment':\n    $ref: ../paths/marketplace/marketplace.notifications.callback_with_payment.yml\n  '/v1/marketplace/partner/payment/refund/{payment_id}':\n    $ref: ../paths/marketplace/marketplace.partner.callback_with_payment.refund.yml\n  '/v1/marketplace/partner/short_names':\n    $ref: ../paths/marketplace/marketplace.notifications.short_names.yml\n  '/v1/marketplace_webhook':\n    $ref: ../paths/marketplace/marketplace.webhook.yml\n\n  # Webhooks\n  '/v1/hooks_settings/{location_id}':\n    $ref: ../paths/webhooks/hooks_settings__company_id.yml\n\n  # VoIP Integration\n  '/v1/voip/integration':\n    $ref: ../paths/voip/voip__integration.yml\n  '/v1/voip/integration/calls':\n    $ref: ../paths/voip/voip.integration.calls_list.yml\n\n  # Dictionaries\n  '/v1/countries':\n    $ref: ../paths/countries/countries.yml\n  '/v1/cities':\n    $ref: ../paths/cities/cities.yml\n  '/v1/references/business_groups_with_types':\n    $ref: ../paths/dicts/references__business_groups_with_types.yml\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Validate spec"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"cd docs && npx @redocly/cli lint en/developers/openapi.yaml\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Commit"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"git add docs/en/developers/openapi.yaml\ngit commit -m \"feat: add Developers API OpenAPI spec\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-6-create-landing-page","__idx":6},"children":["Task 6: Create Landing Page"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/index.md"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Create landing page content"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/index.md"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"markdown","header":{"controls":{"copy":{}}},"source":"---\ntitle: Altegio API\n---\n\n# Altegio API\n\nBuild powerful integrations for appointment scheduling and business management.\n\n<div class=\"api-cards\">\n\n## API Reference\n\n### [Public API](public/openapi.yaml)\nOnline booking integration for websites and mobile apps. Embed scheduling into your platform.\n\n### [B2B API v1](b2b-v1/openapi.yaml)\nFull business operations: scheduling, clients, payments, inventory, loyalty, and more.\n\n### [B2B API v2](b2b-v2/openapi.yaml)\nNext-gen endpoints with improved design. Growing collection of modernized APIs.\n\n### [Developers API](developers/openapi.yaml)\nMarketplace applications, webhooks, VoIP integration, and reference data.\n\n</div>\n\n## Quick Start\n\n```bash\n# Get available time slots for online booking\ncurl -X GET \"https://api.alteg.io/api/v1/book_times/{location_id}/{staff_id}/{date}\" \\\n  -H \"Authorization: Bearer {partner_token}\" \\\n  -H \"Accept: application/vnd.api.v2+json\"\n","lang":"markdown"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://app.alteg.io/appstore/developers/1"},"children":["Get your API key →"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"use-cases","__idx":7},"children":["Use Cases"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Booking Widget"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Embed scheduling into websites, mobile apps, or kiosks"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["AI Assistants & Chatbots"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Let GPT, Claude or custom bots book appointments via API"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Analytics Dashboard"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Build custom reports, BI integrations, data warehouses"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["CRM Sync"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Two-way sync with Salesforce, HubSpot, custom CRMs"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["White-label Apps"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Build branded booking apps for your clients"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["POS Integration"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Connect payments, receipts, fiscal printers"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Inventory Automation"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sync stock levels with suppliers, e-commerce"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Custom Notifications"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Webhooks for real-time events, custom messaging"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"works-great-with-ai-assistants","__idx":8},"children":["Works Great with AI Assistants"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Tool"},"children":["Tool"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"How to use"},"children":["How to use"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Claude / ChatGPT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Copy the OpenAPI spec URL and paste into chat: ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["\"Use this API spec to build a booking integration\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Cursor / Copilot"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Add spec to project: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["curl -o altegio-api.yaml https://developer.alteg.io/en/b2b-v1/openapi.yaml"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Claude Code"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Point to docs: ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["\"Read https://developer.alteg.io/en/public/ and implement appointment booking\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["MCP Server"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Connect AI agents: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["npx @redocly/mcp-server --spec https://developer.alteg.io/en/b2b-v1/openapi.yaml"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"quick-prompts","__idx":9},"children":["Quick Prompts"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\"Build a Telegram bot that books appointments using Altegio API\"\n\"Create a React widget showing available time slots\"\n\"Sync Altegio clients with my PostgreSQL database\"\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"support","__idx":10},"children":["Support"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Email: api@alteg.io"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://alteg.io/support"},"children":["Knowledge Base"]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"\n**Step 2: Commit**\n\n```bash\ngit add docs/en/index.md\ngit commit -m \"feat: add developer portal landing page\"\n"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-7-update-main-sidebar","__idx":11},"children":["Task 7: Update Main Sidebar"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Modify: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/sidebars.yaml"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Update sidebar with multi-API navigation"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Replace content of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/sidebars.yaml"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"- page: index.md\n  label: Home\n- separator: API Reference\n- page: public/openapi.yaml\n  label: Public API\n- page: b2b-v1/openapi.yaml\n  label: B2B API v1\n- page: b2b-v2/openapi.yaml\n  label: B2B API v2\n- page: developers/openapi.yaml\n  label: Developers API\n- separator: Resources\n- label: Get API Key\n  href: https://app.alteg.io/appstore/developers/1\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Commit"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"git add docs/en/sidebars.yaml\ngit commit -m \"feat: update sidebar for multi-API navigation\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-8-update-redocly-config","__idx":12},"children":["Task 8: Update Redocly Config"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Modify: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/redocly.yaml"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Update apis section"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/redocly.yaml"]},", replace ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["apis"]}," section:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"apis:\n  public@v1:\n    root: en/public/openapi.yaml\n  b2b@v1:\n    root: en/b2b-v1/openapi.yaml\n  b2b@v2:\n    root: en/b2b-v2/openapi.yaml\n  developers@v1:\n    root: en/developers/openapi.yaml\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Update redirects"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"redirects:\n  '/':\n    to: '/en/'\n  '/api':\n    to: '/en/'\n  '/api/**':\n    to: '/en/'\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Validate config"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"cd docs && npx @redocly/cli check-config\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 4: Commit"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"git add docs/redocly.yaml\ngit commit -m \"feat: configure multi-API in redocly.yaml\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-9-validate-all-specs","__idx":13},"children":["Task 9: Validate All Specs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Lint all OpenAPI specs"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"cd docs\nnpx @redocly/cli lint en/public/openapi.yaml\nnpx @redocly/cli lint en/b2b-v1/openapi.yaml\nnpx @redocly/cli lint en/b2b-v2/openapi.yaml\nnpx @redocly/cli lint en/developers/openapi.yaml\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Preview locally"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"npx @redocly/cli preview --port 8080\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open http://localhost:8080/en/ and verify:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Landing page renders correctly"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["All 4 API links work"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Sidebar navigation works"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Fix any issues found"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-10-keep-original-spec-as-reference","__idx":14},"children":["Task 10: Keep Original Spec as Reference"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Files:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Rename: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/index.yaml"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs/en/openapi-combined.yaml"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Rename original spec"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"mv docs/en/index.yaml docs/en/openapi-combined.yaml\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Update any references"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Check if anything references ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["index.yaml"]}," and update to new name or remove."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Commit"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"git add docs/en/\ngit commit -m \"chore: rename combined spec for reference\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"task-11-final-verification-and-pr","__idx":15},"children":["Task 11: Final Verification and PR"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Run full lint"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"cd docs && npx @redocly/cli lint\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Test preview"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"npx @redocly/cli preview --port 8080\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Verify all pages work."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Push and create PR"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"git push -u origin feature/developer-portal-restructure\ngh pr create --title \"feat: restructure docs into multi-API developer portal\" --body \"$(cat <<'EOF'\n## Summary\n- Split monolithic API into 4 separate OpenAPI specs\n- Added landing page with use cases and AI coding guide\n- Created multi-API sidebar navigation\n\n## APIs\n- Public API (B2C): Online booking, client cabinet\n- B2B API v1: Full business operations\n- B2B API v2: Next-gen endpoints (positions, events, tags)\n- Developers API: Marketplace, webhooks, VoIP\n\n## Test Plan\n- [ ] Landing page renders at /en/\n- [ ] All 4 API specs load without errors\n- [ ] Sidebar navigation works\n- [ ] Search works across all APIs\nEOF\n)\"\n","lang":"bash"},"children":[]}]},"headings":[{"value":"Developer Portal Implementation Plan","id":"developer-portal-implementation-plan","depth":1},{"value":"Task 1: Create Directory Structure","id":"task-1-create-directory-structure","depth":2},{"value":"Task 2: Create Public API OpenAPI Spec","id":"task-2-create-public-api-openapi-spec","depth":2},{"value":"Task 3: Create B2B API v1 OpenAPI Spec","id":"task-3-create-b2b-api-v1-openapi-spec","depth":2},{"value":"Task 4: Create B2B API v2 OpenAPI Spec","id":"task-4-create-b2b-api-v2-openapi-spec","depth":2},{"value":"Task 5: Create Developers API OpenAPI Spec","id":"task-5-create-developers-api-openapi-spec","depth":2},{"value":"Task 6: Create Landing Page","id":"task-6-create-landing-page","depth":2},{"value":"Use Cases","id":"use-cases","depth":2},{"value":"Works Great with AI Assistants","id":"works-great-with-ai-assistants","depth":2},{"value":"Quick Prompts","id":"quick-prompts","depth":3},{"value":"Support","id":"support","depth":2},{"value":"Task 7: Update Main Sidebar","id":"task-7-update-main-sidebar","depth":2},{"value":"Task 8: Update Redocly Config","id":"task-8-update-redocly-config","depth":2},{"value":"Task 9: Validate All Specs","id":"task-9-validate-all-specs","depth":2},{"value":"Task 10: Keep Original Spec as Reference","id":"task-10-keep-original-spec-as-reference","depth":2},{"value":"Task 11: Final Verification and PR","id":"task-11-final-verification-and-pr","depth":2}],"frontmatter":{"seo":{"title":"Developer Portal Implementation Plan"}},"lastModified":"2026-01-03T09:36:58.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/plans/2026-01-03-developer-portal-implementation","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}