Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'
const client = createAdminClient({
baseUrl: 'https://your-store.com',
secretKey: 'sk_xxx',
})
// What you can ask for, and the configuration each kind takes. A kind your own
// code registers server-side shows up here too.
const { data: requirementTypes } = await client.sellerRequirements.types()spree api get /seller_requirements/types{
"data": [
{
"type": "accept_terms",
"name": "Accept terms",
"description": "Read and accept the marketplace terms",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {
"terms_body": {
"type": [
"string",
"null"
],
"x-spree-widget": "textarea"
},
"terms_effective_from": {
"type": [
"string",
"null"
],
"format": "date"
},
"terms_url": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
{
"type": "complete_profile",
"name": "Complete profile",
"description": "Fill in the public profile shoppers see",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {
"require_about": {
"type": "boolean",
"default": true
},
"require_logo": {
"type": "boolean",
"default": true
},
"require_cover_photo": {
"type": "boolean",
"default": false
},
"require_contact_email": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}
},
{
"type": "billing_address",
"name": "Billing address",
"description": "The address your payouts are billed from",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "returns_address",
"name": "Returns address",
"description": "The address customer returns are sent to",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "delivery_method",
"name": "Delivery method",
"description": "Offer at least one way to ship your orders",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "package_type",
"name": "Shipping box",
"description": "Tell us the size and weight of the box you ship orders in",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "minimum_products",
"name": "Minimum products",
"description": "List at least this many products",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {
"minimum_count": {
"type": "integer",
"default": 1
}
},
"additionalProperties": false
}
},
{
"type": "payout_account",
"name": "Payout Account",
"description": "",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "required_custom_fields",
"name": "Required custom fields",
"description": "Fill in the details the marketplace asks for",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [
"custom_field_definition_ids"
],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "policy",
"name": "Seller policy",
"description": "Publish a policy with this name",
"allow_multiple": true,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "attestation",
"name": "Seller confirmation",
"description": "Confirm this yourself before you are approved",
"allow_multiple": true,
"accepts_submissions": true,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "operator_review",
"name": "Manual check",
"description": "The marketplace checks this by hand before approving you",
"allow_multiple": true,
"accepts_submissions": true,
"reviewed_by_operator": true,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "document",
"name": "Document",
"description": "Upload this document for the marketplace to review",
"allow_multiple": true,
"accepts_submissions": true,
"reviewed_by_operator": true,
"configured": false,
"addable": true,
"accepted_content_types": [
"application/pdf",
"image/jpeg",
"image/png",
"image/heic",
"image/webp",
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}
]
}List seller requirement kinds
The kinds you can add, and the shape of each one’s configuration form.
configured says the store already has this kind — meaningful only
where allow_multiple is false. accepts_submissions says the seller
records having done it rather than it being read from their data, and
reviewed_by_operator says what they send waits for you.
A marketplace that registers its own kind server-side sees it here without this endpoint changing.
Required scope: read_sellers (for API-key authentication).
GET
/
api
/
v3
/
admin
/
seller_requirements
/
types
Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'
const client = createAdminClient({
baseUrl: 'https://your-store.com',
secretKey: 'sk_xxx',
})
// What you can ask for, and the configuration each kind takes. A kind your own
// code registers server-side shows up here too.
const { data: requirementTypes } = await client.sellerRequirements.types()spree api get /seller_requirements/types{
"data": [
{
"type": "accept_terms",
"name": "Accept terms",
"description": "Read and accept the marketplace terms",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {
"terms_body": {
"type": [
"string",
"null"
],
"x-spree-widget": "textarea"
},
"terms_effective_from": {
"type": [
"string",
"null"
],
"format": "date"
},
"terms_url": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
{
"type": "complete_profile",
"name": "Complete profile",
"description": "Fill in the public profile shoppers see",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {
"require_about": {
"type": "boolean",
"default": true
},
"require_logo": {
"type": "boolean",
"default": true
},
"require_cover_photo": {
"type": "boolean",
"default": false
},
"require_contact_email": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}
},
{
"type": "billing_address",
"name": "Billing address",
"description": "The address your payouts are billed from",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "returns_address",
"name": "Returns address",
"description": "The address customer returns are sent to",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "delivery_method",
"name": "Delivery method",
"description": "Offer at least one way to ship your orders",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "package_type",
"name": "Shipping box",
"description": "Tell us the size and weight of the box you ship orders in",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "minimum_products",
"name": "Minimum products",
"description": "List at least this many products",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {
"minimum_count": {
"type": "integer",
"default": 1
}
},
"additionalProperties": false
}
},
{
"type": "payout_account",
"name": "Payout Account",
"description": "",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "required_custom_fields",
"name": "Required custom fields",
"description": "Fill in the details the marketplace asks for",
"allow_multiple": false,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [
"custom_field_definition_ids"
],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "policy",
"name": "Seller policy",
"description": "Publish a policy with this name",
"allow_multiple": true,
"accepts_submissions": false,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "attestation",
"name": "Seller confirmation",
"description": "Confirm this yourself before you are approved",
"allow_multiple": true,
"accepts_submissions": true,
"reviewed_by_operator": false,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "operator_review",
"name": "Manual check",
"description": "The marketplace checks this by hand before approving you",
"allow_multiple": true,
"accepts_submissions": true,
"reviewed_by_operator": true,
"configured": false,
"addable": true,
"accepted_content_types": [],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
{
"type": "document",
"name": "Document",
"description": "Upload this document for the marketplace to review",
"allow_multiple": true,
"accepts_submissions": true,
"reviewed_by_operator": true,
"configured": false,
"addable": true,
"accepted_content_types": [
"application/pdf",
"image/jpeg",
"image/png",
"image/heic",
"image/webp",
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
],
"association_fields": [],
"schema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}
]
}Was this page helpful?
⌘I

