diff --git a/moto/apigateway/models.py b/moto/apigateway/models.py
--- a/moto/apigateway/models.py
+++ b/moto/apigateway/models.py
@@ -1734,7 +1734,7 @@ def create_resource(
         if not path_part:
             # We're attempting to create the default resource, which already exists.
             return api.default
-        if not re.match("^\\{?[a-zA-Z0-9._-]+\\+?\\}?$", path_part):
+        if not re.match("^\\{?[a-zA-Z0-9._\\-\\:]+\\+?\\}?$", path_part):
             raise InvalidResourcePathException()
         return api.add_child(path=path_part, parent_id=parent_resource_id)
 

Unfortunately I couldn't find any documentation around this. But it looks really we are really just missing support for `:`, nothing else, based on some cursory testing against AWS.

Thanks for raising this @alanfung - marking it as an bug.

diff --git a/tests/test_apigateway/test_apigateway.py b/tests/test_apigateway/test_apigateway.py
--- a/tests/test_apigateway/test_apigateway.py
+++ b/tests/test_apigateway/test_apigateway.py
@@ -272,7 +272,7 @@ def test_create_resource__validate_name():
     ]["id"]
 
     invalid_names = ["/users", "users/", "users/{user_id}", "us{er", "us+er"]
-    valid_names = ["users", "{user_id}", "{proxy+}", "user_09", "good-dog"]
+    valid_names = ["users", "{user_id}", "{proxy+}", "{pro:xy+}", "us:er_0-9"]
     # All invalid names should throw an exception
     for name in invalid_names:
         with pytest.raises(ClientError) as ex:

API Gateway does not support ":" character in the resource path.
## Reporting Bugs

### Expectation:
Like the real API gateway, I want to create resource path with the character ":". This is important for our use case because we follow https://google.aip.dev/136 where ":" is commonly used.

### Actual:
When trying to create resource with path `myResource:foo`, receives an error `Resource's path part only allow a-zA-Z0-9._- and curly braces at the beginning and the end and an optional plus sign before the closing brace.`

### Version:
I use it via the latest of localstack, from looking at the source, this should also be an issue on the latest version of moto.

------

Please add support for ":" in the regular expression here: https://github.com/getmoto/moto/blame/a4fe80d274eb711213e7c3251315b27889a973bb/moto/apigateway/models.py#L1737

Thank you!

tests/test_apigateway/test_apigateway.py::test_create_resource__validate_name
tests/test_apigateway/test_apigateway.py::test_get_model_by_name tests/test_apigateway/test_apigateway.py::test_get_usage_plans_using_key_id tests/test_apigateway/test_apigateway.py::test_delete_authorizer tests/test_apigateway/test_apigateway.py::test_create_method_apikeyrequired tests/test_apigateway/test_apigateway.py::test_update_rest_api_invalid_api_id tests/test_apigateway/test_apigateway.py::test_get_domain_name_unknown_domainname tests/test_apigateway/test_apigateway.py::test_get_api_key_include_value tests/test_apigateway/test_apigateway.py::test_create_method_response tests/test_apigateway/test_apigateway.py::test_create_domain_names tests/test_apigateway/test_apigateway.py::test_create_model tests/test_apigateway/test_apigateway.py::test_api_keys tests/test_apigateway/test_apigateway.py::test_delete_base_path_mapping_with_unknown_domain tests/test_apigateway/test_apigateway.py::test_update_path_mapping_with_unknown_domain tests/test_apigateway/test_apigateway.py::test_get_domain_names tests/test_apigateway/test_apigateway.py::test_update_path_mapping_with_unknown_api tests/test_apigateway/test_apigateway.py::test_get_base_path_mapping_with_unknown_domain tests/test_apigateway/test_apigateway.py::test_create_and_get_rest_api tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration tests/test_apigateway/test_apigateway.py::test_create_base_path_mapping_with_invalid_base_path tests/test_apigateway/test_apigateway.py::test_put_integration_response_with_response_template tests/test_apigateway/test_apigateway.py::test_delete_base_path_mapping tests/test_apigateway/test_apigateway.py::test_create_resource tests/test_apigateway/test_apigateway.py::test_update_usage_plan tests/test_apigateway/test_apigateway.py::test_api_key_value_min_length tests/test_apigateway/test_apigateway.py::test_integrations tests/test_apigateway/test_apigateway.py::test_create_authorizer tests/test_apigateway/test_apigateway.py::test_get_base_path_mappings_with_unknown_domain tests/test_apigateway/test_apigateway.py::test_update_path_mapping_with_unknown_base_path tests/test_apigateway/test_apigateway.py::test_get_api_keys_include_values tests/test_apigateway/test_apigateway.py::test_get_domain_name tests/test_apigateway/test_apigateway.py::test_update_path_mapping_to_same_base_path tests/test_apigateway/test_apigateway.py::test_list_and_delete_apis tests/test_apigateway/test_apigateway.py::test_create_usage_plan_key_non_existent_api_key tests/test_apigateway/test_apigateway.py::test_create_api_key_twice tests/test_apigateway/test_apigateway.py::test_create_rest_api_invalid_apikeysource tests/test_apigateway/test_apigateway.py::test_put_integration_response_but_integration_not_found tests/test_apigateway/test_apigateway.py::test_update_rest_api_operation_add_remove tests/test_apigateway/test_apigateway.py::test_delete_method tests/test_apigateway/test_apigateway.py::test_create_rest_api_valid_apikeysources tests/test_apigateway/test_apigateway.py::test_usage_plan_keys tests/test_apigateway/test_apigateway.py::test_get_api_key_unknown_apikey tests/test_apigateway/test_apigateway.py::test_delete_base_path_mapping_with_unknown_base_path tests/test_apigateway/test_apigateway.py::test_create_rest_api_with_tags tests/test_apigateway/test_apigateway.py::test_create_base_path_mapping_with_unknown_stage tests/test_apigateway/test_apigateway.py::test_update_path_mapping_with_unknown_stage tests/test_apigateway/test_apigateway.py::test_create_rest_api_with_policy tests/test_apigateway/test_apigateway.py::test_get_base_path_mappings tests/test_apigateway/test_apigateway.py::test_create_rest_api_invalid_endpointconfiguration tests/test_apigateway/test_apigateway.py::test_create_rest_api_valid_endpointconfigurations tests/test_apigateway/test_apigateway.py::test_update_rest_api tests/test_apigateway/test_apigateway.py::test_put_integration_validation tests/test_apigateway/test_apigateway.py::test_get_method_unknown_resource_id tests/test_apigateway/test_apigateway.py::test_get_base_path_mapping tests/test_apigateway/test_apigateway.py::test_integration_response tests/test_apigateway/test_apigateway.py::test_create_method tests/test_apigateway/test_apigateway.py::test_create_api_key tests/test_apigateway/test_apigateway.py::test_get_integration_response_unknown_response tests/test_apigateway/test_apigateway.py::test_create_base_path_mapping_with_duplicate_base_path tests/test_apigateway/test_apigateway.py::test_create_base_path_mapping tests/test_apigateway/test_apigateway.py::test_child_resource tests/test_apigateway/test_apigateway.py::test_usage_plans tests/test_apigateway/test_apigateway.py::test_get_api_models tests/test_apigateway/test_apigateway.py::test_delete_domain_name_unknown_domainname tests/test_apigateway/test_apigateway.py::test_non_existent_authorizer tests/test_apigateway/test_apigateway.py::test_get_base_path_mapping_with_unknown_base_path tests/test_apigateway/test_apigateway.py::test_update_path_mapping tests/test_apigateway/test_apigateway.py::test_create_base_path_mapping_with_unknown_api tests/test_apigateway/test_apigateway.py::test_get_model_with_invalid_name