Skip to content

Status API

Overview

The Status API (/v1/status) provides a concise summary of the Wickson API's current operational state and your account's access status. This endpoint is designed for monitoring API health, authentication status, and rate limit information.

Details

This endpoint provides the following information:

  • Overall Status: A high-level indicator of the API's health (operational, degraded, maintenance)
  • API Version: The current version of the Wickson API
  • Component Status: The status of individual API components (e.g., api, storage, search)
  • Authentication: Confirmation of your API key's type, tier, and granted capabilities
  • Rate Limits: Your current rate limit usage, including remaining requests, reset time, and burst limit
  • Notices: Information about scheduled maintenance or downtime (if applicable)

Endpoint

GET https://api.wickson.ai/v1/status

Description

Provides comprehensive information about the API's operational status, component health, and your account's rate limit information. This endpoint is ideal for monitoring API health and diagnosing potential issues.

Request

Headers

  • X-Api-Key: Required. Your Wickson API key

Example Request

curl -H "X-Api-Key: YOUR_API_KEY" https://api.wickson.ai/v1/status

Python Example

import requests

# Configuration
api_key = "YOUR_API_KEY"

# Get API status
response = requests.get(
    "https://api.wickson.ai/v1/status",
    headers={"X-Api-Key": api_key}
)

# Process response
if response.status_code == 200:
    data = response.json()["data"]

    # Print system status
    print(f"API Status: {data['status']} (v{data['version']})")
    print(f"Timestamp: {data['timestamp']}")

    # Print component status
    print("\nComponent Status:")
    for component, status in data["components"].items():
        print(f"- {component}: {status}")

    # Print account information
    print(f"\nAccount Tier: {data['account']['tier']}")
    rate_limits = data['account']['rate_limits']
    print(f"Rate Limits: {rate_limits['remaining']}/{rate_limits['limit']} remaining")
    print(f"Rate Reset: {rate_limits['reset_time']}")

    # Print performance metrics
    print(f"\nResponse Time: {data['performance']['response_time_ms']}ms")

    # Check for maintenance notices
    if "notice" in data:
        print(f"\n NOTICE: {data['notice']['message']}")
        print(f"   Estimated completion: {data['notice']['estimated_completion']}")
elif response.status_code == 503:
    print("API is currently unavailable (Service status: critical)")
else:
    print(f"Error: {response.status_code} - {response.text}")

Response

Success Response (200 OK)

{
  "success": true,
  "message": "System status retrieved successfully",
  "data": {
    "status": "operational",
    "version": "1.0.0",
    "timestamp": "2024-12-19T12:00:00Z",
    "components": {
      "api": "operational",
      "storage": "operational",
      "search": "operational"
    },
    "account": {
      "tier": "standard",
      "rate_limits": {
        "remaining": 950,
        "reset_time": "2024-12-19T13:00:00Z",
        "limit": 1000
      }
    },
    "performance": {
      "response_time_ms": 42
    }
  },
  "metadata": {
    "environment": "production",
    "datacenter": "us-central1"
  }
}

Maintenance Notice (if applicable)

{
  "notice": {
    "type": "maintenance",
    "message": "Scheduled maintenance in progress",
    "estimated_completion": "2024-12-19T14:00:00Z"
  }
}

Error Response (500 Internal Server Error)

{
  "success": false,
  "message": "Unable to retrieve system status",
  "code": "internal_error",
  "status_code": 500,
  "suggestion": "The API is experiencing temporary issues. Please try again in a few minutes or contact support if the problem persists."
}

Status Codes

  • 200 OK: Status information retrieved successfully
  • 503 Service Unavailable: System is in a critical state
  • 500 Internal Server Error: Unable to perform status check

Response Details

Overall Status

Possible values:

  • operational: All systems functioning normally
  • degraded: Some components experiencing issues
  • critical: System functionality severely impaired

Component Status

Each component can have one of the following statuses:

  • operational: Component is functioning normally
  • degraded: Component is experiencing issues but still operational
  • unavailable: Component is not operational

Rate Limits

  • remaining: Number of requests remaining in the current time window
  • reset_time: When the rate limit counter will reset
  • limit: Your account's total request limit per time window
This site uses cookies to help us improve the overall documentation and browsing experience. By continuing to use this site, you agree to our Privacy Policy.