Skip to main content

Base URL

All API requests are made to:
https://api.wede.pt
All endpoints are prefixed with /v1/. The API is hosted in Europe (GCP europe-west1) with global reach via Cloudflare.

Authentication

All requests require authentication. Wede supports two methods: API Key - for server-to-server integrations:
curl https://api.wede.pt/v1/events \
  -H "X-Wede-API-Key: wede_live_YOUR_KEY"
JWT Token - for user sessions (obtained via /v1/auth/login):
curl https://api.wede.pt/v1/events \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
Your API key is available in the Dashboard.

Response Format

All responses are JSON. Every response includes a request_id for support tracing. Success:
{
  "event_id": "0ee3dfbe-...",
  "status": "pending",
  "channel_selected": "rest_full"
}
Error:
{
  "error": "validation_error",
  "message": "Field 'priority' is required",
  "request_id": "req-abc123"
}

Rate Limiting

Rate limits are applied per tenant per minute based on your plan:
PlanLimit
Starter500 req/min
Core1,000 req/min
Mission-CriticalUnlimited
Rate limit headers are included in every response:
HeaderDescription
x-ratelimit-limitRequests allowed per minute
x-ratelimit-remainingRemaining requests this window
x-ratelimit-resetUTC timestamp when limit resets

Idempotency

All write operations accept an idempotency_key. Use this to safely retry requests without creating duplicates - Wede guarantees exactly-once delivery per key.

Offline Behaviour

When connectivity is unavailable, Wede automatically queues events and delivers them when connectivity is restored. The channel_selected field in the response indicates the delivery path used:
ChannelMeaning
rest_fullDelivered via HTTPS
smsDelivered via structured fallback protocol
queued_offlineQueued for delivery on reconnection
Your integration does not need to handle channel selection - Wede routes transparently.