Skip to main content
Back

Dryade API Reference

v1.0

Getting Started

Where to find your API key

Your API key is available in your account settings. Navigate to Settings → Subscription to view and manage your API keys.

Authentication

Include your API key in the Authorization header with all requests:

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.dryade.ai/v1/plugins

Rate Limits

API rate limits depend on your subscription tier:

TierRequests per minute
Starter60
Team300
Enterprise1,000

Authentication

Authorization Header

All API requests require a valid API key passed in the Authorization header:

bash
Authorization: Bearer YOUR_API_KEY

Error Responses

Invalid or expired API keys will return a 401 error:

json
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or expired API key",
    "details": null
  }
}

Key Rotation

You can regenerate your API key at any time from your account settings. When you regenerate a key:

  • The old key is immediately invalidated
  • Active sessions using the old key will receive 401 errors
  • You must update all integrations with the new key

Plugins

Browse, search, and retrieve plugin information from the marketplace.

Subscriptions

Manage your subscription and installed plugins.

License

Validate and manage your license keys.

Webhooks

Enterprise Only

Receive real-time notifications about events in your account.

Available Events

  • plugin.installedWhen a plugin is installed
  • plugin.updatedWhen a plugin is updated
  • plugin.uninstalledWhen a plugin is uninstalled
  • subscription.changedWhen subscription tier changes

Payload Format

Each webhook event includes an event type, timestamp, and event-specific data:

plugin.installed / plugin.updated

json
{
  "event": "plugin.installed",
  "timestamp": "2024-12-05T15:30:00Z",
  "data": {
    "plugin_id": "plugin_abc123",
    "plugin_name": "Workflow Automator",
    "version": "2.1.0",
    "user_id": "user_xyz789"
  }
}

plugin.uninstalled

json
{
  "event": "plugin.uninstalled",
  "timestamp": "2024-12-05T15:35:00Z",
  "data": {
    "plugin_id": "plugin_abc123",
    "plugin_name": "Workflow Automator",
    "user_id": "user_xyz789",
    "uninstalled_at": "2024-12-05T15:35:00Z"
  }
}

Signature Verification

Verify webhook authenticity using the X-Dryade-Signature header:

python
import hmac
import hashlib

def verify_webhook(payload, signature, secret):
    expected = hmac.new(
        secret.encode(),
        payload.encode(),
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, signature)

Errors

Standard Error Format

All errors follow a consistent format:

json
{
  "error": {
    "code": "not_found",
    "message": "Plugin with ID 'invalid_id' not found",
    "details": {
      "plugin_id": "invalid_id"
    }
  }
}

Error Code Reference

CodeNameDescription
400Bad RequestInvalid request parameters or body
401UnauthorizedMissing or invalid API key
403ForbiddenValid API key but insufficient permissions
404Not FoundRequested resource does not exist
409ConflictResource already exists or state conflict
429Too Many RequestsRate limit exceeded
500Internal Server ErrorSomething went wrong on our end

SDKs & Tools

Client Libraries

Official client libraries are coming soon for:

Python
Coming Soon
JavaScript
Coming Soon
Go
Coming Soon
Ruby
Coming Soon

Downloads

Navigated to Docs