Tigrister Extensions

Custom OpenAPI Extensions

Tigrister uses vendor extensions (x-tigrister-*) to store application-specific data in your OpenAPI spec. These extensions enable features like test assertions, auth configurations, and project metadata.

Key Concepts
  • OpenAPI Compliant - All x-* extensions are valid per spec
  • Round-Trip Safe - Extensions survive import/export cycles
  • Sync Aware - Preserved during bi-directional sync

Available Extensions

Tigrister defines the following vendor extensions:

ExtensionLocationPurpose
x-tigrister-assertionsOperationTest assertions for responses
x-tigrister-authOperationPer-endpoint auth configuration
x-tigrister-enabledParameterEnable/disable individual parameters
x-tigrister-env-idServerStable environment identifier
x-tigrister-env-nameServerCustom environment display name
x-tigrister-project-idRootProject tracking ID
x-tigrister-versionRootTigrister format version
x-tigrister-module-idTagModule/folder identifier
x-tigrister-endpoint-idOperationEndpoint tracking ID

x-tigrister-assertions

Testing

Define test assertions that run automatically when you send a request. Assertions verify response status, headers, body content, and more.

Full Example
paths:
/users/{id}:
get:
summary: Get user by ID
x-tigrister-assertions:
# Status code check
- type: status
operator: equals
expected: 200
# Response time check
- type: response_time
operator: less_than
expected: 500
# Header check
- type: header
property: Content-Type
operator: contains
expected: application/json
# JSON path exists check
- type: json_path
property: $.id
operator: exists
# JSON path value check
- type: json_path
property: $.status
operator: equals
expected: active
# Body contains check
- type: body
operator: contains
expected: "success"

Assertion Types

  • status - HTTP status code
  • response_time - Response time in ms
  • header - Header value check
  • json_path - JSON path validation
  • body - Raw body content

Comparison Operators

  • equals / not_equals
  • contains / not_contains
  • exists / not_exists
  • greater_than / less_than
  • is_empty / is_not_empty
  • matches_regex / is_type

x-tigrister-auth

Auth

Override the authentication method for specific operations. Useful when an endpoint needs different auth than the global security setting.

Bearer Token Override
/admin/settings:
get:
x-tigrister-auth:
type: bearer
token: admin-token-here
API Key Override
/webhooks:
post:
x-tigrister-auth:
type: apiKey
name: X-Webhook-Secret
in: header
value: secret123
Basic Auth Override
/legacy/endpoint:
get:
x-tigrister-auth:
type: basic
username: admin
password: pass123
No Auth (Public)
/public/health:
get:
x-tigrister-auth:
type: none

Security Note

Auth credentials in x-tigrister-auth are stored in your spec file. Use environment variables or exclude this extension when sharing specs externally.

x-tigrister-enabled

Parameter

Enable or disable individual parameters. Useful for temporarily turning off specific query params or headers without removing them from the spec.

paths:
/users:
get:
parameters:
- name: page
in: query
schema:
type: integer
x-tigrister-enabled: true
- name: X-Debug
in: header
schema:
type: string
# Disabled - not needed in production
x-tigrister-enabled: false

enabled: true (default)

Parameter is included when sending requests.

enabled: false

Parameter is skipped when sending requests. Still visible in UI.

Environment Extensions

Server

Control how servers map to Tigrister environments with stable IDs and custom display names.

x-tigrister-env-id & x-tigrister-env-name
servers:
- url: https://api.example.com
description: Production server
x-tigrister-env-id: prod-env-001
x-tigrister-env-name: Production
- url: https://staging.example.com
description: Staging server for testing
x-tigrister-env-id: staging-env-002
x-tigrister-env-name: Staging
- url: http://localhost:3000
x-tigrister-env-id: local-dev
x-tigrister-env-name: Local Dev

x-tigrister-env-id

Stable identifier for the environment. Preserves selection across re-imports even if URL or description changes.

x-tigrister-env-name

Display name in the UI. Takes precedence over the server'sdescription field.

Project Metadata

Tracking

Internal tracking extensions added by Tigrister for project management. Generally you don't need to edit these manually.

info:
title: My API
version: '1.0.0'
x-tigrister-project-id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
x-tigrister-version: '1.0'
tags:
- name: Users
x-tigrister-module-id: users-module-001
paths:
/users:
get:
operationId: listUsers
x-tigrister-endpoint-id: endpoint-xyz-789

Auto-Generated IDs

Project, module, and endpoint IDs are generated automatically by Tigrister. They enable stable sync between spec and project even when names change.

Round-Trip Fidelity

Tigrister preserves your extensions through the import → edit → export cycle:

Import Spec
Edit in Tigrister
Export Spec

Extensions you didn't touch remain exactly as imported. Tigrister only modifies sections you actually edit.

Preservation Guarantee

Unknown vendor extensions (x-*) from other tools are also preserved. Tigrister only manages its own x-tigrister-* namespace.

Related Topics
→ Area Mode→ Authentication→ Export→ Bi-Directional Sync