Opt in to or cancel paid long-term audio storage
/api/v1/suno/storageAuthentication · x-api-key
Explicitly accepts the published unit rate and includes currently live ordinary audio and future deliveries. WAV and timestamp lyrics stay fixed at 180 days. Billing starts after the first 14 days and settles daily. Cancellation stops accrual and grants a 7-day download grace period. Expired assets are not revived. Accounts explicitly upgraded by Admin to monthly resource storage use /api/v1/storage; this mutation returns 409 for them.
Request
Unknown fields are not accepted.
-
Request ·
enabledRequiredbooleanTrue explicitly enables paid long-term ordinary audio storage; false cancels accrual and starts the download grace period.
-
Request ·
acceptedRateUnitsOptionalstringCurrent publishedRateUnitsPerGbMonth accepted by the customer. Required to enable a new subscription; obtain it from GET /api/v1/suno/storage.
Pattern: ^[0-9]{1,10}$.
Responses
200 OK
application/json
Must match at least one alternative.
-
Response 200 ·
body · anyOf 1Alternativenull -
Response 200 ·
body · anyOf 2Alternativeobject5 fields
-
Response 200 ·
body · anyOf 2.graceUntilRequiredstring | nullMust match at least one alternative.
2 fields / alternatives
-
Response 200 ·
body · anyOf 2.graceUntil · anyOf 1AlternativestringFormat: date-time.
-
Response 200 ·
body · anyOf 2.graceUntil · anyOf 2Alternativenull
-
-
Response 200 ·
body · anyOf 2.meteredThroughRequiredstringFormat: date-time.
-
Response 200 ·
body · anyOf 2.rateUnitsPerGbMonthRequiredstring -
Response 200 ·
body · anyOf 2.statusRequiredstring -
Response 200 ·
body · anyOf 2.stoppedAtRequiredstring | nullMust match at least one alternative.
2 fields / alternatives
-
Response 200 ·
body · anyOf 2.stoppedAt · anyOf 1AlternativestringFormat: date-time.
-
Response 200 ·
body · anyOf 2.stoppedAt · anyOf 2Alternativenull
-
-
400 Bad Request
application/json
-
Response 400 ·
errorRequiredobject3 fields
-
Response 400 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 400 ·
error.messageRequiredstringHuman readable error message
-
Response 400 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 400 ·
successRequiredfalseAlways false for error responses
401 Unauthorized
application/json
-
Response 401 ·
errorRequiredobject3 fields
-
Response 401 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 401 ·
error.messageRequiredstringHuman readable error message
-
Response 401 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 401 ·
successRequiredfalseAlways false for error responses
402 Payment Required
application/json
-
Response 402 ·
errorRequiredobject3 fields
-
Response 402 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 402 ·
error.messageRequiredstringHuman readable error message
-
Response 402 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 402 ·
successRequiredfalseAlways false for error responses
403 Forbidden
application/json
-
Response 403 ·
errorRequiredobject3 fields
-
Response 403 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 403 ·
error.messageRequiredstringHuman readable error message
-
Response 403 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 403 ·
successRequiredfalseAlways false for error responses
409 Conflict
application/json
-
Response 409 ·
errorRequiredobject3 fields
-
Response 409 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 409 ·
error.messageRequiredstringHuman readable error message
-
Response 409 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 409 ·
successRequiredfalseAlways false for error responses
429 Too Many Requests
Request allowance or task admission capacity exceeded. Follow Retry-After when present; otherwise wait for active tasks and use bounded backoff. Limits do not guarantee throughput. For SSE, this is the HTTP connection response, not an event.
application/json
-
Response 429 ·
errorRequiredobject3 fields
-
Response 429 ·
error.codeRequiredstringRATE_LIMITED for request and task admission rejections.
-
Response 429 ·
error.messageRequiredstring -
Response 429 ·
error.detailsOptionalobjectOptional and scope-dependent. Request limits supply scope/policy/type/limit/current/retryAfterSec. Task admission supplies inFlight/limit/tier, plus scope=apiKey for a key cap. IP rejection can omit details. In-flight rejection does not promise Retry-After.
8 fields
-
Response 429 ·
error.details.currentOptionalintegerMinimum: 0.
-
Response 429 ·
error.details.inFlightOptionalintegerMinimum: 0.
-
Response 429 ·
error.details.limitOptionalintegerMinimum: 0.
-
Response 429 ·
error.details.policyOptional"operation" | "query" -
Response 429 ·
error.details.retryAfterSecOptionalintegerMinimum: 1.
-
Response 429 ·
error.details.scopeOptional"user" | "api-key" | "ip" | "apiKey" -
Response 429 ·
error.details.tierOptional"FREE" | "PREMIUM" | "ENTERPRISE" -
Response 429 ·
error.details.typeOptional"rps" | "daily" | "monthly"
-
-
-
Response 429 ·
successRequiredfalseDefault: false.
500 Internal Server Error
application/json
-
Response 500 ·
errorRequiredobject3 fields
-
Response 500 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 500 ·
error.messageRequiredstringHuman readable error message
-
Response 500 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 500 ·
successRequiredfalseAlways false for error responses
503 Service Unavailable
application/json
-
Response 503 ·
errorRequiredobject3 fields
-
Response 503 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 503 ·
error.messageRequiredstringHuman readable error message
-
Response 503 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 503 ·
successRequiredfalseAlways false for error responses