The following preferences can be set using the   Plug-in Development > API Errors/Warnings preference page.  
	
API problems are created during project builds (auto and full builds), the tooling breaks down the types of problems reported into one of three categories:
You can also configure the problem severities on a per project basis as well, 
		by using the API Errors/Warnings property page for a project
	 
	
| Option | Description | Default | 
|---|---|---|
| Unsupported use of API Javadoc Tags | When enabled the API analysis builder will check for API Javadoc tags used incorrectly. | Ignore | 
| Reference not defined in specified execution environment | When enabled the API analysis builder will check for references to system libraries that might be illegal according to the execution environment specified for the bundle. | Ignore | 
| Option | Description | Default | 
|---|---|---|
| Implementing an interface marked as '@noimplement' | When enabled the API analysis builder will check for illegal implementation of marked interfaces. | Warning | 
| Extending a type marked '@noextend' | When enabled the API analysis builder will check for classes that extend marked types. | Warning | 
| Referencing a field or method marked '@noreference' | When enabled the API analysis builder will check for field and method references to tagged members. | Warning | 
| Instantiating a class tagged '@noinstantiate' | When enabled the API analysis builder will check that tagged classes are not instantiated. | Warning | 
| Overriding a method marked as '@nooverride' | When enabled the API analysis builder will check that tagged methods in parent classes are not overridden in any child class either by extending (re-implement with a call to the overridden parent) or re-implementing (with no call to the overridden parent). | Warning | 
| Option | Description | Default | 
|---|---|---|
| Extends a non-API class | When enabled the API analysis builder will check if any API classes extend non-API types. | Warning | 
| Implements a non-API interface | When enabled the API analysis builder will check if any API classes implement a non-API interface | Warning | 
| Field with non-API type | When enabled the API analysis builder will check if any API types have public or protected fields with non-API types. | Warning | 
| Method with a non-API return type | When enabled the API analysis builder will check if any API types have public or protected methods with non-API return types. | Warning | 
| Method with non-API parameter type | When enabled the API analysis builder will check if any API types have public or protected methods with non-API parameter types. | Warning | 
	 
	
| Option | Description | Default | 
|---|---|---|
| Report API breakage even if authorized by major version increment | When enabled the API analysis builder will report problems for API breakages even if the major version of the bundle has already been incremented. | Disabled | 
| Option | Description | Default | 
|---|---|---|
| An API type has become non-API | When enabled the API analysis builder will check if any API types in the current bundle have been changed to non-API types. | Error | 
| A type has been removed | When enabled the API analysis builder will check if any API types have been removed from the API scope in the given bundle. | Error | 
| An API re-exported type has become non-API | When enabled the API analysis builder will check if any API re-exported types in the current bundle have been changed to non-API types. | Error | 
| A re-exported type has been removed | When enabled the API analysis builder will check if any API re-exported types have been removed from the API scope in the given bundle. | Error | 
| Option | Description | Default | 
|---|---|---|
| A method (that needs to be implemented) has been added: | When enabled the API analysis builder will check if any public or protected methods that need to be implemented have been added to any API types. | Error | 
| Restrictions have been added | When enabled the API analysis builder will check if API restrictions have been added for any API classes. | Error | 
| A type parameter has been added | When enabled the API analysis builder will check if any type parameters have been added to any API classes. | Error | 
| The superinterfaces hierarchy has been reduced | When enabled the API analysis builder will check if any parent interfaces have been removed from any API classes. | Error | 
| The keyword 'abstract' has been added | When enabled the API analysis builder will check if the 'abstract' keyword has been added to any API classes. | Error | 
| The keyword 'final' has been added | When enabled the API analysis builder will check if the 'final' keyword has been added to any API classes. | Error | 
| Converted to annotation, enum, or interface | When enabled the API analysis builder will check if any API classes have been changed to annotations, enums, or interfaces. | Error | 
| The visibility has been reduced | When enabled the API analysis builder will check if any public API classes have been made private or default scope. | Error | 
| A field has been removed | When enabled the API analysis builder will check if any public or protected fields have been removed from any API classes. | Error | 
| A method has been removed | When enabled the API analysis builder will check if any public or protected methods have been removed from any API classes. | Error | 
| A constructor has been removed | When enabled the API analysis builder will check if any public or protected constructors have been removed from any API classes. | Error | 
| The superclass hierarchy has been reduced | When enabled the API analysis builder will check if any superclasses have been removed from the hierarchy. | Error | 
| A member type has been removed | When enabled the API analysis builder will check if any member types have been removed from any API classes. | Error | 
| A type parameter has been removed | When enabled the API analysis builder will check if any type parameters have been removed from any API classes. | Error | 
| Option | Description | Default | 
|---|---|---|
| A field (interface not tagged as '@noimplement') has been added | When enabled the API analysis builder will check if any public fields have been added to any API interfaces. | Error | 
| A method (interface not tagged as '@noimplement') has been added | When enabled the API analysis builder will check if any public methods have been added to any API interfaces. | Error | 
| Restrictions have been added | When enabled the API analysis builder will check if API restrictions have added for any API interfaces. | Error | 
| A type parameter has been added | When enabled the API analysis builder will check if any type parameters have been added to any API interfaces. | Error | 
| Converted to class, enum, or annotation | When enabled the API analysis builder will check if any API interfaces have been changed to classes, enums, or interfaces. | Error | 
| The superinterfaces hierarchy has been reduced | When enabled the API analysis builder will check if any parent interfaces have been removed for any API interfaces. | Error | 
| A type parameter has been removed | When enabled the API analysis builder will check if any type parameters have been removed from any API interfaces. | Error | 
| A field has been removed | When enabled the API analysis builder will check if any public fields have been removed from any API interfaces. | Error | 
| A method has been removed | When enabled the API analysis builder will check if any public methods have been removed from any API interfaces. | Error | 
| A member type has been removed | When enabled the API analysis builder will check if nay member types have been removed from any API interfaces. | Error | 
| Option | Description | Default | 
|---|---|---|
| The superinterfaces hierarchy has been reduced | When enabled the API analysis builder will check if any parent interfaces have been removed from any API enums. | Error | 
| Converted to annotation, class, or interface | When enabled the API analysis builder will check if any API enums have been changed to annotations, classes, or interfaces. | Error | 
| A field has been removed | When enabled the API analysis builder will check if any public fields have been removed from any API enums. | Error | 
| An enum constant has been removed | When enabled the API analysis builder will check if any enum constants have been removed from any API enums. | Error | 
| A method has been removed | When enabled the API analysis builder will check if any public methods have been removed from any API enums. | Error | 
| A member type has been removed | When enabled the API analysis builder will check if any member types have been removed from any API enums. | Error | 
| Option | Description | Default | 
|---|---|---|
| A method without a default value has been added | When enabled the API analysis builder will check if a method without a default value has been added to API annotations. | Error | 
| Converted to class, enum, or interface | When enabled the API analysis builder will check if any API annotations have been converted to classes, enums or interfaces. | Error | 
| A field has been removed | When enabled the API analysis builder will check if any public fields have been removed from any API annotations. | Error | 
| A method has been removed | When enabled the API analysis builder will check if any public methods have been removed from any API annotations. | Error | 
| A member type has been removed | When enabled the API analysis builder will check if any public member types have been removed from any API annotations. | Error | 
| Option | Description | Default | 
|---|---|---|
| A constant value has been added | When enabled the API analysis builder will check if a constant value has been added to any previously un-initialized public or protected field constants for any API types. | Error | 
| The type has been modified | When enabled the API analysis builder will check if the type of any public or protected fields has been changed for any API types. | Error | 
| The constant value has been modified | When enabled the API analysis builder will check if the value of any public or protected field constants has been changed in any API types. | Error | 
| The visibility has been reduced | When enabled the API analysis builder will check if any public or protected fields have been made private in any API types. | Error | 
| The keyword 'final' has been removed for static constant | When enabled the API analysis builder will check if any public or protected fields have had the final keyword removed in any API types. | Error | 
| The keyword 'final' has been added | When enabled the API analysis builder will check if the final keyword has been added to any public or protected fields in any API types. | Error | 
| The keyword 'static' has been removed | When enabled the API analysis builder will check if the static keyword has been removed from any public or protected fields in any API types. | Error | 
| The keyword 'static' has been added | When enabled the API analysis builder will check if the static keyword has been added to any public or protected fields in any API types. | Error | 
| The constant value has been removed | When enabled the API analysis builder will check if the value of a constant field has been removed for any public or protected field constants in any API types. | Error | 
| A type argument has been removed | When enabled the API analysis builder will check if a type argument has been removed from any public or protected fields in any API types. | Error | 
| Option | Description | Default | 
|---|---|---|
| The @nooverride restriction has been added | When enabled the API analysis builder will check if the restrictions of any public or protected methods have been changed in any API types by adding the @nooverride tag. | Error | 
| A type parameter has been added | When enabled the API analysis builder will check if a type parameter has been added to any public or protected methods for any API types. | Error | 
| Converted variable argument to array type | When enabled the API analysis builder will check if a varargs argument has been expanded to an object array for any public or protected methods for any API types. | Error | 
| The visibility has been reduced | When enabled the API analysis builder will check if any public or protected methods have been made private for any API types. | Error | 
| The keyword 'abstract' has been added | When enabled the API analysis builder will check if any public or protected methods have been made abstract in any API types. | Error | 
| The keyword 'static' has been added | When enabled the API analysis builder will check if any public or protected methods have been made static in any API types. | Error | 
| The keyword 'static' has been removed | When enabled the API analysis builder will check if any public or protected methods have been made non-static in any API types. | Error | 
| The keyword 'final' has been added (type tagged '@noextend') | When enabled the API analysis builder will check if any public or protected methods have been made final in any API types that have been tagged @noextend. | Error | 
| The annotation default value has been removed | When enabled the API analysis builder will check if the default value associated with any API annotation method has been removed. | Error | 
| A type parameter has been removed | When enabled the API analysis builder will check if a type parameter has been removed from any public or protected methods for any API types. | Error | 
| Option | Description | Default | 
|---|---|---|
| A type parameter has been added | When enabled the API analysis builder will check if a type parameter has been added to any public constructors for any API types. | Error | 
| Converted variable argument to array type | When enabled the API analysis builder will check if any varargs parameters have been expanded to object arrays for any public constructors for any API types. | Error | 
| The visibility has been reduced | When enabled the API analysis builder will check if any public constructors have been made non-public in any API types. | Error | 
| A type parameter has been removed | When enabled the API analysis builder will check if a type parameter has been removed from any public constructors for any API types. | Error | 
| Option | Description | Default | 
|---|---|---|
| A class bound has been added | When enabled the API analysis builder will check if a class bound has been added to any type parameter of any API types. | Error | 
| An interface bound has been added | When enabled the API analysis builder will check if any interface bounds have been added to any type parameter of any API types. | Error | 
| A class bound has been modified | When enabled the API analysis builder will check if any class bounds have been changed on any type parameter of any API types. | Error | 
| An interface bound has been modified | When enabled the API analysis builder will check if any interface bounds have been changed on any type parameter of any API types. | Error | 
| A class bound has been removed | When enabled the API analysis builder will check if any class bounds have been removed from any type parameter of any API types. | Error | 
| An interface bound has been removed | When enabled the API analysis builder will check if any interface bounds have been removed from any type parameter of any API types. | Error | 
	 
	
| Option | Description | Default | 
|---|---|---|
| Report missing '@since' tags | When enabled the API analysis builder will check if @since tags are missing for types or members added since the version of the API baseline in use. | Error | 
| Report malformed '@since' tags | When enabled the API analysis builder will check if any @since tags currently in use are malformed (incorrect syntax). | Error | 
| Report invalid '@since' tag version | When enabled the API analysis builder will check if any @since tags currently in use have the wrong version. | Error | 
| Report incompatible bundle version | When enabled the API analysis builder will check if the bundle version for the plug-in is incorrect, based on any API changes and the current API baseline in use. | Error | 
| Report unnecessary minor or micro version change | When enabled the API analysis builder will check if the minor or micro  version for the plug-in is incorrectly incremented.  | Warning | 
| Report major version change without API breakage | When enabled the API analysis builder will check if the major version for the plug-in has changed without a breaking API change. | Warning | 
| Report changed execution environment incompatibility | When enabled the API analysis builder will check if the bundle version for the plug-in requires a minor version change because of the changed execution environment. | Error | 
	 
	
| Option | Description | Default | 
|---|---|---|
| Bundle missing required constraint/prerequisite | When enabled the API analysis builder will report any missing required constraint or prerequisite that prevents the builder from performing a complete analysis. Regardless of the value of this option the analysis is skipped for the corresponding bundle. | Error | 
| Unused API problem filters | When enabled the API analysis builder will report any API problem filters that are no longer being used. | Warning | 
	 
	
| Option | Description | Default | 
|---|---|---|
| Unresolved type problem | When enabled the API analysis builder will report any API types that have been removed that are included in any use scan listed on the API Use Scans prefrence page. | Error | 
| Unresolved method problem | When enabled the API analysis builder will report any methods that have been removed that are included in any use scan listed on the API Use Scans prefrence page. | Error | 
| Unresolved field problem | When enabled the API analysis builder will report any fields that have been removed that are included in any use scan listed on the API Use Scans prefrence page. | Error |