# contact-defined

Source: https://apigenie.pl/docs/linter/swagger/rules/contact-defined

This rule checks whether complete contact information is present in a
Swagger 2.0 document.

## Rule Details

The `contact-defined` rule ensures that the `info.contact` object is defined
and that its `name`, `email` and `url` properties are all present and not
empty. Contact information tells consumers of the API whom to ask for help,
report problems to, or notify about their use of the API.

The rule reports:

- `Contact object is missing` when there is no `info.contact` object,
- `Contact name is missing or empty` when `name` is missing or empty,
- `Contact email is missing` when `email` is missing or empty,
- `Contact URL is missing` when `url` is missing or empty.

## Configuration

None.

## Examples

**Good**.

```yaml
swagger: '2.0'
info:
  title: Pet Store
  version: 1.0.0
  contact:
    name: Pet Platform Team
    email: pets@your-company.com
    url: https://your-company.com/teams/pets
paths: {}
```

**Bad**. The contact object is present, but it is not possible to reach the
team by email.

```yaml
swagger: '2.0'
info:
  title: Pet Store
  version: 1.0.0
  contact:
    name: Pet Platform Team
    url: https://your-company.com/teams/pets
paths: {}
```

## When Not to Use It

You may skip contact information for APIs that are used only by the team that
owns them.

## Compatibility

This rule is compatible with Swagger 2.0 documents. OpenAPI 3.x and AsyncAPI
documents are linted by the OpenAPI and AsyncAPI linters, which have their own
`contact-defined` rules.
