Ah so it looks like the regular expression that matches path params does not accept digits -- `private static final Pattern PATH_PARAMETERS = Pattern.compile("\\{([a-z_-]+)\\}");` at https://github.com/square/retrofit/blob/master/retrofit/src/main/java/retrofit/http/RestMethodInfo.java#L18.

Was it intentional that path params such as `/foo/{bar1}` not be allowed?

Named path params ending with digits should be valid
The following test should pass: https://github.com/matthewmichihara/retrofit/commit/abfade69c7ab213fd07dbcc2604f5942c3324114

retrofit/src/main/java/retrofit/http/RestMethodInfo.java
retrofit/src/main/java/retrofit/http/RestMethodInfo.java
retrofit/src/test/java/retrofit/http/RestMethodInfoTest.java
diff --git a/retrofit/src/main/java/retrofit/http/RestMethodInfo.java b/retrofit/src/main/java/retrofit/http/RestMethodInfo.java
index e7ac42b56e..8591265de1 100644
--- a/retrofit/src/main/java/retrofit/http/RestMethodInfo.java
+++ b/retrofit/src/main/java/retrofit/http/RestMethodInfo.java
@@ -15,7 +15,10 @@
 /** Cached details about an interface method. */
 final class RestMethodInfo {
   static final int NO_SINGLE_ENTITY = -1;
-  private static final Pattern PATH_PARAMETERS = Pattern.compile("\\{([a-z_-]+)\\}");
+
+  // Matches strings containing lowercase characters, digits, underscores, or hyphens that start
+  // with a lowercase character in between '{' and '}'.
+  private static final Pattern PATH_PARAMETERS = Pattern.compile("\\{([a-z][a-z0-9_-]*)\\}");
 
   final Method method;
   final boolean isSynchronous;

diff --git a/retrofit/src/test/java/retrofit/http/RestMethodInfoTest.java b/retrofit/src/test/java/retrofit/http/RestMethodInfoTest.java
index 80255d253c..7591ecfd38 100644
--- a/retrofit/src/test/java/retrofit/http/RestMethodInfoTest.java
+++ b/retrofit/src/test/java/retrofit/http/RestMethodInfoTest.java
@@ -31,6 +31,8 @@ public class RestMethodInfoTest {
     expectParams("foo/bar/{taco}/or/{taco}", "taco");
     expectParams("foo/bar/{taco-shell}", "taco-shell");
     expectParams("foo/bar/{taco_shell}", "taco_shell");
+    expectParams("foo/bar/{sha256}", "sha256");
+    expectParams("foo/bar/{1}"); // Invalid parameter, name cannot start with digit.
   }
 
   private static void expectParams(String path, String... expected) {
