Skip to main content
POST
/
api
/
v3
/
admin
/
exports
Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'

const client = createAdminClient({
  baseUrl: 'https://your-store.com',
  secretKey: 'sk_xxx',
})

const exp = await client.exports.create({
  type: 'Spree::Exports::Products',
  search_params: { name_cont: 'shirt' }
})
{
  "id": "exp_gbHJdmfrXB",
  "number": "EF700540072",
  "type": "Spree::Exports::Products",
  "format": "csv",
  "created_at": "2026-05-24T17:36:56.866Z",
  "updated_at": "2026-05-24T17:36:56.866Z",
  "user_id": "admin_UkLWZg9DAJ",
  "done": false,
  "filename": null,
  "byte_size": null,
  "download_url": null
}

Documentation Index

Fetch the complete documentation index at: https://spreecommerce.org/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-spree-api-key
string
header
required

Secret API key for admin access

Authorization
string
header
required

JWT token for admin user authentication

Headers

x-spree-api-key
string
required
Authorization
string
required

Body

application/json
type
enum<string>
required
Available options:
Spree::Exports::Products,
Spree::Exports::Orders,
Spree::Exports::Customers,
Spree::Exports::ProductTranslations,
Spree::Exports::GiftCards,
Spree::Exports::CouponCodes,
Spree::Exports::NewsletterSubscribers
Example:

"Spree::Exports::Products"

record_selection
enum<string>

Set to "all" to ignore search_params and export everything in scope.

Available options:
filtered,
all
Example:

"filtered"

search_params
object

Ransack query hash. Same predicates accepted by the list endpoint.

Example:
{ "name_cont": "shirt" }

Response

201 - application/json

export queued