Upload via POST /tracks returns 401 with an empty response body ('\n', Content-Type: text/plain, no WWW-Authenticate header). The same access token succeeds on GET /me (200).
Account: jacob-abdo-1 (user id 62867548)
Plan: Pro Unlimited — quota.unlimited_upload_quota: true, upload_seconds_left: null
Client ID: oaKtPwuLDy6dKEUDFwtqhiiPy7Mcwien
App: registered via scripts/sc-api-auth.mjs, redirect URI http://localhost:8080/callback
Auth: OAuth 2.1 authorization_code + PKCE, per the API guide. Token exchange succeeds and refresh works.
Tried, all returning an identical 401 with empty body:
Authorization: OAuth <token> and Authorization: Bearer <token>
- Freshly refreshed access token
- Refresh requesting scopes
non-expiring, upload, * (all return 200, but scope comes back as "")
- Minimal multipart body:
track[title], track[sharing], track[asset_data]
Reads work, writes do not.
GET /me -> 200 (returns Pro Unlimited plan, unlimited_upload_quota: true)
POST /tracks -> 401 body: '\n' content-type: text/plain
This matches the signature in #110, where the resolution was SoundCloud reinstating API credentials server-side. Could you check whether upload permission is enabled for this client / account?
Upload via
POST /tracksreturns401with an empty response body ('\n',Content-Type: text/plain, noWWW-Authenticateheader). The same access token succeeds onGET /me(200).Account:
jacob-abdo-1(user id 62867548)Plan: Pro Unlimited —
quota.unlimited_upload_quota: true,upload_seconds_left: nullClient ID:
oaKtPwuLDy6dKEUDFwtqhiiPy7McwienApp: registered via
scripts/sc-api-auth.mjs, redirect URIhttp://localhost:8080/callbackAuth: OAuth 2.1 authorization_code + PKCE, per the API guide. Token exchange succeeds and refresh works.
Tried, all returning an identical 401 with empty body:
Authorization: OAuth <token>andAuthorization: Bearer <token>non-expiring,upload,*(all return 200, butscopecomes back as"")track[title],track[sharing],track[asset_data]Reads work, writes do not.
This matches the signature in #110, where the resolution was SoundCloud reinstating API credentials server-side. Could you check whether upload permission is enabled for this client / account?