Get trading plans for your organization
Retrieve all trading plans configured for your organization.
What is a trading plan? A trading plan defines the product you sell to traders. It includes the account size, price, duration, and which trading rules apply. Think of it as your “evaluation challenge” or “funded account” offering.
What you get for each plan:
- Plan details (name, description, price, currency)
- Account size and evaluation duration
- Default trading rules (profit target, max loss, drawdown limits)
- Active/inactive status
- Custom metadata (any JSON data you need)
Example plans:
- “50K Challenge” - 50,000 account
- “100K Challenge” - 100,000 account
- “200K Pro” - 200,000 account
Filtering by metadata: Filter plans by any key:value in your metadata:
# Find plans for beginners
GET /organization/trading-plans?metadata=targetAudience:beginner
# Find promotional plans
GET /organization/trading-plans?metadata=promo:true
# Find plans by internal code
GET /organization/trading-plans?metadata=internalCode:PLAN-100K
Supports strings, numbers, and booleans. Uses fast GIN index.
Filtering archived plans:
By default all plans are returned, including archived ones (isActive: false). For plan pickers and storefronts, request only live plans:
GET /organization/trading-plans?isActive=true
Use cases:
- Display available plans on your website
- Validate plan IDs before creating accounts
- Check which rules are attached to each plan
- Audit your product offerings
Authorizations
JWT Bearer token for user session auth. Format: "Bearer {token}". Used by User and Organization endpoints.
Query Parameters
Filter by metadata key:value (e.g., "priority:high", "active:true")
Filter by active status. Use isActive=true to exclude archived plans, isActive=false for archived only. Omit to get all plans.
Results per page (default: 50, max: 100)
1 <= x <= 100Pagination offset
x >= 0Cursor for pagination. Pass the nextCursor value from the previous response to get the next page. When using cursor, do not send offset — it will be ignored.
How it works: The cursor is an opaque string that points to the last item you received. The server uses it to efficiently fetch the next set of results without scanning previous pages.
Backwards compatible: If you don't send a cursor, offset/limit pagination works as before.
Related topics
Get a specific trading planGet purchases for your organizationGet trading accounts for your organizationGet trading rules for your organizationQuickstart