diff --git a/openapi_core/schema/operations/generators.py b/openapi_core/schema/operations/generators.py
index <HASH>..<HASH> 100644
--- a/openapi_core/schema/operations/generators.py
+++ b/openapi_core/schema/operations/generators.py
@@ -31,6 +31,7 @@ class OperationsGenerator(object):
             parameters_list = operation_deref.get('parameters', [])
             parameters = self.parameters_generator.generate_from_list(
                 parameters_list)
+            operation_id = operation_deref.get('operationId')
 
             request_body = None
             if 'requestBody' in operation_deref:
@@ -43,6 +44,7 @@ class OperationsGenerator(object):
                 Operation(
                     http_method, path_name, responses, list(parameters),
                     request_body=request_body, deprecated=deprecated,
+                    operation_id=operation_id,
                 ),
             )
 
diff --git a/tests/integration/test_petstore.py b/tests/integration/test_petstore.py
index <HASH>..<HASH> 100644
--- a/tests/integration/test_petstore.py
+++ b/tests/integration/test_petstore.py
@@ -74,6 +74,7 @@ class TestPetstore(object):
                 assert type(operation) == Operation
                 assert operation.path_name == path_name
                 assert operation.http_method == http_method
+                assert operation.operation_id is not None
 
                 operation_spec = spec_dict['paths'][path_name][http_method]
Populate operation_id attr