Create a private launch application draft.
POST /api/v1/launch-applications. Create a private launch application draft.
Request
POST /api/v1/launch-applications
Authentication is required. Supported credentials: a signed-in customer session token in Authorization: Bearer …. This route does not accept customer API keys.
Parameters
| Name | In | Type | Required | Constraints | Description |
|---|---|---|---|---|---|
X-Service-Act-As | header | string | No | min length: 3; max length: 512 | Service-principal path only (local and devnet stages; refused by configuration on mainnet). With an OAuth client-credentials bearer token from the validator, names the allow-listed Party the client acts as. Missing: 400 SERVICE_ACT_AS_REQUIRED; not allow-listed: 403 SERVICE_PARTY_NOT_ALLOWED. Ignored for customer session tokens. |
X-Request-Id | header | string | No | min length: 8; max length: 128; pattern: ^[A-Za-z0-9._:-]+$ | Optional client correlation identifier. The server always generates a separate authoritative request ID and retains a valid supplied value only as secondary audit correlation metadata. |
Request body
A body is required.
Content type: application/json
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
applicantNotes | string | No | max length: 5000 | — |
contactEmail | string | No | format: email; max length: 320; pattern: ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$ | — |
legalEntityName | string | No | min length: 1; max length: 200 | — |
legalJurisdiction | string | No | min length: 2; max length: 100 | — |
links | object · Schema 1 | Yes | default: {} | — |
projectDescription | string | No | min length: 20; max length: 20000 | — |
projectName | string | Yes | min length: 2; max length: 120 | — |
projectSlug | string | Yes | pattern: ^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$ | — |
projectSummary | string | No | min length: 10; max length: 500 | — |
quoteAssetDeploymentId | string | No | format: uuid; pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ | — |
targetRaise | string | No | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
team | array of object · Schema 2 | Yes | max items: 30; default: [] | — |
tokenName | string | No | min length: 2; max length: 120 | — |
tokenSymbol | string | No | min length: 2; max length: 15; pattern: ^[A-Z0-9][A-Z0-9._-]*$ | — |
tokenomics | object · Schema 3 | Yes | default: {} | — |
websiteUrl | string | No | format: uri; max length: 2048; pattern: ^https:// | Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching. |
Additional fields are not allowed.
cURL
Create request.json using the request-body schema. The example sends the file bytes unchanged.
curl --fail-with-body --silent --show-error \
--request POST \
--url "https://launch-api.supanova.app/api/v1/launch-applications" \
--header "Authorization: Bearer $SUPANOVA_SESSION_TOKEN" \
--header "Content-Type: application/json" \
--data-binary @request.jsonResponses
201
The created draft.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
applicantNotes | string or null | Yes | — | — |
contactEmail | string or null | Yes | — | — |
createdAt | string | Yes | — | — |
decidedAt | string or null | Yes | — | — |
id | string | Yes | format: uuid; pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ | — |
legalEntityName | string or null | Yes | — | — |
legalJurisdiction | string or null | Yes | — | — |
links | object · Schema 4 | Yes | — | — |
networkId | string | Yes | pattern: ^canton:[-_a-zA-Z0-9]{1,32}$ | — |
projectDescription | string or null | Yes | — | — |
projectName | string | Yes | — | — |
projectSlug | string | Yes | — | — |
projectSummary | string or null | Yes | — | — |
quoteAssetDeploymentId | string or null | Yes | — | — |
status | string | Yes | — | — |
submissionVersion | integer | Yes | minimum: 0; maximum: 9007199254740991 | — |
submittedAt | string or null | Yes | — | — |
targetRaise | string or null | Yes | — | — |
team | array of object · Schema 5 | Yes | max items: 30 | — |
tokenName | string or null | Yes | — | — |
tokenSymbol | string or null | Yes | — | — |
tokenomics | object · Schema 6 | Yes | — | — |
updatedAt | string | Yes | — | — |
websiteUrl | string or null | Yes | — | — |
Additional fields are not allowed.
400
The request is malformed or failed validation. Codes: VALIDATION_FAILED, AMBIGUOUS_CREDENTIALS, SERVICE_ACT_AS_REQUIRED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
401
Credentials are missing, malformed, expired or revoked. Codes: AUTHENTICATION_REQUIRED, INVALID_AUTHORIZATION_HEADER, INVALID_ACCESS_TOKEN, SESSION_REVOKED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
403
The credential may not call this route. Codes: ACCOUNT_RESTRICTED, ANONYMOUS_ACCOUNT_NOT_ALLOWED, API_KEY_ROUTE_NOT_ALLOWED, SERVICE_PARTY_NOT_ALLOWED, SERVICE_PRINCIPAL_NOT_ALLOWED, SIGNUP_NOT_INVITED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
413
The request body exceeds the size limit.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
428
The signed-in account must accept the current product terms first. Codes: PRODUCT_LEGAL_ACCEPTANCE_REQUIRED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
429
The caller exceeded an IP or principal request budget.
| Header | Type | Description |
|---|---|---|
Retry-After | integer | Whole seconds to wait before retrying a rate-limited request. |
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
503
A dependency is unavailable or the feature is not enabled on this deployment. Codes: AUTHENTICATION_UNAVAILABLE, AUTHORIZATION_UNAVAILABLE, GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
default
Machine-readable API error. The HTTP status identifies the error class.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
Nested schemas
Field links above lead to the complete nested object, array, and variant definitions below. Required fields are scoped to their containing object.
Schema 1
Request body.links
Type: object.
default: {}
Additional field values: string. format: uri; max length: 2048; pattern: ^https://
Schema 2
Request body.team
Type: array of object.
max items: 30; default: []
Array items: object · Schema 7.
Schema 3
Request body.tokenomics
Type: object.
default: {}
Additional field values: any value.
Schema 4
Response 201.links
Type: object.
Additional field values: string. format: uri; max length: 2048; pattern: ^https://
Schema 5
Response 201.team
Type: array of object.
max items: 30
Array items: object · Schema 7.
Schema 6
Response 201.tokenomics
Type: object.
Additional field values: any value.
Schema 7
Request body.team item
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
bio | string | No | max length: 1000 | — |
name | string | Yes | min length: 1; max length: 100 | — |
role | string | Yes | min length: 1; max length: 100 | — |
Additional fields are not allowed.
Source contract
This page is generated from the checked-in customer OpenAPI snapshot. Download JSON, download YAML, or compare the live API reference. Snapshot provenance records the retrieval date and checksum.