# Admin API (secret key)

> Write to your organization from your server, with the secret key.

Source: https://docs.dashfordevs.com/v1/api-reference/admin-api · Topic: Storefront API reference · Updated: 2026-11-07

Generated from the gateway's route table. Base URL `https://papi.dashfordevs.com`. Send your key in `X-API-Key`.

Every route here needs the **secret key**. Call them from your server only.

| Method | Path | Key | Status | Notes |
| --- | --- | --- | --- | --- |
| `POST` | `/api/storefront/admin/products/import` | Secret key only | Live |  |
| `GET, PUT, DELETE` | `/api/storefront/admin/products/{product_id}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/products` | Secret key only | Live |  |
| `POST` | `/api/storefront/admin/categories/import` | Secret key only | Live |  |
| `GET, PUT, DELETE` | `/api/storefront/admin/categories/{category_id}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/categories` | Secret key only | Live |  |
| `GET, POST, DELETE` | `/api/storefront/admin/page-groups/{type_slug}/items/{item_slug}/images` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/page-groups/{type_slug}/items/{item_slug}/gallery` | Secret key only | Live |  |
| `GET, PATCH, DELETE` | `/api/storefront/admin/page-groups/{type_slug}/items/{item_slug}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/page-groups/{type_slug}/items` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/page-groups` | Secret key only | Live |  |
| `PUT, DELETE` | `/api/storefront/admin/brands/{brand_id}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/brands` | Secret key only | Live |  |
| `GET, PUT, DELETE` | `/api/storefront/admin/blog/posts/{post_id}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/blog/posts` | Secret key only | Live |  |
| `PUT, DELETE` | `/api/storefront/admin/reviews/{review_id}` | Secret key only | Live (customer data)\* |  |
| `GET` | `/api/storefront/admin/reviews` | Secret key only | Live (customer data)\* |  |
| `POST` | `/api/storefront/admin/contact-forms/{form_id}/reply` | Secret key only | Live (customer data)\* |  |
| `GET, PUT, DELETE` | `/api/storefront/admin/contact-forms/{form_id}` | Secret key only | Live (customer data)\* |  |
| `GET` | `/api/storefront/admin/contact-forms` | Secret key only | Live (customer data)\* |  |
| `GET, PUT` | `/api/storefront/admin/orders/{order_id}` | Secret key only | Live (customer data)\* |  |
| `GET` | `/api/storefront/admin/orders` | Secret key only | Live (customer data)\* |  |
| `POST` | `/api/storefront/admin/customers/import` | Secret key only | Live (customer data)\* |  |
| `GET, PUT` | `/api/storefront/admin/customers/{customer_id}` | Secret key only | Live (customer data)\* |  |
| `GET` | `/api/storefront/admin/customers` | Secret key only | Live (customer data)\* |  |
| `POST` | `/api/storefront/admin/media/generate-variants` | Secret key only | Live |  |
| `GET` | `/api/storefront/admin/media/variant-status` | Secret key only | Live |  |
| `POST` | `/api/storefront/admin/media/video-prepare` | Secret key only | Not built yet |  |
| `POST` | `/api/storefront/admin/media/video-complete` | Secret key only | Not built yet |  |
| `DELETE` | `/api/storefront/admin/media/{media_id}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/media` | Secret key only | Live |  |
| `POST` | `/api/storefront/admin/emails/send` | Secret key only | Not built yet |  |
| `GET` | `/api/storefront/admin/emails/threads/{thread_id}` | Secret key only | Not built yet |  |
| `GET` | `/api/storefront/admin/emails/threads` | Secret key only | Not built yet |  |
| `PUT, DELETE` | `/api/storefront/admin/products/{product_id}/attributes/{attribute_id}/options/{option_id}` | Secret key only | Live |  |
| `POST` | `/api/storefront/admin/products/{product_id}/attributes/{attribute_id}/options` | Secret key only | Live |  |
| `PUT, DELETE` | `/api/storefront/admin/products/{product_id}/attributes/{attribute_id}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/products/{product_id}/attributes` | Secret key only | Live |  |
| `PUT, DELETE` | `/api/storefront/admin/products/{product_id}/sizes/{size_id}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/products/{product_id}/sizes` | Secret key only | Live |  |
| `DELETE` | `/api/storefront/admin/products/{product_id}/files/{file_id}` | Secret key only | Live |  |
| `GET` | `/api/storefront/admin/products/{product_id}/files` | Secret key only | Live |  |
| `POST` | `/api/storefront/admin/emails/threads/{thread_id}/reply` | Secret key only | Not built yet |  |
| `GET` | `/api/storefront/admin/contact-forms/{form_id}/replies` | Secret key only | Live (customer data)\* |  |
| `PUT, DELETE` | `/api/storefront/admin/blog/categories/{category_id}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/blog/categories` | Secret key only | Live |  |
| `PUT, DELETE` | `/api/storefront/admin/discount-codes/{code_id}` | Secret key only | Live |  |
| `GET, POST` | `/api/storefront/admin/discount-codes` | Secret key only | Live |  |

\* **Customer data and payments** routes work for every organization except HIPAA organizations, which get `503 not_available_yet` (with `"available": false`) until that organization's HIPAA path is complete. **Not built yet** routes answer `501 not_implemented`.
