FN SHOP

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:

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

ActionMethodParamsPurpose
verify_licenseGET/POSTValidate the API key; returns user_id + plan.
resolve_accountGET/POSTusername, modeResolve a Fortnite username (or psn:/xb:/ns: prefixed) to an Epic account id.
gift_checkGET/POSTofferId, receiver, categoryCheck whether a gift can be sent from the category's pool.
gift_sendGET/POSTofferId, receiver, order_id, categorySend the gift from the category's pool. Records the order.

Categories (per owner)

ActionMethodParamsPurpose
category_listGET/POSTList your categories with account counts + the default.
category_createPOSTslug, nameCreate a category. slug: 2-40 chars of a-z 0-9 _ ; "all" reserved.
category_deletePOSTslug, reassign_to?Delete a category; if it holds accounts, pass reassign_to=<slug>.

Accounts

ActionMethodParamsPurpose
accounts_listGET/POSTcategory?List your accounts (id, name, category, cached V-Bucks/gifts).
accounts_dataGET/POSTLive per-account V-Bucks + gifts (queries Epic).
account_assignPOSTaccount_id | account_ids, categoryMove existing account(s) into a category.
account_linkPOSTcode, categoryLink a new Epic account (Android authorization code) into a category.
account_removePOSTaccount_idUnlink an account (DB row only).

Dashboards

ActionMethodParamsPurpose
inventoryGET/POSTAggregate per category: counts, V-Bucks, free gift slots. No identifiers.
groups_statusGET/POSTlive?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=code

Then 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=main

WordPress 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

  1. Link your Epic accounts and create your groups in the panel first.
  2. Install and activate the fnitemshop-auto-gift plugin on your WordPress site.
  3. In the plugin settings, paste your API key (from the API Key page). It binds to your site domain on first use.
  4. 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.