FN SHOP developer docs
Base URL: https://fnitem.shop/api/v3/service/ · Your API key is on the API Key page in the panel.
Authentication
Send your API key on every request, in one of two ways:
- Header / query —
X-Api-Key: <key>or?api_key=<key>. Works from any server.
Your key identifies an owner; you only see and act on that owner’s accounts, groups and orders.
Request & response
Call https://fnitem.shop/api/v3/service/{action} (GET or POST). Every response is JSON with at least:
{ "result": true, "code": "ok_code", "description": "", ... }Gift lifecycle
| Action | Method | Params | Purpose |
|---|---|---|---|
verify_license | GET/POST | — | Validate the API key; returns user_id + plan. |
resolve_account | GET/POST | username, mode | Resolve a Fortnite username (or psn:/xb:/ns: prefixed) to an Epic account id. |
gift_check | GET/POST | offerId, receiver, category | Check whether a gift can be sent from the category's pool. |
gift_send | GET/POST | offerId, receiver, order_id, category | Send the gift from the category's pool. Records the order. |
Categories (per owner)
| Action | Method | Params | Purpose |
|---|---|---|---|
category_list | GET/POST | — | List your categories with account counts + the default. |
category_create | POST | slug, name | Create a category. slug: 2-40 chars of a-z 0-9 _ ; "all" reserved. |
category_delete | POST | slug, reassign_to? | Delete a category; if it holds accounts, pass reassign_to=<slug>. |
Accounts
| Action | Method | Params | Purpose |
|---|---|---|---|
accounts_list | GET/POST | category? | List your accounts (id, name, category, cached V-Bucks/gifts). |
accounts_data | GET/POST | — | Live per-account V-Bucks + gifts (queries Epic). |
account_assign | POST | account_id | account_ids, category | Move existing account(s) into a category. |
account_link | POST | code, category | Link a new Epic account (Android authorization code) into a category. |
account_remove | POST | account_id | Unlink an account (DB row only). |
Dashboards
| Action | Method | Params | Purpose |
|---|---|---|---|
inventory | GET/POST | — | Aggregate per category: counts, V-Bucks, free gift slots. No identifiers. |
groups_status | GET/POST | live? | Per-account detail per category. live=1 refreshes first. |
category
For gift_check/gift_send, category is one of your category slugs, or all (any account), or omitted (default). Only accounts whose group matches are used; an empty pool returns no_accounts_in_group.
Linking an account
Log into the Epic account, open this URL, and copy authorizationCode:
https://www.epicgames.com/id/api/redirect?clientId=3f69e56c7649492c8cc29f1af08a8a12&responseType=codeThen POST it to account_link with a category. Codes are single-use and expire quickly.
Examples
curl "https://fnitem.shop/api/v3/service/inventory" -H "X-Api-Key: YOUR_KEY"
curl "https://fnitem.shop/api/v3/service/gift_send" -H "X-Api-Key: YOUR_KEY" \
-d offerId=OFFER -d receiver=PlayerName -d order_id=123 -d category=main
curl "https://fnitem.shop/api/v3/service/account_link" -H "X-Api-Key: YOUR_KEY" \
-d code=EPIC_AUTH_CODE -d category=mainWordPress plugin (fnitemshop-auto-gift)
The plugin turns your WooCommerce orders into automatic Fortnite gifts. Customers buy a product on your site, and the gift is delivered from your linked accounts — no manual work per order.
Setup
- Link your Epic accounts and create your groups in the panel first.
- Install and activate the
fnitemshop-auto-giftplugin on your WordPress site. - In the plugin settings, paste your API key (from the API Key page). It binds to your site domain on first use.
- Map each product to a Fortnite item and a group, then set your price. That’s it.
Pricing by group
Each product points at a Fortnite item and one of your groups (for example a “main” group and a “backup” group). You charge whatever price you like per product, and the gift is sent from that group’s accounts.
Epic requires the receiver to be a friend for 48 hours before gifting; the plugin handles the wait and completes the gift once it is allowed. Completed orders show under Orders in the panel.