diff --git a/quiche/blind_sign_auth/blind_sign_auth.cc b/quiche/blind_sign_auth/blind_sign_auth.cc
index b13005f..f998154 100644
--- a/quiche/blind_sign_auth/blind_sign_auth.cc
+++ b/quiche/blind_sign_auth/blind_sign_auth.cc
@@ -48,13 +48,12 @@
       privacy::ppn::GetInitialDataRequest_LocationGranularity_CITY_GEOS);
 
   // Call GetInitialData on the HttpFetcher.
-  std::string path_and_query = "/v1/getInitialData";
   std::string body = request.SerializeAsString();
   BlindSignHttpCallback initial_data_callback =
       absl::bind_front(&BlindSignAuth::GetInitialDataCallback, this,
                        oauth_token, num_tokens, std::move(callback));
-  http_fetcher_->DoRequest(path_and_query, oauth_token, body,
-                           std::move(initial_data_callback));
+  http_fetcher_->DoRequest(BlindSignHttpRequestType::kGetInitialData,
+                           oauth_token, body, std::move(initial_data_callback));
 }
 
 void BlindSignAuth::GetInitialDataCallback(
@@ -165,8 +164,8 @@
       &BlindSignAuth::AuthAndSignCallback, this, public_metadata_info,
       public_metadata_expiry_time.value(), *at_sign_request,
       *std::move(bssa_client), std::move(callback));
-  http_fetcher_->DoRequest("/v1/authWithHeaderCreds", oauth_token.data(),
-                           sign_request.SerializeAsString(),
+  http_fetcher_->DoRequest(BlindSignHttpRequestType::kAuthAndSign,
+                           oauth_token.data(), sign_request.SerializeAsString(),
                            std::move(auth_and_sign_callback));
 }
 
diff --git a/quiche/blind_sign_auth/blind_sign_auth_test.cc b/quiche/blind_sign_auth/blind_sign_auth_test.cc
index 6128750..edd8626 100644
--- a/quiche/blind_sign_auth/blind_sign_auth_test.cc
+++ b/quiche/blind_sign_auth/blind_sign_auth_test.cc
@@ -18,10 +18,12 @@
 #include "absl/status/statusor.h"
 #include "absl/strings/escaping.h"
 #include "absl/strings/string_view.h"
+#include "absl/time/time.h"
 #include "quiche/blind_sign_auth/anonymous_tokens/cpp/testing/proto_utils.h"
 #include "quiche/blind_sign_auth/anonymous_tokens/cpp/testing/utils.h"
 #include "quiche/blind_sign_auth/anonymous_tokens/proto/anonymous_tokens.pb.h"
 #include "openssl/base.h"
+#include "quiche/blind_sign_auth/blind_sign_http_interface.h"
 #include "quiche/blind_sign_auth/blind_sign_http_response.h"
 #include "quiche/blind_sign_auth/test_tools/mock_blind_sign_http_interface.h"
 #include "quiche/common/platform/api/quiche_mutex.h"
@@ -66,18 +68,10 @@
         public_key;
 
     // Create public metadata info.
-    std::string public_metadata_str = R"pb(
-      public_metadata {
-        exit_location { country: "US" }
-        service_type: "chromeipblinding"
-        expiration { seconds: 3600 }
-      }
-      validation_version: 1
-    )pb";
     privacy::ppn::PublicMetadata::Location location;
     location.set_country("US");
     quiche::protobuf::Timestamp expiration;
-    expiration.set_seconds(3600);
+    expiration.set_seconds(absl::ToUnixSeconds(absl::Now() + absl::Hours(1)));
     privacy::ppn::PublicMetadata public_metadata;
     *public_metadata.mutable_exit_location() = location;
     public_metadata.set_service_type("chromeipblinding");
@@ -168,16 +162,17 @@
 
     EXPECT_CALL(
         mock_http_interface_,
-        DoRequest(Eq("/v1/getInitialData"), Eq(oauth_token_),
-                  Eq(expected_get_initial_data_request_.SerializeAsString()),
-                  _))
+        DoRequest(
+            Eq(BlindSignHttpRequestType::kGetInitialData), Eq(oauth_token_),
+            Eq(expected_get_initial_data_request_.SerializeAsString()), _))
         .Times(1)
         .WillOnce([=](auto&&, auto&&, auto&&, auto get_initial_data_cb) {
           std::move(get_initial_data_cb)(fake_public_key_response);
         });
 
-    EXPECT_CALL(mock_http_interface_, DoRequest(Eq("/v1/authWithHeaderCreds"),
-                                                Eq(oauth_token_), _, _))
+    EXPECT_CALL(mock_http_interface_,
+                DoRequest(Eq(BlindSignHttpRequestType::kAuthAndSign),
+                          Eq(oauth_token_), _, _))
         .Times(1)
         .WillOnce(Invoke([this](Unused, Unused, const std::string& body,
                                 BlindSignHttpCallback callback) {
@@ -204,7 +199,8 @@
 
 TEST_F(BlindSignAuthTest, TestGetTokensFailedNetworkError) {
   EXPECT_CALL(mock_http_interface_,
-              DoRequest(Eq("/v1/getInitialData"), Eq(oauth_token_), _, _))
+              DoRequest(Eq(BlindSignHttpRequestType::kGetInitialData),
+                        Eq(oauth_token_), _, _))
       .Times(1)
       .WillOnce([=](auto&&, auto&&, auto&&, auto get_initial_data_cb) {
         std::move(get_initial_data_cb)(
@@ -212,7 +208,7 @@
       });
 
   EXPECT_CALL(mock_http_interface_,
-              DoRequest(Eq("/v1/authWithHeaderCreds"), _, _, _))
+              DoRequest(Eq(BlindSignHttpRequestType::kAuthAndSign), _, _, _))
       .Times(0);
 
   int num_tokens = 1;
@@ -235,7 +231,7 @@
 
   EXPECT_CALL(
       mock_http_interface_,
-      DoRequest(Eq("/v1/getInitialData"), Eq(oauth_token_),
+      DoRequest(Eq(BlindSignHttpRequestType::kGetInitialData), Eq(oauth_token_),
                 Eq(expected_get_initial_data_request_.SerializeAsString()), _))
       .Times(1)
       .WillOnce([=](auto&&, auto&&, auto&&, auto get_initial_data_cb) {
@@ -243,7 +239,7 @@
       });
 
   EXPECT_CALL(mock_http_interface_,
-              DoRequest(Eq("/v1/authWithHeaderCreds"), _, _, _))
+              DoRequest(Eq(BlindSignHttpRequestType::kAuthAndSign), _, _, _))
       .Times(0);
 
   int num_tokens = 1;
@@ -265,16 +261,17 @@
 
     EXPECT_CALL(
         mock_http_interface_,
-        DoRequest(Eq("/v1/getInitialData"), Eq(oauth_token_),
-                  Eq(expected_get_initial_data_request_.SerializeAsString()),
-                  _))
+        DoRequest(
+            Eq(BlindSignHttpRequestType::kGetInitialData), Eq(oauth_token_),
+            Eq(expected_get_initial_data_request_.SerializeAsString()), _))
         .Times(1)
         .WillOnce([=](auto&&, auto&&, auto&&, auto get_initial_data_cb) {
           std::move(get_initial_data_cb)(fake_public_key_response);
         });
 
-    EXPECT_CALL(mock_http_interface_, DoRequest(Eq("/v1/authWithHeaderCreds"),
-                                                Eq(oauth_token_), _, _))
+    EXPECT_CALL(mock_http_interface_,
+                DoRequest(Eq(BlindSignHttpRequestType::kAuthAndSign),
+                          Eq(oauth_token_), _, _))
         .Times(1)
         .WillOnce(Invoke([this](Unused, Unused, const std::string& body,
                                 BlindSignHttpCallback callback) {
diff --git a/quiche/blind_sign_auth/blind_sign_http_interface.h b/quiche/blind_sign_auth/blind_sign_http_interface.h
index 09e92b2..294ae7f 100644
--- a/quiche/blind_sign_auth/blind_sign_http_interface.h
+++ b/quiche/blind_sign_auth/blind_sign_http_interface.h
@@ -17,9 +17,15 @@
 using BlindSignHttpCallback =
     quiche::SingleUseCallback<void(absl::StatusOr<BlindSignHttpResponse>)>;
 
+enum class BlindSignHttpRequestType {
+  kUnknown = 0,
+  kGetInitialData,
+  kAuthAndSign,
+};
+
 // Interface for async HTTP POST requests in BlindSignAuth.
-// Implementers must send a request to a signer hostname, using the request's
-// arguments, and call the provided callback when a request is complete.
+// Implementers must send a request to a signer server's URL
+// and call the provided callback when the request is complete.
 class QUICHE_EXPORT BlindSignHttpInterface {
  public:
   virtual ~BlindSignHttpInterface() = default;
@@ -32,7 +38,7 @@
   // "application/x-protobuf".
   // DoRequest is async. When the request completes, the implementer must call
   // the provided callback.
-  virtual void DoRequest(const std::string& path_and_query,
+  virtual void DoRequest(BlindSignHttpRequestType request_type,
                          const std::string& authorization_header,
                          const std::string& body,
                          BlindSignHttpCallback callback) = 0;
diff --git a/quiche/blind_sign_auth/test_tools/mock_blind_sign_http_interface.h b/quiche/blind_sign_auth/test_tools/mock_blind_sign_http_interface.h
index 1b4f729..6e86e58 100644
--- a/quiche/blind_sign_auth/test_tools/mock_blind_sign_http_interface.h
+++ b/quiche/blind_sign_auth/test_tools/mock_blind_sign_http_interface.h
@@ -17,7 +17,7 @@
     : public BlindSignHttpInterface {
  public:
   MOCK_METHOD(void, DoRequest,
-              (const std::string& path_and_query,
+              (BlindSignHttpRequestType request_type,
                const std::string& authorization_header, const std::string& body,
                BlindSignHttpCallback callback),
               (override));
