diff --git a/src/__tests__/linter.ts b/src/__tests__/linter.ts
index f863ff54d..973dce472 100644
--- a/src/__tests__/linter.ts
+++ b/src/__tests__/linter.ts
@@ -43,7 +43,7 @@ describe('linter', () => {
     expect(result.results.length).toBe(0);
   });
 
-  test('should return extra properties', () => {
+  test('should return all properties', () => {
     const message = '4xx responses require a description';
 
     spectral.addFunctions({
@@ -94,6 +94,36 @@ describe('linter', () => {
     });
   });
 
+  test('should support rule overriding severity', () => {
+    spectral.addFunctions({
+      func1: () => {
+        return [
+          {
+            message: 'foo',
+          },
+        ];
+      },
+    });
+
+    spectral.addRules({
+      rule1: {
+        given: '$.x',
+        severity: ValidationSeverity.Info,
+        severityLabel: ValidationSeverityLabel.Info,
+        then: {
+          function: 'func1',
+        },
+      },
+    });
+
+    const result = spectral.run({
+      x: true,
+    });
+
+    expect(result.results[0].severity).toEqual(ValidationSeverity.Info);
+    expect(result.results[0].severityLabel).toEqual(ValidationSeverityLabel.Info);
+  });
+
   describe('functional tests for the given property', () => {
     let fakeLintingFunction: any;
 
diff --git a/src/linter.ts b/src/linter.ts
index 01a77825c..25ab16301 100644
--- a/src/linter.ts
+++ b/src/linter.ts
@@ -88,8 +88,8 @@ export const lintNode = (
         return {
           name: rule.name,
           message: result.message,
-          severity: ValidationSeverity.Error || rule.severity,
-          severityLabel: ValidationSeverityLabel.Error || rule.severityLabel,
+          severity: rule.severity || ValidationSeverity.Error,
+          severityLabel: rule.severityLabel || ValidationSeverityLabel.Error,
           path: result.path || targetPath,
         };
       })
diff --git a/src/spectral.ts b/src/spectral.ts
index 27f18a77c..42724f623 100644
--- a/src/spectral.ts
+++ b/src/spectral.ts
@@ -12,6 +12,8 @@ import {
   RunRuleCollection,
 } from './types';
 
+export * from './types';
+
 export class Spectral {
   private _rules: RuleCollection = {};
   private _functions: FunctionCollection = defaultFunctions;