Apidog API development platform documentation - API design, testing, mocking, and documentation
Scanned 9/4/2026
Install to Claude Code
npx -y skills add NeverSight/skills_feed --skill apidog --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Apidog?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/neversight-apidog)More formats (shields.io, HTML) on the badges page.
---
name: apidog
description: Apidog API development platform documentation - API design, testing, mocking, and documentation
---
# Apidog Skill
Comprehensive assistance with Apidog - an all-in-one API development platform for designing, testing, mocking, and documenting APIs.
## When to Use This Skill
This skill should be triggered when:
- Designing RESTful APIs or defining endpoints (OpenAPI/Swagger specs)
- Creating API test scenarios and automated testing workflows
- Setting up API mocking for frontend development or testing
- Migrating from Postman, Insomnia, or other API tools
- Working with API documentation generation and sharing
- Debugging API requests and responses
- Managing environments and variables in API workflows
- Writing pre/post processors or test scripts
- Implementing API security schemes (OAuth, API keys, JWT)
- Generating code from API specifications
- Working with schemas and data models (JSON Schema)
- Database operations in API testing (MySQL, MongoDB, Redis)
## Quick Reference
### Basic API Endpoint Design
```json
{
"method": "POST",
"path": "/api/users",
"parameters": {
"body": {
"type": "object",
"properties": {
"name": { "type": "string" },
"email": { "type": "string", "format": "email" }
},
"required": ["name", "email"]
}
},
"responses": {
"201": {
"description": "User created",
"body": {
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"email": { "type": "string" }
}
}
}
}
}
```
### Using Variables in Requests
```javascript
// Environment variables
{{base_url}}/api/users/{{user_id}}
// Dynamic values
{
"timestamp": "{{$timestamp}}",
"uuid": "{{$guid}}",
"random_email": "{{$randomEmail}}",
"random_int": "{{$randomInt}}"
}
```
### Post-Processor Script for Extracting Data
```javascript
// Extract token from response
const response = pm.response.json();
pm.environment.set("auth_token", response.data.token);
// Extract user ID
pm.environment.set("user_id", response.data.user.id);
// Assert response status
pm.test("Status is 200", function() {
pm.response.to.have.status(200);
});
```
### Basic Assertion Examples
```javascript
// Status code assertion
pm.test("Status code is 200", function() {
pm.response.to.have.status(200);
});
// Response body validation
pm.test("Response has user data", function() {
const jsonData = pm.response.json();
pm.expect(jsonData).to.have.property('user');
pm.expect(jsonData.user).to.have.property('email');
});
// Response time check
pm.test("Response time is less than 500ms", function() {
pm.expect(pm.response.responseTime).to.be.below(500);
});
```
### Setting Up Mock Data
```javascript
// Smart Mock - Automatically generates data based on field names
{
"id": "@integer(1, 1000)",
"name": "@name",
"email": "@email",
"avatar": "@image('200x200')",
"created_at": "@datetime"
}
// Custom Mock with conditions
{
"status": "@pick(['active', 'pending', 'disabled'])",
"age": "@integer(18, 65)",
"balance": "@float(0, 10000, 2, 2)"
}
```
### Pre-Processor Script for Dynamic Headers
```javascript
// Generate timestamp-based signature
const timestamp = Date.now();
const signature = CryptoJS.MD5(timestamp + "secret_key").toString();
pm.request.headers.add({
key: "X-Timestamp",
value: timestamp.toString()
});
pm.request.headers.add({
key: "X-Signature",
value: signature
});
```
### Test Scenario with Data Passing
```javascript
// Step 1: Login and save token
// POST /api/login
pm.test("Login successful", function() {
const response = pm.response.json();
pm.environment.set("token", response.access_token);
});
// Step 2: Use token in next request
// GET /api/profile
// Headers: Authorization: Bearer {{token}}
// Step 3: Extract and use profile data
pm.test("Profile fetched", function() {
const profile = pm.response.json();
pm.environment.set("user_name", profile.name);
});
```
### Database Operation in Tests
```javascript
// MySQL query in pre-processor
const db = require('db');
const result = db.query('SELECT * FROM users WHERE email = ?', [pm.environment.get('email')]);
pm.environment.set('user_id', result[0].id);
```
### Schema Composition (oneOf, allOf, anyOf)
```json
{
"oneOf": [
{
"type": "object",
"properties": {
"type": { "const": "credit_card" },
"card_number": { "type": "string" }
}
},
{
"type": "object",
"properties": {
"type": { "const": "bank_account" },
"account_number": { "type": "string" }
}
}
]
}
```
### Security Scheme Configuration
```json
{
"securitySchemes": {
"BearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
},
"ApiKeyAuth": {
"type": "apiKey",
"in": "header",
"name": "X-API-Key"
}
}
}
```
## Key Concepts
### Design-First vs Request-First Mode
- **Design-First**: Define API specifications first, then implement and test
- **Request-First**: Send requests directly, then optionally save as endpoints
- Apidog supports both workflows seamlessly
### Schemas and Components
- **Schemas**: Reusable data models (JSON Schema format)
- **Components**: Shared parameters, headers, responses across endpoints
- Enables DRY principles in API design
### Smart Mock
Automatically generates realistic mock data based on:
- Field names (email, phone, address, etc.)
- Data types (string, number, boolean)
- Formats (date-time, uuid, url)
- Custom mock rules and priorities
### Pre/Post Processors
- **Pre-processors**: Run before request (setup, auth, dynamic data)
- **Post-processors**: Run after response (assertions, data extraction, validation)
- Support scripts, database operations, variable extraction, assertions
### Test Scenarios
- Chain multiple API requests together
- Pass data between requests using variables
- Add conditional logic and loops
- Generate comprehensive test reports
### Environments & Variables
- **Environment variables**: Configuration per environment (dev, staging, prod)
- **Global variables**: Shared across all environments
- **Temporary variables**: Exist only during test scenario execution
- **Vault secrets**: Secure storage (HashiCorp, Azure, AWS integration)
## Reference Files
This skill includes comprehensive documentation in `references/`:
- **api.md** - Complete Apidog documentation including:
- **Getting Started**: Introduction, navigation, basic concepts, quick start guides
- **Migration**: Import from Postman, Insomnia, Swagger/OpenAPI, cURL, HAR files
- **API Design**: Endpoint specifications, schemas, components, security schemes, modules
- **Development & Debugging**: Requests, responses, environments, variables, code generation
- **Pre/Post Processors**: Assertions, scripts, database operations, variable extraction
- **Mock Data**: Smart mock, custom mock, mock scripts, cloud vs self-hosted
- **Testing**: Test scenarios, automation, reports, data passing between requests
- **Dynamic Values Modules**: Faker.js integration for realistic test data (50+ modules)
- **Collaboration**: Team management, permissions, version control
- **Documentation**: Auto-generation, sharing, customization
- **Integration**: CI/CD, webhooks, CLI, API
Use the reference file when you need:
- Detailed feature explanations
- Advanced configuration options
- Migration guides and import procedures
- Comprehensive scripting examples
- Database integration patterns
- Complete dynamic values reference
## Working with This Skill
### For Beginners
Start with these core concepts:
1. **Creating your first endpoint**: Define method, path, parameters, and responses
2. **Making requests**: Use the request panel to test endpoints
3. **Basic assertions**: Validate status codes and response bodies
4. **Environments**: Set up dev/staging/prod configurations
5. **Mock data**: Enable mock server for frontend development
Refer to the Quick Start section in `references/api.md` for step-by-step tutorials.
### For Intermediate Users
Focus on:
1. **Schema design**: Create reusable data models with JSON Schema
2. **Test scenarios**: Chain requests and pass data between them
3. **Pre/Post processors**: Add custom logic with scripts
4. **Dynamic values**: Use Faker.js modules for realistic test data
5. **Security schemes**: Implement OAuth, JWT, API key authentication
### For Advanced Users
Explore:
1. **Database operations**: Query MySQL/MongoDB/Redis in tests
2. **Custom scripts**: Use JavaScript libraries and external languages
3. **Schema composition**: Leverage oneOf, allOf, anyOf for complex models
4. **CI/CD integration**: Automate testing in pipelines
5. **Team collaboration**: Version control, branches, merge conflicts
6. **API documentation**: Customize and publish interactive docs
### For Migration
If coming from other tools:
- **Postman users**: Import collections, environments, and globals
- **Insomnia users**: Import workspaces and requests
- **Swagger users**: Import OpenAPI 2.0/3.0 specifications
- **cURL users**: Paste cURL commands directly
- Check `references/api.md` Migration section for detailed guides
### Navigation Tips
- Use Ctrl/Cmd+K for quick search across documentation
- Check the Table of Contents in api.md for specific topics
- Dynamic Values Modules section lists all available Faker.js functions
- Script examples section shows common patterns for assertions and data manipulation
## Common Workflows
### Workflow 1: Design → Mock → Test → Document
1. Design API endpoints with schemas
2. Enable smart mock for realistic data
3. Write test scenarios with assertions
4. Auto-generate and share documentation
### Workflow 2: Import → Enhance → Automate
1. Import from Postman/Swagger
2. Add schemas and components for reusability
3. Create test scenarios with data passing
4. Integrate with CI/CD pipeline
### Workflow 3: Request-First Development
1. Send ad-hoc requests to explore APIs
2. Save successful requests as endpoints
3. Add schemas from response bodies
4. Build test scenarios from saved requests
## Resources
### Official Documentation
All content is sourced from https://docs.apidog.com/
### Dynamic Values Reference
Apidog includes 50+ Faker.js modules for test data:
- Person (names, emails, phones)
- Internet (URLs, IPs, domains)
- Commerce (products, prices)
- Date/Time (timestamps, future/past dates)
- Location (addresses, coordinates)
- Finance (credit cards, transactions)
- And many more - see Dynamic Values Modules in api.md
### Database Support
- MySQL / PostgreSQL
- MongoDB
- Redis
- Oracle
### Scripting Languages
- JavaScript (primary)
- Python, PHP, Go, Java (via external execution)
### Import/Export Formats
- OpenAPI 2.0 / 3.0
- Postman Collection v1/v2
- Insomnia v4
- HAR (HTTP Archive)
- cURL
- WSDL
- Markdown
## Notes
- This skill was automatically generated from official Apidog documentation
- Code examples preserve syntax from source docs with proper language detection
- Quick reference examples are extracted from real-world usage patterns
- Reference file maintains hierarchical structure of official documentation
## Updating
To refresh this skill with updated documentation:
1. Re-run the scraper with the same configuration
2. The skill will be rebuilt with the latest information from docs.apidog.com
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!