Apidog Docs
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Design APIs
  • Apidog Learning Center
  • Getting Started
    • Introduction to Apidog
    • Basic Concepts in Apidog
    • Navigating Apidog
    • Quick Start
      • Overview
      • Creating an Endpoint
      • Making a Request
      • Adding an Assertion
      • Creating Test Scenarios
      • Sharing API Documentation
      • Explore More
    • Migration to Apidog
      • Overview
      • Manual Import
      • Scheduled Import (Bind Data Sources)
      • Import Options
      • Export Data
      • Import From
        • Import from Postman
        • Import from Stoplight
        • Import OpenAPI Spec
        • Import cURL
        • Import Markdowns
        • Import from Insomnia
        • Import from apiDoc
        • Import .har File
        • Import WSDL
  • Design APIs
    • Overview
    • Create a New API Project
    • Endpoint Basics
    • APl Design Guidelines
    • Module
    • Configure Multiple Request Body Examples
    • Components
    • Common Fields
    • Global Parameters
    • Endpoint Change History
    • Comments
    • Batch Endpoint Management
    • Custom Protocol API
    • Spec-first Mode (Beta)
    • Schemas
      • Overview
      • Create a New Schema
      • Build a Schema
      • Generate Schemas from JSON Etc
      • oneOf, allOf, anyOf
      • Using Discriminator
    • Security Schemes
      • Overview
      • Create a Security Scheme
      • Use the Security Scheme
      • Security Scheme in Online Documentation
    • Advanced Features
      • Custom Endpoint Fields
      • Associated Test Scenarios
      • Endpoint Status
      • Appearance of Parameter Lists
      • Endpoint Unique Identification
  • Develop and Debug APIs
    • Overview
    • Generating Requests
    • Sending Requests
    • Debugging Cases
    • Test Cases
    • Dynamic Values
    • Validating Responses
    • Design-First vs Request-First
    • Generating Code
    • API Debugging
      • AI Agent Debugger
      • A2A Debugger
    • Environments & Variables
      • Overview
      • Using Variables
      • Environment Management
    • Vault Secrets
      • Overview
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Pre and Post Processors
      • Overview
      • Assertion
      • Extract Variable
      • Wait
      • Security
      • Database Operations
        • Overview
        • MySQL
        • MongoDB
        • Redis
        • Oracle Client
      • Using Scripts
        • Overview
        • Pre Processor Scripts
        • Post Processor Scripts
        • Public Scripts
        • Postman Scripts Reference
        • Calling Other Programming Languages
        • Using JS Libraries
        • Visualizing Responses
        • Script Examples
          • Assertion Scripts
          • Using Variables
          • Modifying Requests
          • Other Examples
    • Dynamic Values Modules
  • Mock API Data
    • Overview
    • Smart Mock
    • Custom Mock
    • Mock Priority Sequence
    • Mock Scripts
    • Cloud Mock
    • Self-Hosted Runner Mock
    • Mock Language (Locales)
  • API Testing
    • Overview
    • Test Scenarios
      • Create a Test Scenario
      • Pass Data Between Requests
      • Flow Control Conditions
      • Sync Data from Endpoints and Endpoint Cases
      • Import Endpoints and Endpoint Cases from Other Projects
      • Export Test Scenarios
    • Run Test Scenarios
      • Run a Test Scenario
      • Run Test Scenarios in Batch
      • Data-Driven Testing
      • Shared Test Data
      • Scheduled Tasks
      • Manage Runtime Environment of APIs from Other Projects
    • Test Suite
      • Overview
      • Create A Test Suite
      • Orchestrate Test Suite
      • Run Test Suites Locally
      • Run Test Suites Via CLI
      • Scheduled tasks
    • Test Reports
      • Test Reports
    • Test APIs
      • Integration Testing
      • Performance Testing
      • End-to-End Testing
      • Regression Testing
      • Contract Testing
    • Apidog CLI
      • Overview
      • Installing and Running Apidog CLI
      • Apidog CLI Options
    • CI CD
      • Overview
      • Integrate with Github Actions
      • Integrate with Gitlab
      • Integrate with Jenkins
      • Trigger Test by Git Commit
  • Publish API Docs
    • Overview
    • API Technologies Supported
    • Quick Share
    • Viewing API Documentation
    • Markdown Documentation
    • Publishing Documentation Sites
    • Custom Login Page
    • Custom Layouts
    • Custom CSS, JavaScript, HTML
    • Custom Domain
    • AI Features
    • SEO Settings
    • Advanced Settings
      • Documentation Search
      • CORS Proxy
      • Integrating Google Analytics
      • Folder Tree Settings
      • Visibility Settings
      • Embedding Values in Document URLs
    • API Versions
      • Overview
      • Creating API Versions
      • Publishing API Versions
      • Sharing Endpoints with API Versions
  • Send Requests
    • Overview
    • SSE Debugging
    • MCP Client
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP or WebService
    • GraphQL
    • gRPC
    • Use Request Proxy Agents for Debugging
    • Create Requests
      • Request History
      • Request Basics
      • Parameters and Body
      • Request Headers
      • Request Settings
      • Debug Requests
      • Saving Requests as Endpoints
      • HTTP/2
    • Response and Cookies
      • Viewing API Responses
      • Managing Cookies
      • Overview
    • Authentication and Authorization
      • Overview
      • CA and Client Certificates
      • Authorization Types
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk Authentication
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
  • Branches
    • Overview
    • Creating a Sprint Branch
    • Testing APIs in a Branch
    • Designing APIs in a Branch
    • Merging Sprint Branches
    • Managing Sprint Branches
    • AI Branch (Beta)
  • AI Features
    • Overview
    • Enabling AI Features
    • Generating Test Cases
    • Modifying Schemas with AI
    • Endpoint Compliance Check
    • API Documentation Completeness Check
    • AI-Powered Field Naming
    • FAQs
  • Apidog MCP Server
    • Overview
    • Connect Apidog Project to AI
    • Connect Published Documentation to AI
    • Connect OpenAPI Files to AI
  • Best Practices
    • Handling API Signatures
    • Accessing OAuth 2.0 Protected APIs
    • Collaboration Workflow
    • Managing Authentication State
  • Offline Space
    • Overview
  • Administration
    • Onboarding Checklist
      • Basic Concepts
      • Onboarding Guide
    • Managing Projects
      • Managing Projects
      • Notification Settings
      • Managing Project Members
      • Project Resources
        • Database Connection
        • Git Connection
    • Managing Teams
      • Managing Teams
      • Managing Team Members
      • Team Activities
      • Team Roles & Permissions
      • Team Resources
        • General Runner
        • Team Variables
        • Request Proxy Agent
      • Real-time Collaborations
        • Team Collaboration
    • Managing Organization
      • Managing Organization
      • Organization Role & Permissions
      • Single Sign-On (SSO)
        • SSO Overview
        • Configuring Microsoft Entra ID
        • Configuring Okta
        • Configuring SSO for an Organization
        • Managing User Accounts
        • Mapping Groups to Teams
      • SCIM Provisioning
        • Introduction to SCIM Provisioning
        • Microsoft Entra ID
        • Okta
      • Plans Management
        • Billing Managers in Organizations
      • Organization Resources
        • Self-Hosted Runner
  • Billing
    • Overview
    • Credits
    • Upgrading Your Plan
    • Alternative Payment Methods
    • Managing Subscriptions
    • Moving Paid Teams to Organizations
  • Data & Security
    • Data Storage and Security
    • User Data Privacy and Security
    • Request Routing and Data Security
  • Add-ons
    • API Hub
    • Apidog Intellij IDEA Plugin
    • Browser Extension
      • Chrome
      • Microsoft Edge
    • Request Proxy
      • Request Proxy in Web
      • Request Proxy in Shared Docs
      • Request Proxy in Client
  • Account & Preferences
    • Account Settings
    • Generating OpenAPI Access Token
    • Notification
    • Language Settings
    • Hot Keys
    • Network Proxy Configuration
    • Backing Up Data
    • Updating Apidog
    • Deleting Account
    • Experimental Features
  • References
    • API Design-First Approach
    • Apidog OpenAPI Specificaiton Extensions
    • JSONPath
    • XPath
    • Regular Expressions
    • JSON Schema
    • CSV File Format
    • Installing Java Environment
    • Runner Deployment Environment
    • Apidog Markdown Syntax
    • Apidog Swagger Extensions
      • Overview
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Apidog JSON Schema Extensions
      • Overview
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • Apidog Europe
    • Apidog Europe
  • Support Center
  1. Design APIs

Spec-first Mode (Beta)

Spec-first Mode is for teams that want API specification files to be the source of truth. In this mode, you design and maintain OpenAPI or Swagger files directly in Apidog, preview the generated API documentation as you edit, and keep the files synchronized with Git.
Use Spec-first Mode when your team already works with YAML or JSON specification files, reviews API changes through Git, or wants API design to fit naturally into a code repository workflow.

How Spec-first Mode Works#

In a regular Apidog project, APIs are usually created and edited through visual forms. In a Spec-first project, the primary workspace is file-based.
You work with files such as:
openapi.yaml
openapi.json
Swagger 2.0 files
Markdown files and other supporting project files
Apidog parses the specification files and turns them into a navigable API structure. You can edit the raw files, use supported visual forms, validate the specification, preview generated documentation, and push changes back to Git.

Create a Spec-first Project#

1
Click + New Project.
2
In the project type selector, choose Spec-first Mode.
3
Connect a Git provider, such as GitHub, GitLab, Azure DevOps, or Bitbucket.
4
Select an organization or workspace, then choose an existing repository or create a new repository if the option is available.
5
Select the main branch Apidog should synchronize with.
6
Choose whether to install a webhook.
Installing a webhook allows pushes in the Git repository to trigger automatic synchronization. This usually requires admin permission on the repository. If you do not have admin permission, you can skip webhook installation and sync manually.
7
Enter the project name, configure member permissions, and click Create.
image.png
After creation, Apidog performs the first synchronization. If the repository's default branch is not main, Apidog uses the repository branch name for the project main branch.
Spec-first projects do not include sample project data. The API content comes from your specification files.

The Specs Workspace#

Spec-first projects include a Specs workspace in the left sidebar. This is the main place to manage specification files and Git sync.
Specs workspace
The workspace contains three main areas:
File explorer: Browse and manage files and folders from the synchronized repository.
API structure tree: Navigate parsed OpenAPI content, such as overview, endpoints, schemas, and definitions.
Editor: Edit files in code view or, for supported OpenAPI nodes, in form view.
When you select an endpoint, schema, or other supported node in the structure tree, Apidog opens the related part of the source file. This lets you move between the file-level view and the API-level view without leaving the Specs workspace.

Edit Specification Files#

The editor supports different file types and editing modes.

Code View#

Use Code view to edit YAML, JSON, Markdown, and other text files directly. This is the default way to work in Spec-first Mode.
image.png

Form View#

For supported OpenAPI nodes, Apidog also provides a Form view. This lets you edit common API fields through structured controls while keeping the underlying specification file as the source of truth.
image.png
Form view is available for supported nodes such as:
API overview
Endpoints
Schemas
Definitions
If the selected file or node cannot be edited in form view, Apidog keeps you in code view.

Validate and Preview While Editing#

Spec-first Mode includes validation and preview tools in the editor header.

Validation#

The Validation panel shows issues detected in the current specification, including warnings and errors. The validation badge displays the total number of detected issues.
image.png
Use this panel to find syntax problems, missing required fields, and rule violations before committing changes.

Preview#

The Preview panel shows how the selected specification node will appear in generated API documentation.
Preview is available for:
API overview
Endpoints
Schemas
Definitions
For endpoints, Preview includes:
Docs: The generated endpoint documentation.
Try it out: A request panel for sending a request based on the selected endpoint definition.
image.png
For schemas, definitions, and overview nodes, Preview shows the generated documentation view.
image.png
Validation and Preview use the same side panel. Opening one closes the other.

Sync Changes from Git#

When other team members push changes to the connected repository, you can pull the latest files into Apidog.
1
Open the Specs workspace.
2
Click the current branch name in the Specs sidebar.
3
Click Git Pull.
If webhook sync is installed, Apidog can also receive push events from the Git provider and trigger synchronization automatically.

Commit and Push Changes to Git#

After editing files in Apidog, push your changes back to the connected repository.
1
Edit one or more files in the Specs workspace.
2
Click Changes to review modified, added, renamed, and deleted files.
3
Click Commit & Push.
4
In the Push to Git repo modal, select the files you want to include.
5
Enter a commit message.
6
Click Push.
Commit and push changes
If you do not want to keep your local edits, use Discard all changes before pushing.

Manage Branches#

Spec-first Mode supports branch-based collaboration. Apidog maps synchronized Git branches to project branches so you can switch between versions of the specification.
image.png

Switch Branches#

Click the branch name in the Specs sidebar and select another branch from the dropdown.

Track an Existing Git Branch#

If a branch exists in Git but has not been imported into Apidog, click Import New Branch, select the branch, and import it. Apidog then starts tracking and synchronizing that branch.

Create a Branch#

Open Project Settings > Git & Branches and click New Branch to create a branch from an existing project branch.

Re-sync a Branch#

If a branch sync fails or the files look out of date, use Re-sync in Project Settings > Git & Branches. This resets the sync state for that branch and imports the files again.

View Sync Logs#

If a sync fails, open the branch actions and choose View Logs to inspect the sync details.

Stop Tracking or Delete a Branch#

Deleting a tracked branch removes it from Apidog's sync configuration. For non-main branches, the project branch record can also be removed.
image.png

Webhook Sync and Permissions#

Webhook sync is optional but recommended for teams that want Apidog to stay up to date with repository pushes.
When webhook sync is enabled:
Apidog registers a webhook on the connected Git provider.
Only supported push events are processed.
Apidog verifies the webhook signature or token before syncing.
Permission requirements:
Installing a webhook usually requires repository admin permission.
Pushing changes requires write permission.
If webhook installation is skipped, manual sync is still available.
If you skipped webhook installation during project creation, you can install it later from Project Settings > Git & Branches.

Storage-backed Spec-first Projects#

Some Spec-first projects may use Apidog's internal storage instead of an external Git repository.
image.png
These projects still use the Specs workspace, file-based editing, validation, preview, and branch management.
The UI labels are slightly different:
Git Pull appears as Sync.
Commit & Push appears as Save.
Git provider information and external webhook settings are hidden.

Notes and Limitations#

Spec-first Mode is currently in beta.
The Specs workspace appears only in Spec-first projects.
Spec-first projects do not create sample API data.
The specification file is the source of truth. Changes should be made through the Specs workspace or synchronized through Git.
Webhook installation may fail if you do not have enough repository permission. You can still use manual sync if you have write access.
Modified at 2026-06-05 03:59:45
Previous
Custom Protocol API
Next
Overview
Built with