REST API v2

Integrate Fenikya
everywhere you work

A comprehensive REST API for products, orders, customers and stock. Connect your own applications in minutes with OAuth2 authentication, JSON responses and real-time webhook support.

# Order list — last 10 orders
Get https://api.fenikya.com/v2/orders?limit=10&status=new

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

// Response (200 OK)
{
  "data": [
    {
      "id": "ord_8kX9mN",
      "status": "new",
      "total": 349.90,
      "currency": "TRY"
    }
  ],
  "meta": { "total": 142 }
}
DEVELOPER TOOLS

Powerful, simple, well documented

You can do everything over REST. No extra SDK required.

OAuth2 Authentication

Secure access with bearer tokens. API keys are generated instantly from the store panel. Scope-based authorisation grants exactly as much access as you need.

Real-Time Webhooks

New order, payment, refund, stock change — an instant POST to your own URL for every event. Failed requests are retried automatically 3 times.

REST & JSON

Works with standard HTTP methods (GET, POST, PUT, DELETE). All responses are well-formed JSON. Usable from any language or framework.

Send History

Track every webhook delivery from your panel; pause an endpoint and turn it back on with one click.

Rate Limiting

Each API key has an hourly request limit (1,000 by default). Every response includes the X-RateLimit-Limit and X-RateLimit-Remaining headers.

Comprehensive Documentation

Sample requests, response schemas and error codes for every endpoint. Turkish and English API guides get you started fast.

API ENDPOINTS

The one you need in every data point

Products

GET /v2/products Product list (filtering, pagination)
POST /v2/products Create a new product
GET /v2/products/{id} Line item detail
PUT /v2/products/{id} Update product (full)
PATCH /v2/products/{id} Partial update (e.g. stock)
Delete /v2/products/{id} Delete product

Orders

GET /v2/orders Order list
GET /v2/orders/{id} Order Detail
PUT /v2/orders/{id}/status Update order status
POST /v2/orders/{id}/cancel Cancel order
POST /v2/orders/{id}/refund Start a refund

Customers

GET /v2/customers Customer List
GET /v2/customers/{id} Customer profile
GET /v2/customers/{id}/orders Customer orders
PUT /v2/customers/{id} Update customer

Stock

GET /v2/inventory Stock list
PUT /v2/inventory/{sku} Update stock quantity
POST /v2/inventory/bulk Bulk Stock Update
WEBHOOK

Events reach you instantly

Don't make your system poll Fenikya constantly. With webhooks, an automatic POST is sent to your URL the moment the relevant event happens.

  • order.created — New order
  • order.status_changed — Status change
  • order.paid — Payment confirmed
  • order.cancelled — Cancelled
  • inventory.low_stock — Stock critically low
  • customer.registered — New member signup
  • review.submitted — New product review
// Example webhook payload
{
  "event": "order.created",
  "timestamp": "2026-04-16T14:32:00Z",
  "store_id": "pawtown",
  "data": {
    "order_id": "ord_8kX9mN",
    "customer_email": "[email protected]",
    "total": 349.90,
    "items_count": 2
  }
}

Frequently Asked Questions

Create an API key from your store panel under Settings → Developer API. All requests must be made over HTTPS with a bearer token in the Authorization header.

All Growth and Professional users have full API access. Starter plan users have read-only access.

The limit is hourly and per API key; the default is 1,000 requests per hour. When it is exceeded, a 429 Too Many Requests response is returned with a retry time. Contact our support team if you need a higher limit.

If your URL doesn't return a 2xx, Fenikya retries automatically 3 times — at 1, 5 and 30 minutes. You can review the full webhook delivery history in the panel.

Build your own solution with the API

Open your account, create your API key from the panel and start building.