Skip to content
SoundSyncAudio software platform

API reference

Developer Onboarding API

Resume account setup, save business and selling choices, inspect domain readiness and complete onboarding.

Account setup, not a product credential

Use the signed-in developer account Bearer token. Onboarding state is tied to that account rather than a request-supplied developer ID or product credential. The existing account, workspace and downstream operation checks remain in force; onboarding does not expand a teammate role.

Read featureEnabled, onboarding and entryRoute. Start reuses existing progress. The guided steps are launch_plan, business_brand, selling_experience, domain_email, payouts and ready_for_products. Complete a step only after its current requirements pass; changing selling models can require later reviews again.

Save first, then inspect requirements

Choose quick or fully_branded and one or more supported selling models. licensing_only cannot be combined with a sales channel. Business saves accept businessProfile/visualIdentity or supported flat fields. Read current state before replacing normalized settings, including defaulted account/country/currency values.

Support-address verification can send a real email and issues a private 24-hour token. An already-verified result avoids another send; inspect supportEmailVerification.deliveryStatus for skipped/failed transport. The browser verification action consumes the token and redirects; format=json or Accept:application/json returns the verification object instead. Never use token links as health probes.

Prepare a website without silently publishing it

Hosted ensure can create a draft storefront and the required page foundation. The route returns refreshed selling-experience state with templateOptions. Select a supported returned template key. Existing-site setup saves websiteUrl, storefront_package or standalone_pages, selectedSurfaces and review acknowledgment; saved setup is not proof of installation.

Some step reads initialize progress, prepare missing pages or refresh uninitialized domain checks. They are not guaranteed zero-write diagnostics. Domain review flags do not substitute for actual DNS, hosting, SSL, sender and tracking readiness. Use the Domain Setup API for those configuration operations.

Keep setup progress separate from financial approval

Payout decision connect or defer records an onboarding choice. Status refresh can contact the provider and persist readiness but does not send funds. Stripe Connect onboarding remains workspace-owner-only through the separate connect-session operation. Completing or deferring setup does not authorize live checkout, waive a hold or change financial flags.

Ready-for-products completion records the requested next action. Position only saves an accessible last-visited step; it does not skip requirements. Reset restarts progress and launch choices without deleting products, branding, domains, payout accounts or required financial history.

SoundSync

Illustrative setup read

Read the signed-in account setup state
curl --fail-with-body -sS "$SOUNDSYNC_API_BASE/api/developer/onboarding-v2" \
  -H "Authorization: Bearer $DEVELOPER_TOKEN"

SoundSync

Continue setup

Getting Started

The developer setup sequence.

Domain Setup API

Records, provider preparation and readiness.

Payout setup

Owner-only Connect onboarding and read-only reporting.

SoundSync

Requests and responses

GET /api/developer/onboarding-v2

Read current account onboarding progress

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Returns
HTTP 200: featureEnabled, entryRoute, onboarding.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Returns not_started without creating progress when no saved state exists.
Request, response and error reference

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/start

Start or resume saved onboarding

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Returns
HTTP 201: featureEnabled, entryRoute, onboarding.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Ignores body fields; repeated calls reuse saved state.
Request, response and error reference

No request body fields are read by this operation.

HTTP 201 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

PATCH /api/developer/onboarding-v2/launch-plan

Save launch path and selling models

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • launchPath: quick | fully_branded |
  • sellingModels: array
Returns
HTTP 200: featureEnabled, entryRoute, onboarding.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Supported snake-case launch_path/selling_models aliases are accepted. licensing_only cannot be combined with a sales channel. Changing selling models can require selling/domain review again.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "launchPath": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "quick",
        "fully_branded",
        null
      ]
    },
    "sellingModels": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "hosted_storefront",
          "existing_website",
          "marketplace",
          "licensing_only"
        ]
      }
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/launch-plan/complete

Validate the saved launch plan and advance

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • launchPath: quick | fully_branded |
  • sellingModels: array
Returns
HTTP 200: featureEnabled, entryRoute, onboarding.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. A path and at least one model must be saved. Completion can save the provided plan first.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "launchPath": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "quick",
        "fully_branded",
        null
      ]
    },
    "sellingModels": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "hosted_storefront",
          "existing_website",
          "marketplace",
          "licensing_only"
        ]
      }
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

GET /api/developer/onboarding-v2/business-brand

Read business, brand and support-email readiness

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

PATCH /api/developer/onboarding-v2/business-brand

Save business identity and visual defaults

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • publicName: string
  • accountType: individual | company
  • country: string
  • defaultCurrency: string
  • existingWebsite: string
  • supportEmail: string
  • tagline: string
  • shortDescription: string
  • logos: object
  • colors: object
  • businessProfile: object
  • visualIdentity: object
  • previewReviewed: boolean
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Accepts businessProfile/visualIdentity wrappers or supported flat fields and snake-case aliases. Read current values first: accountType, country and currency have normalization defaults. A saved currency preference does not enable non-USD checkout or payouts. This saves brand values; it does not issue an SSL certificate.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "publicName": {
      "type": "string"
    },
    "accountType": {
      "type": "string",
      "enum": [
        "individual",
        "company"
      ]
    },
    "country": {
      "type": "string"
    },
    "defaultCurrency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$"
    },
    "existingWebsite": {
      "type": "string"
    },
    "supportEmail": {
      "type": "string",
      "format": "email"
    },
    "tagline": {
      "type": "string"
    },
    "shortDescription": {
      "type": "string"
    },
    "logos": {
      "type": "object",
      "properties": {
        "logoUrl": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "colors": {
      "type": "object",
      "properties": {
        "primaryColor": {
          "type": "string"
        },
        "secondaryColor": {
          "type": "string"
        },
        "accentColor": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "businessProfile": {
      "type": "object",
      "properties": {
        "publicName": {
          "type": "string"
        },
        "accountType": {
          "type": "string",
          "enum": [
            "individual",
            "company"
          ]
        },
        "country": {
          "type": "string"
        },
        "defaultCurrency": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$"
        },
        "existingWebsite": {
          "type": "string"
        },
        "supportEmail": {
          "type": "string",
          "format": "email"
        },
        "tagline": {
          "type": "string"
        },
        "shortDescription": {
          "type": "string"
        },
        "logos": {
          "type": "object",
          "properties": {
            "logoUrl": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "colors": {
          "type": "object",
          "properties": {
            "primaryColor": {
              "type": "string"
            },
            "secondaryColor": {
              "type": "string"
            },
            "accentColor": {
              "type": "string"
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "visualIdentity": {
      "type": "object",
      "properties": {
        "tagline": {
          "type": "string"
        },
        "shortDescription": {
          "type": "string"
        },
        "logos": {
          "type": "object",
          "properties": {
            "logoUrl": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "colors": {
          "type": "object",
          "properties": {
            "primaryColor": {
              "type": "string"
            },
            "secondaryColor": {
              "type": "string"
            },
            "accentColor": {
              "type": "string"
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "previewReviewed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/business-brand/support-email/verification

Send support-address verification

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • email: string
  • supportEmail: string
Returns
HTTP 201: supportEmailVerification, alreadyVerified.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Falls back to the saved support email. Can send a real email; inspect deliveryStatus rather than assuming delivery from HTTP 201. The email token expires after 24 hours.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "format": "email"
    },
    "supportEmail": {
      "type": "string",
      "format": "email"
    }
  },
  "additionalProperties": true
}

HTTP 201 response (application/json)

{
  "type": "object",
  "properties": {
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "alreadyVerified": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/business-brand/complete

Validate brand requirements and advance

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • publicName: string
  • accountType: individual | company
  • country: string
  • defaultCurrency: string
  • existingWebsite: string
  • supportEmail: string
  • tagline: string
  • shortDescription: string
  • logos: object
  • colors: object
  • businessProfile: object
  • visualIdentity: object
  • previewReviewed: boolean
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "publicName": {
      "type": "string"
    },
    "accountType": {
      "type": "string",
      "enum": [
        "individual",
        "company"
      ]
    },
    "country": {
      "type": "string"
    },
    "defaultCurrency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$"
    },
    "existingWebsite": {
      "type": "string"
    },
    "supportEmail": {
      "type": "string",
      "format": "email"
    },
    "tagline": {
      "type": "string"
    },
    "shortDescription": {
      "type": "string"
    },
    "logos": {
      "type": "object",
      "properties": {
        "logoUrl": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "colors": {
      "type": "object",
      "properties": {
        "primaryColor": {
          "type": "string"
        },
        "secondaryColor": {
          "type": "string"
        },
        "accentColor": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "businessProfile": {
      "type": "object",
      "properties": {
        "publicName": {
          "type": "string"
        },
        "accountType": {
          "type": "string",
          "enum": [
            "individual",
            "company"
          ]
        },
        "country": {
          "type": "string"
        },
        "defaultCurrency": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$"
        },
        "existingWebsite": {
          "type": "string"
        },
        "supportEmail": {
          "type": "string",
          "format": "email"
        },
        "tagline": {
          "type": "string"
        },
        "shortDescription": {
          "type": "string"
        },
        "logos": {
          "type": "object",
          "properties": {
            "logoUrl": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "colors": {
          "type": "object",
          "properties": {
            "primaryColor": {
              "type": "string"
            },
            "secondaryColor": {
              "type": "string"
            },
            "accentColor": {
              "type": "string"
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "visualIdentity": {
      "type": "object",
      "properties": {
        "tagline": {
          "type": "string"
        },
        "shortDescription": {
          "type": "string"
        },
        "logos": {
          "type": "object",
          "properties": {
            "logoUrl": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "colors": {
          "type": "object",
          "properties": {
            "primaryColor": {
              "type": "string"
            },
            "secondaryColor": {
              "type": "string"
            },
            "accentColor": {
              "type": "string"
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "previewReviewed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

GET /api/developer/onboarding-v2/selling-experience

Read hosted, existing-site and customer-access setup

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/selling-experience/hosted-storefront/ensure

Prepare the hosted storefront and page foundation

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Returns
HTTP 201: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Creates missing storefront/pages but does not publish a live website. The route returns refreshed selling-experience state.
Request, response and error reference

No request body fields are read by this operation.

HTTP 201 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

PATCH /api/developer/onboarding-v2/selling-experience/hosted-storefront/template

Choose a supported saved starter template

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • template: string (required)
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Use a template key returned in templateOptions; templateKey/websiteTemplate/website_template are aliases. A storefront must already exist.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "template": {
      "type": "string"
    }
  },
  "required": [
    "template"
  ],
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

PATCH /api/developer/onboarding-v2/selling-experience/existing-website

Save the existing website integration plan

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • websiteUrl: string (required)
  • integrationApproach: storefront_package | standalone_pages (required)
  • selectedSurfaces: array
  • reviewed: boolean
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. This replaces the normalized integration selection, not a sparse installation-status patch. Re-read dependencies. A reviewed plan does not prove the embed is installed.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "websiteUrl": {
      "type": "string"
    },
    "integrationApproach": {
      "type": "string",
      "enum": [
        "storefront_package",
        "standalone_pages"
      ]
    },
    "selectedSurfaces": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "catalog",
          "product_pages",
          "deals",
          "reviews",
          "customer_account_library",
          "cart_checkout",
          "homepage",
          "about",
          "support_faq"
        ]
      }
    },
    "reviewed": {
      "type": "boolean"
    }
  },
  "required": [
    "websiteUrl",
    "integrationApproach"
  ],
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

PATCH /api/developer/onboarding-v2/selling-experience

Save selling-experience review acknowledgments

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • hostedStorefrontReviewed: boolean
  • marketplaceAcknowledged: boolean
  • licensingOnlyAcknowledged: boolean
  • customerAccessReviewed: boolean
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "hostedStorefrontReviewed": {
      "type": "boolean"
    },
    "marketplaceAcknowledged": {
      "type": "boolean"
    },
    "licensingOnlyAcknowledged": {
      "type": "boolean"
    },
    "customerAccessReviewed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/selling-experience/complete

Validate selling experience and advance

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • hostedStorefrontReviewed: boolean
  • marketplaceAcknowledged: boolean
  • licensingOnlyAcknowledged: boolean
  • customerAccessReviewed: boolean
  • existingWebsiteIntegration: object
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "hostedStorefrontReviewed": {
      "type": "boolean"
    },
    "marketplaceAcknowledged": {
      "type": "boolean"
    },
    "licensingOnlyAcknowledged": {
      "type": "boolean"
    },
    "customerAccessReviewed": {
      "type": "boolean"
    },
    "existingWebsiteIntegration": {
      "type": "object",
      "properties": {
        "websiteUrl": {
          "type": "string"
        },
        "integrationApproach": {
          "type": "string",
          "enum": [
            "storefront_package",
            "standalone_pages"
          ]
        },
        "selectedSurfaces": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "catalog",
              "product_pages",
              "deals",
              "reviews",
              "customer_account_library",
              "cart_checkout",
              "homepage",
              "about",
              "support_faq"
            ]
          }
        },
        "reviewed": {
          "type": "boolean"
        }
      },
      "required": [
        "websiteUrl",
        "integrationApproach"
      ],
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

GET /api/developer/onboarding-v2/domain-email

Read domain, SSL and sender readiness

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Checks reflect the current saved setup; an uninitialized domain can be verified during the read. Use the Domain Setup API to configure records rather than treating review flags as DNS proof.
Request, response and error reference

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

PATCH /api/developer/onboarding-v2/domain-email

Save domain and email review acknowledgments

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • finalReviewAcknowledged: boolean
  • testEmailReviewed: boolean
  • managedEmailReviewed: boolean
  • optionalCustomSetupStarted: boolean
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "finalReviewAcknowledged": {
      "type": "boolean"
    },
    "testEmailReviewed": {
      "type": "boolean"
    },
    "managedEmailReviewed": {
      "type": "boolean"
    },
    "optionalCustomSetupStarted": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/domain-email/complete

Validate domain and communication requirements

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • finalReviewAcknowledged: boolean
  • testEmailReviewed: boolean
  • managedEmailReviewed: boolean
  • optionalCustomSetupStarted: boolean
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "finalReviewAcknowledged": {
      "type": "boolean"
    },
    "testEmailReviewed": {
      "type": "boolean"
    },
    "managedEmailReviewed": {
      "type": "boolean"
    },
    "optionalCustomSetupStarted": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

GET /api/developer/onboarding-v2/payouts

Read payout setup need, destination and requirements

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

PATCH /api/developer/onboarding-v2/payouts

Record a payout setup decision and review

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • decision: connect | defer |
  • reviewAcknowledged: boolean
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. connect/defer records an onboarding choice only. It does not start Stripe onboarding, make a transfer or change a financial flag.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "decision": {
      "type": "string",
      "enum": [
        "connect",
        "defer",
        ""
      ]
    },
    "reviewAcknowledged": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/payouts/status/refresh

Refresh the saved provider payout-account status

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. No saved connection returns payoutStatusRefreshed:false. A refresh can query the provider and update saved readiness. It is not a payment; owner-only Connect onboarding remains a separate API.
Request, response and error reference

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/payouts/complete

Validate or defer payout setup and advance

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • decision: connect | defer |
  • reviewAcknowledged: boolean
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "decision": {
      "type": "string",
      "enum": [
        "connect",
        "defer",
        ""
      ]
    },
    "reviewAcknowledged": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

GET /api/developer/onboarding-v2/ready-for-products

Read the completed business setup summary

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/ready-for-products/complete

Complete setup and record the next destination

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • destination: string
  • action: string
Returns
HTTP 200: featureEnabled, entryRoute, onboarding, branding, businessProfile, visualIdentity, supportEmailVerification, requirements, sellingExperience, domainEmail, payouts, readyForProducts, payoutStatusRefreshed.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "destination": {
      "type": "string"
    },
    "action": {
      "type": "string"
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "branding": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "businessProfile": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "visualIdentity": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "requirements": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "sellingExperience": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "domainEmail": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payouts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "readyForProducts": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    },
    "payoutStatusRefreshed": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

PATCH /api/developer/onboarding-v2/position

Save the last visited accessible onboarding step

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • step: launch_plan | business_brand | selling_experience | domain_email | payouts | ready_for_products
  • stepKey: launch_plan | business_brand | selling_experience | domain_email | payouts | ready_for_products
  • currentStep: launch_plan | business_brand | selling_experience | domain_email | payouts | ready_for_products
  • current_step: launch_plan | business_brand | selling_experience | domain_email | payouts | ready_for_products
Returns
HTTP 200: featureEnabled, entryRoute, onboarding.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Records the last visited accessible step. It cannot skip prerequisites or mark a step completed.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "step": {
      "type": "string",
      "enum": [
        "launch_plan",
        "business_brand",
        "selling_experience",
        "domain_email",
        "payouts",
        "ready_for_products"
      ]
    },
    "stepKey": {
      "type": "string",
      "enum": [
        "launch_plan",
        "business_brand",
        "selling_experience",
        "domain_email",
        "payouts",
        "ready_for_products"
      ]
    },
    "currentStep": {
      "type": "string",
      "enum": [
        "launch_plan",
        "business_brand",
        "selling_experience",
        "domain_email",
        "payouts",
        "ready_for_products"
      ]
    },
    "current_step": {
      "type": "string",
      "enum": [
        "launch_plan",
        "business_brand",
        "selling_experience",
        "domain_email",
        "payouts",
        "ready_for_products"
      ]
    }
  },
  "additionalProperties": true,
  "anyOf": [
    {
      "required": [
        "step"
      ]
    },
    {
      "required": [
        "stepKey"
      ]
    },
    {
      "required": [
        "currentStep"
      ]
    },
    {
      "required": [
        "current_step"
      ]
    }
  ]
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

POST /api/developer/onboarding-v2/reset

Restart onboarding progress without deleting business assets

Auth
Account Bearer JWT
Scope
Signed-in developer account. Progress belongs to that account; this is not a product-credential API or a request-selected developer ID.
Request fields
  • reason: string
Returns
HTTP 200: featureEnabled, entryRoute, onboarding.
Notes
The saved step prerequisites and feature configuration apply. Read missing/requirements on failure and resume the indicated entryRoute. A saved review is not publication, domain verification, checkout approval or a payout. Step reads can initialize progress or prepare website page foundations; do not use them as zero-side-effect health probes. Resets the progress row, launch choices and step statuses. It does not delete existing products, branding, domains, payout accounts, customer records or financial history.
Request, response and error reference

Request (application/json)

{
  "type": "object",
  "properties": {
    "reason": {
      "type": "string"
    }
  },
  "additionalProperties": true
}

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "featureEnabled": {
      "type": "boolean"
    },
    "entryRoute": {
      "type": "string"
    },
    "onboarding": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ]
        },
        "developerId": {
          "type": "integer",
          "minimum": 1
        },
        "onboardingVersion": {
          "type": "string"
        },
        "overallStatus": {
          "type": "string"
        },
        "currentStep": {
          "type": "string",
          "enum": [
            "launch_plan",
            "business_brand",
            "selling_experience",
            "domain_email",
            "payouts",
            "ready_for_products"
          ]
        },
        "launchPath": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellingModels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stepStatus": {
          "type": "object",
          "additionalProperties": true,
          "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "resetAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastVisitedStep": {
          "type": [
            "string",
            "null"
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "route": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "isCurrent": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.

GET /api/developer/onboarding-v2/support-email/verify

Consume a private support-email verification token

Auth
Public request; operation-specific verification still applies
Scope
Private token identifies its developer support address.
Request fields
  • query token: string (required)
  • query format: value
Returns
HTTP 200: verified, supportEmailVerification.
Notes
Consumes verification state. Request format=json or Accept:application/json for JSON; ordinary browser success redirects with 303 to business-brand?supportEmailVerified=1. Do not poll or log the token URL. Invalid/expired links are errors, not account sign-in.
Request, response and error reference

Query and header parameters

[
  {
    "name": "token",
    "in": "query",
    "schema": {
      "type": "string"
    },
    "required": true,
    "description": ""
  },
  {
    "name": "format",
    "in": "query",
    "schema": {
      "const": "json"
    },
    "required": false,
    "description": ""
  }
]

No request body fields are read by this operation.

HTTP 200 response (application/json)

{
  "type": "object",
  "properties": {
    "verified": {
      "type": "boolean"
    },
    "supportEmailVerification": {
      "type": "object",
      "additionalProperties": true,
      "description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
    }
  },
  "additionalProperties": true
}

Documented failures: 400, 401, 403, 404, 409, 500, 503.