Pump Party Client API (0.1.0)

Download OpenAPI specification:

License: LicenseRef-Proprietary

Client-facing HTTP contract for the Pump Party frontend gateway.

This spec covers routes the rewritten frontend may call through the Backend-for-Frontend gateway. Browser code calls /api/backend/* or frontend-owned /api/auth/*; this file documents the backend canonical /api/v1/* contract that the gateway forwards to.

Auth

Wallet authentication, SIWE sessions, and authenticated user context.

Issue a SIWE challenge.

Request Body schema: application/json
required
address
required
string
chainId
required
integer
domain
string
uri
string
statement
string or null

Responses

Request samples

Content type
application/json
{
  • "address": "string",
  • "chainId": 0,
  • "domain": "string",
  • "uri": "string",
  • "statement": "string"
}

Response samples

Content type
application/json
{
  • "nonce": "string",
  • "domain": "string",
  • "chainId": 0,
  • "address": "string",
  • "uri": "string",
  • "statement": "string",
  • "issuedAt": 0,
  • "expiresAt": 0,
  • "message": "string"
}

Verify SIWE signature and issue a session.

Request Body schema: application/json
required
message
required
string
signature
required
string

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "signature": "string"
}

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "accessExpiresAt": 0,
  • "refreshToken": "string",
  • "refreshExpiresAt": 0,
  • "sessionId": "string",
  • "user": {
    },
  • "isNewUser": true
}

Rotate a refresh token.

Request Body schema: application/json
required
refreshToken
required
string

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "accessExpiresAt": 0,
  • "refreshToken": "string",
  • "refreshExpiresAt": 0,
  • "sessionId": "string"
}

Revoke the current session.

Authorizations:
bearerAuth
Request Body schema: application/json
optional
allSessions
boolean

Responses

Request samples

Content type
application/json
{
  • "allSessions": true
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Read the authenticated user.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "user": {
    }
}

Clones

Owner-facing clone list, detail, editable metadata, and entitlement summary.

List clones owned by the authenticated user.

Authorizations:
bearerAuth
query Parameters
limit
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "clones": [
    ]
}

Read clone metadata, entitlement, and active strategy version.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "clone": {
    },
  • "entitlement": {
    },
  • "activeStrategyVersion": {
    }
}

Update owner-editable clone metadata.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
Request Body schema: application/json
optional
displayName
string or null
model
string or null

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "model": "string"
}

Response samples

Content type
application/json
{
  • "clone": {
    }
}

Read the effective clone entitlement projection.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "entitlement": {
    }
}

Workflow

Strategy drafts, published versions, backtests, decision history, and workflow data previews.

Read the editable strategy draft.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "draft": {
    },
  • "persisted": true
}

Save the editable strategy draft.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
Request Body schema: application/json
required
required
object (CloneStrategyGraph)

Responses

Request samples

Content type
application/json
{
  • "graph": { }
}

Response samples

Content type
application/json
{
  • "draft": {
    }
}

Publish a strategy version.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
Request Body schema: application/json
optional
object (CloneStrategyGraph)

Responses

Request samples

Content type
application/json
{
  • "graph": { }
}

Response samples

Content type
application/json
{
  • "version": {
    },
  • "clone": {
    }
}

List immutable strategy versions.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "versions": [
    ]
}

Read one immutable strategy version.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
strategyVersionId
required
string

Responses

Response samples

Content type
application/json
{
  • "version": {
    }
}

Preview backtest policy/quota before starting a run.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
Request Body schema: application/json
optional
object (CloneStrategyGraph)
assetScope
string
Value: "all_active"
async
boolean
object
cadenceSec
integer >= 300
maxDecisionCalls
integer [ 1 .. 200 ]

Responses

Request samples

Content type
application/json
{
  • "graph": { },
  • "assetScope": "all_active",
  • "async": true,
  • "window": {
    },
  • "cadenceSec": 300,
  • "maxDecisionCalls": 1
}

Response samples

Content type
application/json
{
  • "estimate": { },
  • "quota": { },
  • "usage": { },
  • "allowed": true,
  • "blockers": [
    ]
}

Start a decision backtest.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
Request Body schema: application/json
optional
object (CloneStrategyGraph)
assetScope
string
Value: "all_active"
async
boolean
object
cadenceSec
integer >= 300
maxDecisionCalls
integer [ 1 .. 200 ]

Responses

Request samples

Content type
application/json
{
  • "graph": { },
  • "assetScope": "all_active",
  • "async": true,
  • "window": {
    },
  • "cadenceSec": 300,
  • "maxDecisionCalls": 1
}

Response samples

Content type
application/json
{
  • "cloneId": 0,
  • "window": {
    },
  • "model": {
    },
  • "summary": {
    },
  • "series": [
    ],
  • "assets": [
    ],
  • "warnings": [
    ]
}

List backtest jobs for a clone.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
query Parameters
limit
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "jobs": [
    ],
  • "limit": 0
}

Read one async backtest job.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
jobId
required
string

Responses

Response samples

Content type
application/json
{
  • "jobId": "string",
  • "cloneId": 0,
  • "status": "queued",
  • "progress": {
    },
  • "result": {
    },
  • "error": "string",
  • "createdAt": 0,
  • "updatedAt": 0
}

List persisted decision runs for one clone.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
query Parameters
limit
integer >= 1
symbol
string
branchId
string
status
string (DecisionRunStatus)
Enum: "queued" "running" "completed" "failed" "skipped"
scheduledFrom
integer
scheduledTo
integer

Responses

Response samples

Content type
application/json
{
  • "runs": [
    ],
  • "filters": { }
}

Resolve latest data-stream reads for an asset in a clone pipeline.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
symbol
required
string
Request Body schema: application/json
optional
object (CloneStrategyGraph)
asOfMs
integer

Responses

Request samples

Content type
application/json
{
  • "pipeline": { },
  • "asOfMs": 0
}

Response samples

Content type
application/json
{
  • "symbol": "string",
  • "asOfMs": 0,
  • "branches": [
    ],
  • "warnings": [
    ]
}

Auditions

Audition payment confirmation, audition submission, and audition progress/history.

Quote the audition fee and active SignedVault binding.

Authorizations:
bearerAuth
Request Body schema: application/json
required
tier
required
string (CloneCapacityTier)
Enum: "starter" "builder" "pro"
assetCapacity
required
integer [ 1 .. 10 ]
modelStrength
required
string (CloneModelStrength)
Enum: "cheap" "medium" "best"

Responses

Request samples

Content type
application/json
{
  • "tier": "starter",
  • "assetCapacity": 1,
  • "modelStrength": "cheap"
}

Response samples

Content type
application/json
{
  • "chainId": 0,
  • "vaultAddress": "string",
  • "resolverAddress": "string",
  • "tier": "starter",
  • "assetCapacity": 0,
  • "modelStrength": "cheap",
  • "amountWei": "string",
  • "amountEthString": "string",
  • "currency": "ETH"
}

Confirm or sync an audition-fee deposit.

Used after the wallet deposit transaction is confirmed. In v1 the frontend supplies the deposit nonce used in the wallet transaction because the backend does not yet create a server-side purchase intent or run an autonomous SignedVault watcher.

The backend still derives the wallet from the authenticated session, verifies the on-chain deposit against the active quote, and only then creates or updates payment, clone, and entitlement state. This endpoint is a confirmation/sync hook, not a general-purpose entitlement grant API.

Authorizations:
bearerAuth
Request Body schema: application/json
required
depositNonce
required
string^\d+$
cloneId
integer >= 1
object
tier
required
string (CloneCapacityTier)
Enum: "starter" "builder" "pro"
assetCapacity
required
integer [ 1 .. 10 ]
modelStrength
required
string (CloneModelStrength)
Enum: "cheap" "medium" "best"

Responses

Request samples

Content type
application/json
{
  • "depositNonce": "string",
  • "cloneId": 1,
  • "createClone": {
    },
  • "tier": "starter",
  • "assetCapacity": 1,
  • "modelStrength": "cheap"
}

Response samples

Content type
application/json
{
  • "purchase": {
    },
  • "entitlement": {
    },
  • "alreadyGranted": true,
  • "clone": {
    },
  • "draft": {
    },
  • "activeStrategyVersion": {
    }
}

Submit a clone into its audition.

Authorizations:
bearerAuth
Request Body schema: application/json
required
cloneId
required
integer >= 1
allowedSymbols
Array of strings
idempotencyKey
string
previousAuditionRunId
string or null

Responses

Request samples

Content type
application/json
{
  • "cloneId": 1,
  • "allowedSymbols": [
    ],
  • "idempotencyKey": "string",
  • "previousAuditionRunId": "string"
}

Response samples

Content type
application/json
{
  • "auditionRun": {
    },
  • "propAccount": {
    },
  • "alreadyExisted": true
}

Read one owned audition run.

Authorizations:
bearerAuth
path Parameters
auditionRunId
required
string

Responses

Response samples

Content type
application/json
{
  • "auditionRun": {
    }
}

List audition attempts for a clone.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
query Parameters
limit
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "auditionRuns": [
    ]
}

Contest

Arena and Promotion Queue reads for the competition surface.

Read Arena capacity and queue summary.

Responses

Response samples

Content type
application/json
{
  • "arena": { }
}

List active Arena clones.

query Parameters
limit
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "arena": { },
  • "clones": [
    ]
}

List Promotion Queue entries.

query Parameters
limit
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ]
}

Profiles

Owner and public clone identity surfaces.

Read owner-facing public profile for one clone.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "profile": {
    }
}

Submit or update owner-facing public profile for one clone.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
Request Body schema: application/json
required
name
required
string
username
required
string
description
string or null
avatarUrl
string or null
squareImageUrl
string or null
iconUrl
string or null
imageUrl
string or null
object (JsonObject)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "username": "string",
  • "description": "string",
  • "avatarUrl": "string",
  • "squareImageUrl": "string",
  • "iconUrl": "string",
  • "imageUrl": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "profile": {
    },
  • "action": null
}

List public profiles owned by the authenticated user.

Authorizations:
bearerAuth
query Parameters
limit
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "profiles": [
    ]
}

Read publicly visible clone profile.

path Parameters
cloneId
required
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "profile": {
    }
}

Report a public clone profile.

Authorizations:
bearerAuth
path Parameters
cloneId
required
integer >= 1
Request Body schema: application/json
required
category
required
string
detail
string or null

Responses

Request samples

Content type
application/json
{
  • "category": "string",
  • "detail": "string"
}

Response samples

Content type
application/json
{
  • "report": { }
}

Discovery Data

Asset, market, ingestion, and reference data consumed by the frontend.

List supported tradeable assets.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "assets": [
    ]
}

Search stored Polymarket markets.

Authorizations:
bearerAuth
query Parameters
q
string
limit
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "query": "string",
  • "markets": [
    ]
}

Search stored DefiLlama subjects.

Authorizations:
bearerAuth
query Parameters
q
string
type
string (DefiLlamaSubjectTypeOrAll)
Enum: "all" "global" "chain" "protocol" "stablecoin"
channel
string (DefiLlamaSourceChannelOrAll)
Enum: "all" "capital_base" "capital_flows" "economic_throughput"
limit
integer >= 1

Responses

Response samples

Content type
application/json
{
  • "query": "string",
  • "subjectType": "all",
  • "channel": "all",
  • "subjects": [
    ]
}

Read ingestion source health.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "ok": true,
  • "rows": [
    ]
}

Read ingestion dashboard data.

Responses

Response samples

Content type
application/json
{ }