Zally website screenshot

Zally

Zally is an open source API linter from Zalando that validates OpenAPI 2 and 3 specifications against configurable rule sets for API design consistency. It exposes a REST API, command-line interface, and web UI for checking API designs against Zalando's RESTful API Guidelines or custom rule sets.

1 APIs 6 Features
API DesignAPI LintingAPI QualityOpen SourceOpenAPIZalando

APIs

Zally API

The Zally REST API performs linting of OpenAPI specifications against configurable rule sets. It returns violations grouped by rule severity (MUST, SHOULD, COULD, MAY, HINT), tr...

Collections

Pricing Plans

Zally Plans Pricing

3 plans

PLANS

Rate Limits

Zally Rate Limits

5 limits

RATE LIMITS

FinOps

Zally Finops

FINOPS

Features

API Linting

Validate OpenAPI 2/3 specifications against rule sets to enforce design consistency.

Configurable Rules

Customize default Zalando RESTful API Guidelines rules or define custom rule sets.

Multiple Interfaces

REST API for programmatic access, CLI for local checking, and Web UI for visual review.

Ignore Extension

Use x-zally-ignore extension in specs to selectively bypass rules.

Rule Severity Levels

Rules categorized as MUST, SHOULD, COULD, MAY, and HINT for graduated enforcement.

Linting Statistics

Track linting requests and aggregate review statistics over time.

Use Cases

API Design Review

Review OpenAPI specs in pull requests to enforce design standards before merge.

API Governance

Enforce organizational API guidelines across teams via shared rule sets.

API Quality Gate

Block API releases that violate critical MUST rules in CI/CD pipelines.

Style Guide Enforcement

Encode an API style guide as executable rules and apply consistently.

Integrations

GitHub Actions

Run Zally linting in GitHub Actions workflows on PRs.

Spectral

Translate Zally rule sets to Spectral rulesets for OpenAPI 3 alignment.

Zalando RESTful API Guidelines

Default rule set ships with rules from Zalando's public API guidelines.

Semantic Vocabularies

Zally Context

10 classes · 29 properties

JSON-LD

API Governance Rules

Zally API Rules

18 rules · 5 errors 13 warnings

SPECTRAL

JSON Structure

Zally Api Linting Request Structure

4 properties

JSON STRUCTURE

Zally Api Linting Response Structure

4 properties

JSON STRUCTURE

Zally Api Rule Structure

5 properties

JSON STRUCTURE

Zally Api Rule Type Structure

0 properties

JSON STRUCTURE

Zally Api Supported Rules Response Structure

1 properties

JSON STRUCTURE

Zally Api Violation Structure

8 properties

JSON STRUCTURE

Zally Api Violations Count Structure

5 properties

JSON STRUCTURE

Example Payloads

Zally Api Rule Example

5 fields

EXAMPLE

Zally Api Violation Example

8 fields

EXAMPLE

Resources

🔗
Website
Website
🔗
Documentation
Documentation
👥
GitHubRepository
GitHubRepository
👥
GitHubOrganization
GitHubOrganization
🔗
License
License
🔗
Issues
Issues
📄
ChangeLog
ChangeLog
🔗
CLI
CLI
📦
SDKs
SDKs
🔗
Specification
Specification
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Zally - Zalando's API Linter
  version: 2.3.0
items:
- info:
    name: Zally API Violations
    type: http
  http:
    method: POST
    url: https://zally.on.inter.net/api-violations
    body:
      type: json
      data: '{}'
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: 'The API Violations endpoint validates given Swagger Specification

    against the rules defined in *Zalando* RESTful API Guidelines

    (http://zalando.github.io/restful-api-guidelines/).


    A successful response includes the list of violations grouped by

    the API Guidelines rules.


    If an api definition is supplied via url then any non-successful

    responses from that will be passed on. For example you may be

    using Zally without authentication but supply a password

    protected url and still get a `401 Unauthor'
- info:
    name: Zally Get Previous Generated Validation Result
    type: http
  http:
    method: GET
    url: https://zally.on.inter.net/api-violations/:externalId
    params:
    - name: externalId
      value: ''
      type: path
      description: Identifier of a previous validation result
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: 'Retreive a previous validation result in the same format as when

    it was originally processed.


    If the idenfied validation result cannot be found then a

    `404 Not Found` response is returned.

    '
- info:
    name: Zally Suported Rules
    type: http
  http:
    method: GET
    url: https://zally.on.inter.net/supported-rules
    params:
    - name: type
      value: ''
      type: query
      description: Rules Type
    - name: is_active
      value: ''
      type: query
      description: Is Rule Active
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: 'Returns a list of rules which are supported by a current Zally

    installation.

    '
- info:
    name: Zally Provides Query Capabilites for Linting Summaries and Automatically Computed Review Statistics.
    type: http
  http:
    method: GET
    url: https://zally.on.inter.net/review-statistics
    params:
    - name: from
      value: ''
      type: query
      description: All review statistics from this day
    - name: to
      value: ''
      type: query
      description: All review statistics until this day, only works in conjunction with from parameter
    - name: user_agent
      value: ''
      type: query
      description: Review statistics requested with the specified User-Agent
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: 'Returns a list of all linting results and review statistics for a given

    interval in time. If none of the query parameters is supplied, a list of

    all linting results and review statistics for the last week is returned.

    '
bundled: true