Mohammad Asad Web Design API Documentation

Complete API documentation for Mohammad Asad web design services. Provides endpoints for contact form submissions, project quotes, service information, and health checks.

API Versioning

Current Version: v1.0.0

Base URL: https://mohammad-asad.vercel.app/api/v1

Deprecated Base URL: https://mohammad-asad.vercel.app/api (use v1 endpoints instead)

Versioning Policy

Rate Limiting

All API endpoints implement rate limiting with the following headers:

Rate Limits by Endpoint

Authentication

Currently, no authentication is required for public endpoints. API key authentication may be added in future versions.

Content Negotiation

Some endpoints support content negotiation via the Accept header:

Responses include Vary: Accept, Accept-Encoding header for proper caching.

API Endpoints

POST /api/v1/contact

Submit a contact form inquiry to Mohammad Asad web design services.

Request Headers

Content-Type: application/json
Accept: application/json

Request Body

{
  "name": "string (required, 2-100 chars)",
  "email": "string (required, valid email)",
  "phone": "string (optional)",
  "subject": "string (optional, max 200 chars)",
  "message": "string (required, 10-2000 chars)",
  "service_interest": "string (optional, enum: web-design, ui-ux, web-development, wordpress, shopify, maintenance, other)"
}

Response Headers

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 1692835200
X-API-Version: 1.0.0

Success Response (200)

{
  "success": true,
  "message": "Thank you for your message. We will get back to you within 24 hours.",
  "reference_id": "CON-1234567890-abc123"
}

POST /api/v1/quote

Request a detailed project quote for web design services.

Request Body

{
  "name": "string (required, 2-100 chars)",
  "email": "string (required, valid email)",
  "company": "string (optional)",
  "project_type": "string (required, enum: custom-website, wordpress, shopify, ui-ux-design, website-redesign, maintenance)",
  "budget_range": "string (required, enum: <1000, 1000-3000, 3000-5000, 5000-10000, 10000+)",
  "timeline": "string (optional)",
  "description": "string (required, 20-5000 chars)"
}

Success Response (200)

{
  "success": true,
  "message": "Quote request received. We will review and get back to you within 2 business days.",
  "reference_id": "QUOTE-1234567890-xyz789"
}

GET /api/v1/services

Get list of available web design and development services with pricing information.

Content Negotiation

Supports both JSON and Markdown responses via Accept header.

JSON Response (200)

{
  "services": [
    {
      "id": "web-design",
      "name": "Custom Web Design",
      "description": "Professional custom website design tailored to your brand and business needs.",
      "starting_price": "$1,000"
    }
  ]
}

GET /api/v1/health

Check API health status and availability.

Response (200)

{
  "status": "healthy",
  "timestamp": "2024-08-23T12:00:00Z",
  "version": "1.0.0",
  "api_version": "v1",
  "documentation": "https://mohammad-asad.vercel.app/docs"
}

Error Responses

All error responses follow this structured format:

{
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable error message",
    "documentation": "https://mohammad-asad.vercel.app/docs"
  }
}

Common Error Codes

HTTP Status Codes

OpenAPI Specification

Complete OpenAPI 3.0.3 specification available at: /openapi.json

Includes full schemas, examples, and rate limiting documentation.

Developer Resources

SDKs and Libraries

Currently no official SDKs are provided. The API can be integrated using standard HTTP clients in any programming language.

Support

For API support and questions:

Changelog

v1.0.0 (Current)