Apidog Docs
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
HomeLearning CenterSupport CenterAPI ReferencesChangelog
HomeLearning CenterSupport CenterAPI ReferencesChangelog
Discord Community
Slack Community
X / Twitter
🇺🇸 English
  • 🇺🇸 English
  • 🇯🇵 日本語
  1. Get started
  • Apidog Learning Center
  • Get started
    • Introduce Apidog
    • Navigating Apidog
    • Basic concepts in Apidog
    • Quick Start
      • Overview
      • Specify a new endpoint
      • Make a request to the endpoint
      • Add an assertion
      • Create a test scenario
      • Share your API documentation
      • Explore more
      • Send a request and save as an endpoint
    • Migration to Apidog
      • Overview
      • Manual import
      • Scheduled import
      • Import options
      • Export data
      • Import from...
        • Import from Postman
        • Import OpenAPI (Swagger) spec
        • Import cURL
        • Import Markdowns
        • Import from Insomnia
        • Import from apiDoc
        • Import .har file
        • Import WSDL
  • Design APIs
    • Overview
    • Organization method of endpoints
    • Endpoint basics
    • Components
    • Common fields
    • Global parameters
    • Endpoint change history
    • Batch endpoint management
    • Configure multiple request body examples
    • Module
    • Schemas
      • Overview
      • Create a new schema
      • Build a schema
      • Generate Schemas from JSON etc.
    • Security schemes
      • Overview
      • Create a security scheme
      • Use the security scheme
      • Security scheme in online documentation
    • Advanced features
      • Custom endpoint fields
      • Import endpoints as test steps
      • Endpoint status
      • Appearance of parameter lists
      • Endpoint unique identification
  • Develop and Debug APIs
    • Overview
    • Generate requests
    • Send requests
    • Endpoint cases
    • Dynamic values
    • Validate responses
    • Design-first Mode & Request-first Mode
    • Generate code
    • Environments & variables
      • Overview
      • Using variables
      • Environment Management
    • Vault secrets
      • Overview
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Pre/Post processors
      • Overview
      • Assertion
      • Extract variable
      • Wait
      • 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 in scripts
          • Using scripts to modify request messages
          • 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)
  • Automated tests
    • Overview
    • Test reports
    • Test scenarios
      • Create a test scenario
      • Pass data between requests
      • Flow control conditions
      • Sync data from endpoints/endpoint cases
      • Import endpoints/endpoint cases from other projects
      • Export test scenarios
    • Run test scenarios
      • Run a test scenario
      • Data-driven testing
      • Run test scenarios in batch
      • Scheduled tasks
      • Manage the runtime environment of APIs from other projects
    • Test APIs
      • Integration testing
      • Performance testing
      • End-to-end testing
      • Regression testing
    • Apidog CLI
      • Overview
      • Installing and running Apidog CLI
      • Apidog CLI Options
    • CI/CD
      • Overview
      • Integrate with Github Actions
      • Integrate with Jenkins
      • Integrate with Gitlab
      • Trigger Test by Git Commit
  • Publish API Docs
    • Overview
    • API Technologies Supported
    • Quick share
    • View the API documentation
    • Markdown documentations
    • Publish docs sites
    • Custom layouts
    • Custom CSS, JavaScript, HTML
    • Custom domain
    • LLM-friendly Features
    • SEO settings
    • Advanced Settings
      • Documentation Search
      • CORS Proxy
      • Integrating Google Analytics with Doc Sites
      • Folder tree settings
      • Visibility settings
      • Embedding values in document URLs
    • API Versions
      • Overview
      • Create API versions
      • Publish API versions
      • Share endpoints with API versions
  • Send requests
    • Overview
    • SSE debugging
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP/WebService
    • GraphQL
    • gRPC
    • Use request proxy agents for debugging
    • Create requests
      • Request History
      • Request basics
      • Parameters and body
      • Request headers
      • Request settings
      • HTTP/2
    • Authentication and authorization
      • Overview
      • CA and client certificates
      • Authorization types supported by Apidog
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk Authentication
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • Response and cookies
      • Overview
      • API response in Apidog
      • Create and send cookies
      • Debug requests
      • Save the request as an endpoint
  • Branches
    • Overview
    • Create a new sprint branch
    • Test APIs in a branch
    • Design API in a branch
    • Merge sprint branches
    • Manage sprint branches
  • AI Features
    • Overview
    • Enable AI Features
    • Modify Schemas with AI
    • FAQs
  • Apidog MCP Server
    • Overview
    • Connect API Specification within Apidog Project to AI via Apidog MCP Server
    • Connect Online API Documentation Published by Apidog to AI via Apidog MCP Server
    • Connect OpenAPI Files to AI via Apidog MCP Server
  • Best practices
    • How to handle API signatures
    • How to access OAuth 2.0 protected APIs
    • Apidog collaboration workflow
    • Managing authentication state in Apidog
  • Offline Space
    • Overview
  • Administration
    • Onboarding Checklist
      • Basic Concepts
      • Onboarding Guide
    • Managing Teams
      • Managing Teams
      • Managing Team Members
      • Member Roles & Permission Settings
      • Team Activities
      • Team Resources
        • General Runner
        • Team Variables
        • Request Proxy Agent
      • Real-time Collaborations
        • Team Collaboration
    • Managing Projects
      • Managing Projects
      • Managing Project Members
      • Notification Settings
      • Project Resources
        • Database Connection
    • Managing Organizations
      • Single Sign-On (SSO)
        • SSO Overview
        • Configure Microsoft Entra ID
        • Configure Okta
        • Configure SSO for an Organization
        • Managing user accounts
        • Mapping Groups to Teams
      • SCIM Provisioning
        • Intro to SCIM Provisioning
        • Microsoft Entra ID
        • Okta
      • Organization Resources
        • Self-hosted Runner
  • Billing
    • Overview
    • Credits
    • Unable to use credit cards?
    • Managing subscriptions
    • Upgrade plan
  • Data & Security
    • Where is Apidog's data stored, and how is data security ensured?
    • How is user data stored? Will this data be public? Or will it be private? Will all data be stored in the cloud?
    • When sending requests, do they go through the Apidog server? Is data security ensured?
  • Add-ons
    • API Hub
    • Apidog Intellij IDEA plugin
    • Browser Extension
      • Chrome
      • Microsoft Edge
    • Request Proxy
      • Request proxy in Apidog web
      • Request proxy in shared docs
      • Request proxy in Apidog client
  • Account & preferences
    • Account settings
    • Generate OpenAPI access token
    • Language settings
    • Hot keys
    • Network proxy configuration
    • Data backup
    • Updating Apidog
    • Deleting account
    • Experimental Features
  • References
    • API-Design First Approach
    • Apidog OpenAPI/Swagger Specificaiton Extensions
    • JSONPath
    • XPath
    • Regular Expressions
    • JSON Schema
    • CSV File Format
    • Install Java Environment
    • Runner deployment environment
    • Apidog flavored Markdown
  • Apidog Europe
    • Apidog Europe
  • Support Center
  1. Get started

Basic concepts in Apidog

This article introduces some core concepts in Apidog. Many of these concepts may differ from similar products (such as Postman). Understanding these definitions and differences will help you better comprehend Apidog's workflow.

Design-first Mode & Request-first Mode#

Apidog's APIs module features two modes that can be switched at the bottom left corner of the interface: Design-first Mode and Request-first Mode.
Both modes provide similar functionalities but with different interfaces, catering to different team workflows.
Design-first Mode is Apidog's recommended mode, suitable for teams following the API-Design First approach. In this mode, teams spec the API first and then proceed with development and testing based on the API spec.
On the other hand, Request-first Mode is ideal for teams that do not initially define the API specifications. These teams typically focus on backend development, finalize the code, and then produce the API spec for testing and client-side work to begin.
If you need to call APIs developed by someone else but you don't have the documentation, you should also use Request-first Mode.
Learn more about Design-first Mode & Request-first Mode.

Endpoint#

Apidog is an API-first product, meaning everything starts with defining APIs, and Endpoints are the core elements in APIs.
In Apidog's main interface, Endpoints are basic elements, grouped together in a directory form. For each Endpoint, you can modify its definition, preview it, send requests based on this endpoint spec, or save requests as endpoint cases.
This structure is very different from Postman and is more like an extension based on OAS - an API spec that can directly debug and save requests.
In Postman, the basic element is a request, and requests are essentially separate from API specs. This means that when the API spec changes, all requests and scripts need to be rewritten.
In Apidog, all endpoint cases (corresponding to Postman's requests) are based on API specs. When API specs change, endpoint cases naturally change, and all test scenarios and CI/CD based on this can be automatically or manually updated, which is very suitable for development teams to maintain and update APIs.

Request#

In Apidog, you can also create Requests. Requests don't need to be based on endpoint specs, and their definition is the same as Postman requests. You can also parse a successful request into an endpoint spec.

Test scenario#

When you need to send a batch of requests together (similar to running a Postman Collection), you'll need to use a Test scenario.
A test scenario includes a series of requests. These requests can be imported into the test scenario from endpoint specs or endpoint cases, and can be automatically or manually updated as the API spec changes.
Test scenarios also support logic components such as If, for, forEach, etc. You can pass data between requests, dynamically generate request parameters, and more.
Based on test scenarios, you can also view test reports, run performance tests, manage test data, integrate CI/CD, and more.

Environment#

Environments in Apidog are similar to environments in Postman — they contain many variables. When you switch environments, you can use different values for the same set of environment variables. However, Apidog introduces another key concept: Base URL.
In Apidog, the Base URL is the foundational part of the endpoint request address. When combined with the endpoint path, it forms the full request URL. Each environment can be configured with multiple Base URLs to support endpoint management across different services or microservices.
image.png
This setup aligns with the OpenAPI(Swagger) specifications, where the endpoint path usually starts with a/, and the full request URL is created by combining theBase URLand the endpoint path.
So, instead of writing the full request URL each time, you just enter the endpoint path (like/user), and Apidog will automatically splice the corresponding module's prefix URL configured in the current environment according to the module to which the endpoint belongs.
For example, suppose your project has three modules, each representing a service. In the "Prod Env", their Base URLs are:
User Service:https://user.example.com
Order Service:https://order.example.com
Product Service:https://product.example.com
Each module has an endpoint path:
User Service:GET /user/{id}
Order Service:GET /order/{id}
Product Service:GET /product/{id}
When switched to the production environment, the full request URLs will be automatically generated as:
https://user.example.com/user/{id}
https://order.example.com/order/{id}
https://product.example.com/product/{id}
image.png
There's no need to manually write {{BaseUrl}} or duplicate environments for each module. Apidog will detect the module of the endpoints and automatically append the corresponding base URL in the current environment to form the full request URL.

Module#

Within an Apidog project, you can use Module to organize endpoints logically. A module is similar to a "service" in technical architecture—it's designed to help manage endpoints better in scenarios like microservices.
Each module includes a full set of related endpoints, components(schemas, responses, security schemes), and Base URL(one per environment), representing a standalone Swagger/OpenAPI specification file.
image.png
When importing or exporting data, most formats (except the Apidog format) operate at the module level. This aligns more closely with OAS (OpenAPI Specification), enabling better standards compliance and easier integration with other tools.
When you create a new project in Apidog, it starts with one default module. If you need multiple base URLs in one environment, you can simply create additional modules. All endpoints in a module will use that module’s base URL when making requests.

Project#

A Project in Apidog consists of modules (endpoints and components), environments, test scenarios and more. It serves as the primary unit of collaboration. One project may contain multiple endpoint specifications.
Compared to Postman, an Apidog project is roughly equivalent to a Postman Workspace. A module in Apidog corresponds to a Collection folder in Postman. Likewise, an Apidog Team functions similarly to a Postman Team.
Modified at 2025-07-16 01:54:50
Previous
Navigating Apidog
Next
Overview
Built with