             }
             
             var urlRequest = request.urlRequest(for: self.baseURL, additionalParameters: self.additionalRequestParams)
-            if case .authorized(let token, _, _) = self.authState {
+            if case .authorized(let token, _, _) = self.authState,
+                request.requiresAuth == true {
                 urlRequest = urlRequest.signedForCoreAPI(withToken: token, secret: self.secret)
             }
             

            case .error(let regenError):
                Logger.log("Failed to update authSession \(regenError)", level: .error, source: .CoreAPI)
                
                // TODO: depending upon the error do different things
                // - what if retryable? network error?
                for (_, completion) in self.pendingSignedRequests {
                    DispatchQueue.main.async {
                        completion(.error(regenError))
                    }
                }
            }

        func resetStoredAuthState() {
            self.queue.async { [weak self] in
                guard let s = self else { return }
                AuthVault.clearLegacyAuthState()
                AuthVault.updateDataStore(s.dataStore, data: nil)
                s.authState = .unauthorized(error: nil, clientId: nil)
            }
