HTTP Methods
Understand how to interact with the EliteCircle API using standard HTTP verbs. Each method follows RESTful conventions and maps directly to membership, course, and subscription operations.
Overview
The EliteCircle API uses standard HTTP methods to indicate the desired action against a resource. All endpoints expect and return JSON payloads unless otherwise specified. Authentication is required for all methods except `GET /api/v1/public/courses`.
Authorization: Bearer <token> header. Tokens can be generated via your developer dashboard.
| Method | Purpose | Idempotent? | Safe? |
|---|---|---|---|
| GET | Retrieve resource(s) | Yes | Yes |
| POST | Create new resource | No | No |
| PUT | Replace entire resource | Yes | No |
| PATCH | Update partial resource | No | No |
| DELETE | Remove resource | Yes | No |
GET Read Resources
Use GET to retrieve data without modifying it. Parameters are passed via query strings.
Returns 200 OK with the member object. Use pagination parameters ?page=&limit= for list endpoints.
POST Create Resources
Use POST to submit new data. The payload is sent in the request body as JSON.
Returns 201 Created with the new subscription object and webhook confirmation.
PUT Update Full Resources
Use PUT to completely replace an existing resource. Missing fields will be reset to defaults unless marked as immutable.
PUT endpoint may overwrite existing data. Use PATCH for partial updates.
PATCH Partial Updates
Use PATCH to modify specific fields without affecting others. Ideal for toggling features or updating single attributes.
Returns 200 OK with the updated preferences object. Other fields remain unchanged.
DELETE Remove Resources
Use DELETE to permanently remove a resource. This action is irreversible and triggers account deprovisioning workflows.
?hard=true to bypass (requires elevated scopes).
Returns 204 No Content on success. Active subscriptions will trigger prorated refunds automatically.
Best Practices
- Always use
idempotency_keysforPOSTrequests to prevent duplicate charges or enrollments on network retries. - Prefer
PATCHoverPUTwhen updating user profiles to avoid accidental data loss. - Respect rate limits: 100 req/min for GET, 30 req/min for write operations. Monitor
X-RateLimit-Remainingheaders. - Use webhooks for async events (e.g.,
subscription.renewed,course.completed) instead of polling.
Error Handling
EliteCircle uses conventional HTTP status codes. Errors return a JSON body with error, message, and details fields.
Implement exponential backoff for 429 Too Many Requests and circuit breakers for 5xx server errors.