Priority Two
Easegress
Easegress is a Cloud Native traffic orchestration system designed for High Availability - Built-in Raft consensus & leader election provides 99.99% availability. Traffic Orchestration - Simple orchestration of various filters for each traffic pipeline. High Performance - Lightweight and essential features speed up the performance. Observability - There are many meaningful statistics periodically in a readable way. Extensibility - It's easy to develop your own filter or controller with high-level programming language. Integration - The simple interfaces make it easy to integrate with other systems, such as Kubernetes, Ingress, EaseMesh sidecar, Workflow, etc.
Platform Capabilities
These are the wider capabilities beyond the gateway they offer.
- Gateway
- Analytics
- Monitoring
Gateway Capabilities
These are the capabilities the gateway supports.
- Custom Code Execution
- Mediation
- Protocol Transformation
- Traffic Management
- Versioning
Upstream Protocols
The different protocols they support upstream.
- HTTP/1.1
- HTTP/2
- HTTP/2.0
- HTTP/3(QUIC)
- MQTT
- WebSockets
Downtream Protocols
The different protocols they support downstream.
- HTTP/1.1
- HTTP/2
- HTTP/2.0
- HTTP/3(QUIC)
- MQTT
- WebSockets
Custom Code
If they offer plugin, extension, and custom coding options.
- None
Delivery Models
These are they ways you can deliver this solution.
- SaaS
Policies
These are the policies available across the gateway capabilities.
Traffic Management
- Cache Eviction
- Cache Invalidation
- Cache Lookup
- Cache Population
- Cache Storage
- Cache Target Response
- Cache Validation
- Canary Release
- Compression
- Circuit Breaker
- Conditional Routing
- Content-Based Routing
- Distributed Tracing
- Dynamic Routing
- Load Balancer Routing
- Quota
- Quota Reset
- Rate Limiting
- Rate Limiting (Dynamic)
- Request Size Limiting
- Service Discovery
- Throttling
- Traffic Optimization
Mediation
- Aggregation
- Adaption
- CORS
- Cache Eviction
- Cache Lookup
- Cache Store
- Custom Exception Handling
- Hot-Update
- Ingress Control
- JSON Validation
- Request Size Limit
- Request Termination
- Request Transformation
- Response Transformation
- Routing Rules
- Retries
- URL Rewriting
- XML to JSON
Security
- API Key
- API Key Authentication
- Access Control Lists (ACL)
- Audit Logs
- Basic Authentication
- CORS
- IP Access Rules
- JWT
- JWT Validation
- JWT authorizers
- Let's Encrypt
- Message Inspection
- Mutual TLS
- OAuth 1.0
- OAuth 2.0
- Okta
- OpenID Connect
- Signatures
- SAML Assertion
Extensions
- HTTP Callout
- HTTP integrations
- Plugins
- Side-Car
- Knative FaaS
- Consul
- Etcd
- Nacos
API Resources
| No API Resources |
EnRoute
EnRoute makes is simple to expose services running in Kubernetes using one helm command. L7 policy can be specified using simple switches to enable/disable functionality.
Platform Capabilities
These are the wider capabilities beyond the gateway they offer.
- Gateway
- Analytics
- Portal
- Documentation
Gateway Capabilities
These are the capabilities the gateway supports.
- Mediation
- Protocol Transformation
- Traffic Management
- Versioning
Upstream Protocols
The different protocols they support upstream.
- HTTP/1.1
- GraphQL
- WebSockets
Downtream Protocols
The different protocols they support downstream.
- HTTP/1.1
- GraphQL
- WebSockets
Custom Code
If they offer plugin, extension, and custom coding options.
- WASM
- Lua
Delivery Models
These are they ways you can deliver this solution.
- SaaS
Policies
These are the policies available across the gateway capabilities.
Traffic Management
- Health Checks
- Cache Eviction
- Cache Invalidation
- Cache Lookup
- Cache Population
- Cache Storage
- Cache Target Response
- Cache Validation
- Canary Release
- Circuit Breaker
- Edge
- Kubernetes Ingress
- Quota
- Quota Reset
- Rate Limiting
- Request Size Limiting
- Telemetry
- Throttling
Mediation
- CORS
- Custom Resource Definitions
- Request Size Limit
- Request Termination
- Request Transformation
- Response Transformation
- URL Rewriting
Security
- API Key
- API Key Authentication
- Access Control Lists (ACL)
- Audit Logs
- Basic Authentication
- CORS
- HashiCorp Vault Authentication
- IP Access Rules
- JWT
- JWT Validation
- JWT authorizers
- Mutual TLS
- OAuth 1.0
- OAuth 2.0
- OpenID Connect
Extensions
- AWS Lambda
- HTTP Callout
- HTTP integrations
- Open Policy Agent
- Plugins
- Envoy Proxy
API Resources
| No API Resources |
Envoy
Originally built at Lyft, Envoy is a high performance C++ distributed proxy designed for single services and applications, as well as a communication bus and “universal data plane” designed for large microservice “service mesh” architectures. Built on the learnings of solutions such as NGINX, HAProxy, hardware load balancers, and cloud load balancers, Envoy runs alongside every application and abstracts the network by providing common features in a platform-agnostic manner.
Platform Capabilities
These are the wider capabilities beyond the gateway they offer.
- Gateway
Gateway Capabilities
These are the capabilities the gateway supports.
- Mediation
- Traffic Management
- Versioning
Upstream Protocols
The different protocols they support upstream.
- HTTP/1.1
Downtream Protocols
The different protocols they support downstream.
- HTTP/1.1
Custom Code
If they offer plugin, extension, and custom coding options.
- None
Delivery Models
These are they ways you can deliver this solution.
- Customer Managed (Cloud)
- Customer Managed (On-Premises)
- Hybrid
Policies
These are the policies available across the gateway capabilities.
Traffic Management
- Cache Eviction
- Cache Invalidation
- Cache Lookup
- Cache Population
- Cache Storage
- Cache Target Response
- Cache Validation
- Circuit Breaker
- Conditional Routing
- Content-Based Routing
- Load Balancer Routing
- Quota
- Quota Reset
- Rate Limiting
- Request Size Limiting
- Service Discovery
- Throttling
- Traffic Optimization
Mediation
- CORS
- Cache Eviction
- Cache Lookup
- Cache Store
- Request Size Limit
- Request Termination
- Request Transformation
- Response Transformation
- URL Rewriting
Security
- API Key
- API Key Authentication
- Access Control Lists
- Audit Logs
- Basic Authentication
- CORS
- IP Access Rules
- JWT
- JWT Validation
- JWT authorizers
- Let's Encrypt
- Message Inspection
- Mutual TLS
- OAuth 1.0
- OAuth 2.0
- OpenID Connect
Extensions
- HTTP Callout
- HTTP integrations
- Kubernetes Ingress
API Resources
| No API Resources |
Gravitee
Manage, secure, and govern synchronous and asynchronous APIs with the world's first-ever event-native API Management platform.
Platform Capabilities
These are the wider capabilities beyond the gateway they offer.
- Design
- Gateway
- Analytics
- Dashboards
- Portal
- Documentation
Gateway Capabilities
These are the capabilities the gateway supports.
- Mediation
- Mocking
- OpenAPI Integration
- OpenAPI Enforcement
- Protocol Transformation
- Traffic Management
- Versioning
Upstream Protocols
The different protocols they support upstream.
- HTTP/1.1
- HTTP/2
- HTTP/2.0
- GraphQL
- Kafka
- WebSockets
- gRPC
- RabbitMQ
Downtream Protocols
The different protocols they support downstream.
- HTTP/1.1
- HTTP/2
- HTTP/2.0
- GraphQL
- Kafka
- WebSockets
- gRPC
- RabbitMQ
Custom Code
If they offer plugin, extension, and custom coding options.
- None
Delivery Models
These are they ways you can deliver this solution.
- Customer Managed (Cloud)
- Customer Managed (On-Premises)
- Hybrid
- SaaS
Policies
These are the policies available across the gateway capabilities.
Traffic Management
- Load Balancer Routing
- Failover
- Quota
- Quota Reset
- Rate Limiting
- Request Size Limiting
- Service Discovery
- Throttling
- Traffic Optimization
Mediation
- CORS
- Request Size Limit
- Request Termination
- Request Transformation
- Response Transformation
- Response Templates
- URL Rewriting
Security
- API Key
- API Key Authentication
- Access Control Lists (ACL)
- Audit Logs
- Basic Authentication
- CORS
- IP Access Rules
- Mutual TLS
- OAuth 1.0
- OAuth 2.0
- OpenID Connect
Extensions
- HTTP Callout
- HTTP integrations
- Command Line Interface (CLI)
- Grafana
- Cabana
API Resources
| Gravitee.io - Management API
OpenAPI |
|
| / auth / cockpit |
|
| / organizations / {orgId} |
|
| / organizations / {orgId} / audit |
|
| / organizations / {orgId} / audit / events |
|
| / organizations / {orgId} / auth / oauth2 / {identity} |
|
| / organizations / {orgId} / auth / oauth2 / {identity} / exchange |
|
| / organizations / {orgId} / configuration / custom-user-fields |
|
| / organizations / {orgId} / configuration / custom-user-fields / {key} |
|
| / organizations / {orgId} / configuration / entrypoints |
|
| / organizations / {orgId} / configuration / entrypoints / {entrypoint} |
|
| / organizations / {orgId} / configuration / flows |
|
| / organizations / {orgId} / configuration / flows / configuration-schema |
|
| / organizations / {orgId} / configuration / flows / flow-schema |
|
| / organizations / {orgId} / configuration / identities |
|
| / organizations / {orgId} / configuration / identities / {identityProvider} |
|
| / organizations / {orgId} / configuration / notification-templates |
|
| / organizations / {orgId} / configuration / notification-templates / {notificationTemplateId} |
|
| / organizations / {orgId} / configuration / rolescopes |
|
| / organizations / {orgId} / configuration / rolescopes / {scope} / roles |
|
| / organizations / {orgId} / configuration / rolescopes / {scope} / roles / {role} |
|
| / organizations / {orgId} / configuration / rolescopes / {scope} / roles / {role} / users |
|
| / organizations / {orgId} / configuration / rolescopes / {scope} / roles / {role} / users / {userId} |
|
| / organizations / {orgId} / configuration / tags |
|
| / organizations / {orgId} / configuration / tags / {tag} |
|
| / organizations / {orgId} / configuration / tenants |
|
| / organizations / {orgId} / configuration / tenants / {tenant} |
|
| / organizations / {orgId} / console |
|
| / organizations / {orgId} / environments |
|
| / organizations / {orgId} / environments / permissions |
|
| / organizations / {orgId} / environments / {envId} |
|
| / organizations / {orgId} / environments / {envId} / alerts / metrics |
|
| / organizations / {orgId} / environments / {envId} / analytics |
|
| / organizations / {orgId} / environments / {envId} / apis |
|
| / organizations / {orgId} / environments / {envId} / apis / _paged |
|
| / organizations / {orgId} / environments / {envId} / apis / _search |
|
| / organizations / {orgId} / environments / {envId} / apis / _search / _paged |
|
| / organizations / {orgId} / environments / {envId} / apis / hooks |
|
| / organizations / {orgId} / environments / {envId} / apis / import |
|
| / organizations / {orgId} / environments / {envId} / apis / import-url |
|
| / organizations / {orgId} / environments / {envId} / apis / import / swagger |
|
| / organizations / {orgId} / environments / {envId} / apis / schema |
|
| / organizations / {orgId} / environments / {envId} / apis / verify |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / _debug |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / _migrate |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / _promote |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / alerts |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / alerts / analytics |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / alerts / status |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / alerts / {alert} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / alerts / {alert} / events |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / analytics |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / audit |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / audit / events |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / background |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / definition |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / deploy |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / duplicate |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / events |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / events / search |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / events / {eventId} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / export |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / groups |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / headers |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / health |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / health / average |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / health / logs |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / health / logs / {log} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / import |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / import-path-mappings |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / import-url |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / import / swagger |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / logs |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / logs / export |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / logs / {log} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / media / upload |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / media / {hash} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / members |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / members / permissions |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / members / transfer_ownership |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / messages |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / metadata |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / metadata / {metadata} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / notificationsettings |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / notificationsettings / {notificationId} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / notifiers |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / pages |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / pages / _fetch |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / pages / _import |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / pages / {page} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / pages / {page} / _fetch |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / pages / {page} / content |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / pages / {page} / media |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / picture |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / plans |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / plans / {plan} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / plans / {plan} / _close |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / plans / {plan} / _deprecate |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / plans / {plan} / _depreciate |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / plans / {plan} / _publish |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / quality |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / quality-rules |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / quality-rules / {qualityRule} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / ratings |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / ratings / current |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / ratings / summary |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / ratings / {rating} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / ratings / {rating} / answers |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / ratings / {rating} / answers / {answer} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / reviews |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / rollback |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / state |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscribers |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / _canCreate |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / export |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / {subscription} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / {subscription} / _process |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / {subscription} / _transfer |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / {subscription} / apikeys |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / {subscription} / apikeys / _renew |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / {subscription} / apikeys / {apikey} |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / {subscription} / apikeys / {apikey} / _reactivate |
|
| / organizations / {orgId} / environments / {envId} / apis / {api} / subscriptions / {subscription} / status |
|
| / organizations / {orgId} / environments / {envId} / applications |
|
| / organizations / {orgId} / environments / {envId} / applications / _paged |
|
| / organizations / {orgId} / environments / {envId} / applications / hooks |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / _restore |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / alerts |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / alerts / status |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / alerts / {alert} |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / analytics |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / apikeys |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / apikeys / _renew |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / apikeys / {apikey} |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / background |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / configuration |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / logs |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / logs / export |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / logs / {log} |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / members |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / members / permissions |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / members / transfer_ownership |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / metadata |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / metadata / {metadata} |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / notificationsettings |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / notificationsettings / {notificationId} |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / notifiers |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / picture |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / renew_secret |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / subscribed |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / subscriptions |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / subscriptions / {subscription} |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / subscriptions / {subscription} / apikeys |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / subscriptions / {subscription} / apikeys / _renew |
|
| / organizations / {orgId} / environments / {envId} / applications / {application} / subscriptions / {subscription} / apikeys / {apikey} |
|
| / organizations / {orgId} / environments / {envId} / audit |
|
| / organizations / {orgId} / environments / {envId} / audit / events |
|
| / organizations / {orgId} / environments / {envId} / auth / oauth2 / {identity} |
|
| / organizations / {orgId} / environments / {envId} / auth / oauth2 / {identity} / exchange |
|
| / organizations / {orgId} / environments / {envId} / configuration / apiheaders |
|
| / organizations / {orgId} / environments / {envId} / configuration / apiheaders / {id} |
|
| / organizations / {orgId} / environments / {envId} / configuration / applications / registration / providers |
|
| / organizations / {orgId} / environments / {envId} / configuration / applications / registration / providers / {clientRegistrationProvider} |
|
| / organizations / {orgId} / environments / {envId} / configuration / applications / types |
|
| / organizations / {orgId} / environments / {envId} / configuration / categories |
|
| / organizations / {orgId} / environments / {envId} / configuration / categories / {categoryId} |
|
| / organizations / {orgId} / environments / {envId} / configuration / categories / {categoryId} / background |
|
| / organizations / {orgId} / environments / {envId} / configuration / categories / {categoryId} / picture |
|
| / organizations / {orgId} / environments / {envId} / configuration / dashboards |
|
| / organizations / {orgId} / environments / {envId} / configuration / dashboards / {dashboardId} |
|
| / organizations / {orgId} / environments / {envId} / configuration / dictionaries |
|
| / organizations / {orgId} / environments / {envId} / configuration / dictionaries / {dictionary} |
|
| / organizations / {orgId} / environments / {envId} / configuration / dictionaries / {dictionary} / _deploy |
|
| / organizations / {orgId} / environments / {envId} / configuration / dictionaries / {dictionary} / _undeploy |
|
| / organizations / {orgId} / environments / {envId} / configuration / entrypoints |
|
| / organizations / {orgId} / environments / {envId} / configuration / entrypoints / {entrypoint} |
|
| / organizations / {orgId} / environments / {envId} / configuration / groups |
|
| / organizations / {orgId} / environments / {envId} / configuration / groups / {group} |
|
| / organizations / {orgId} / environments / {envId} / configuration / groups / {group} / invitations |
|
| / organizations / {orgId} / environments / {envId} / configuration / groups / {group} / invitations / {invitation} |
|
| / organizations / {orgId} / environments / {envId} / configuration / groups / {group} / members |
|
| / organizations / {orgId} / environments / {envId} / configuration / groups / {group} / members / _paged |
|
| / organizations / {orgId} / environments / {envId} / configuration / groups / {group} / members / {member} |
|
| / organizations / {orgId} / environments / {envId} / configuration / groups / {group} / memberships |
|
| / organizations / {orgId} / environments / {envId} / configuration / hooks |
|
| / organizations / {orgId} / environments / {envId} / configuration / identities |
|
| / organizations / {orgId} / environments / {envId} / configuration / identities / {identityProvider} |
|
| / organizations / {orgId} / environments / {envId} / configuration / metadata |
|
| / organizations / {orgId} / environments / {envId} / configuration / metadata / {metadata} |
|
| / organizations / {orgId} / environments / {envId} / configuration / notificationsettings |
|
| / organizations / {orgId} / environments / {envId} / configuration / notificationsettings / {notificationId} |
|
| / organizations / {orgId} / environments / {envId} / configuration / notifiers |
|
| / organizations / {orgId} / environments / {envId} / configuration / plans |
|
| / organizations / {orgId} / environments / {envId} / configuration / quality-rules |
|
| / organizations / {orgId} / environments / {envId} / configuration / quality-rules / {id} |
|
| / organizations / {orgId} / environments / {envId} / configuration / rolescopes |
|
| / organizations / {orgId} / environments / {envId} / configuration / rolescopes / {scope} / roles |
|
| / organizations / {orgId} / environments / {envId} / configuration / rolescopes / {scope} / roles / {role} |
|
| / organizations / {orgId} / environments / {envId} / configuration / rolescopes / {scope} / roles / {role} / users |
|
| / organizations / {orgId} / environments / {envId} / configuration / rolescopes / {scope} / roles / {role} / users / {userId} |
|
| / organizations / {orgId} / environments / {envId} / configuration / spel / grammar |
|
| / organizations / {orgId} / environments / {envId} / configuration / tags |
|
| / organizations / {orgId} / environments / {envId} / configuration / tags / {tag} |
|
| / organizations / {orgId} / environments / {envId} / configuration / tenants |
|
| / organizations / {orgId} / environments / {envId} / configuration / tenants / {tenant} |
|
| / organizations / {orgId} / environments / {envId} / configuration / themes |
|
| / organizations / {orgId} / environments / {envId} / configuration / themes / {themeId} |
|
| / organizations / {orgId} / environments / {envId} / configuration / themes / {themeId} / backgroundImage |
|
| / organizations / {orgId} / environments / {envId} / configuration / themes / {themeId} / favicon |
|
| / organizations / {orgId} / environments / {envId} / configuration / themes / {themeId} / logo |
|
| / organizations / {orgId} / environments / {envId} / configuration / themes / {themeId} / optionalLogo |
|
| / organizations / {orgId} / environments / {envId} / configuration / themes / {themeId} / reset |
|
| / organizations / {orgId} / environments / {envId} / configuration / top-apis |
|
| / organizations / {orgId} / environments / {envId} / configuration / top-apis / {topAPI} |
|
| / organizations / {orgId} / environments / {envId} / connectors |
|
| / organizations / {orgId} / environments / {envId} / connectors / {connector} |
|
| / organizations / {orgId} / environments / {envId} / connectors / {connector} / documentation |
|
| / organizations / {orgId} / environments / {envId} / connectors / {connector} / schema |
|
| / organizations / {orgId} / environments / {envId} / entrypoints |
|
| / organizations / {orgId} / environments / {envId} / fetchers |
|
| / organizations / {orgId} / environments / {envId} / fetchers / {fetcher} |
|
| / organizations / {orgId} / environments / {envId} / fetchers / {fetcher} / schema |
|
| / organizations / {orgId} / environments / {envId} / identities |
|
| / organizations / {orgId} / environments / {envId} / instances |
|
| / organizations / {orgId} / environments / {envId} / instances / {instance} |
|
| / organizations / {orgId} / environments / {envId} / instances / {instance} / monitoring / {gatewayId} |
|
| / organizations / {orgId} / environments / {envId} / messages |
|
| / organizations / {orgId} / environments / {envId} / notifiers |
|
| / organizations / {orgId} / environments / {envId} / notifiers / {notifier} |
|
| / organizations / {orgId} / environments / {envId} / notifiers / {notifier} / schema |
|
| / organizations / {orgId} / environments / {envId} / permissions |
|
| / organizations / {orgId} / environments / {envId} / platform / alerts |
|
| / organizations / {orgId} / environments / {envId} / platform / alerts / analytics |
|
| / organizations / {orgId} / environments / {envId} / platform / alerts / status |
|
| / organizations / {orgId} / environments / {envId} / platform / alerts / {alert} |
|
| / organizations / {orgId} / environments / {envId} / platform / alerts / {alert} / events |
|
| / organizations / {orgId} / environments / {envId} / platform / analytics |
|
| / organizations / {orgId} / environments / {envId} / platform / events |
|
| / organizations / {orgId} / environments / {envId} / platform / logs |
|
| / organizations / {orgId} / environments / {envId} / platform / logs / export |
|
| / organizations / {orgId} / environments / {envId} / platform / logs / {log} |
|
| / organizations / {orgId} / environments / {envId} / platform / tickets |
|
| / organizations / {orgId} / environments / {envId} / platform / tickets / {ticket} |
|
| / organizations / {orgId} / environments / {envId} / policies |
|
| / organizations / {orgId} / environments / {envId} / policies / swagger |
|
| / organizations / {orgId} / environments / {envId} / policies / {policy} |
|
| / organizations / {orgId} / environments / {envId} / policies / {policy} / documentation |
|
| / organizations / {orgId} / environments / {envId} / policies / {policy} / icon |
|
| / organizations / {orgId} / environments / {envId} / policies / {policy} / schema |
|
| / organizations / {orgId} / environments / {envId} / portal |
|
| / organizations / {orgId} / environments / {envId} / portal / apis / _search |
|
| / organizations / {orgId} / environments / {envId} / portal / identities |
|
| / organizations / {orgId} / environments / {envId} / portal / media / upload |
|
| / organizations / {orgId} / environments / {envId} / portal / media / {hash} |
|
| / organizations / {orgId} / environments / {envId} / portal / pages |
|
| / organizations / {orgId} / environments / {envId} / portal / pages / _fetch |
|
| / organizations / {orgId} / environments / {envId} / portal / pages / _import |
|
| / organizations / {orgId} / environments / {envId} / portal / pages / {page} |
|
| / organizations / {orgId} / environments / {envId} / portal / pages / {page} / _fetch |
|
| / organizations / {orgId} / environments / {envId} / portal / pages / {page} / content |
|
| / organizations / {orgId} / environments / {envId} / portal / pages / {page} / media |
|
| / organizations / {orgId} / environments / {envId} / promotion-targets |
|
| / organizations / {orgId} / environments / {envId} / resources |
|
| / organizations / {orgId} / environments / {envId} / resources / {resource} |
|
| / organizations / {orgId} / environments / {envId} / resources / {resource} / documentation |
|
| / organizations / {orgId} / environments / {envId} / resources / {resource} / schema |
|
| / organizations / {orgId} / environments / {envId} / search / users |
|
| / organizations / {orgId} / environments / {envId} / services-discovery |
|
| / organizations / {orgId} / environments / {envId} / services-discovery / {plugin} |
|
| / organizations / {orgId} / environments / {envId} / services-discovery / {plugin} / schema |
|
| / organizations / {orgId} / environments / {envId} / settings |
|
| / organizations / {orgId} / environments / {envId} / subscriptions |
|
| / organizations / {orgId} / environments / {envId} / tickets |
|
| / organizations / {orgId} / environments / {envId} / tickets / {ticket} |
|
| / organizations / {orgId} / environments / {envId} / user |
|
| / organizations / {orgId} / environments / {envId} / user / avatar |
|
| / organizations / {orgId} / environments / {envId} / user / login |
|
| / organizations / {orgId} / environments / {envId} / user / logout |
|
| / organizations / {orgId} / environments / {envId} / user / newsletter / _subscribe |
|
| / organizations / {orgId} / environments / {envId} / user / newsletter / taglines |
|
| / organizations / {orgId} / environments / {envId} / user / notifications |
|
| / organizations / {orgId} / environments / {envId} / user / notifications / {notification} |
|
| / organizations / {orgId} / environments / {envId} / user / tags |
|
| / organizations / {orgId} / environments / {envId} / user / tasks |
|
| / organizations / {orgId} / environments / {envId} / user / tokens |
|
| / organizations / {orgId} / environments / {envId} / user / tokens / {token} |
|
| / organizations / {orgId} / environments / {envId} / users |
|
| / organizations / {orgId} / environments / {envId} / users / registration |
|
| / organizations / {orgId} / environments / {envId} / users / registration / finalize |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} / _process |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} / avatar |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} / changePassword |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} / groups |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} / memberships |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} / resetPassword |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} / roles |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} / tokens |
|
| / organizations / {orgId} / environments / {envId} / users / {userId} / tokens / {token} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / deploy |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / events |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / events / search |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / events / {eventId} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / groups |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / members |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / members / permissions |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / members / transfer_ownership |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / metadata |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / metadata / {metadata} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / pages |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / pages / _fetch |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / pages / _import |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / pages / {page} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / pages / {page} / _fetch |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / pages / {page} / content |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / pages / {page} / media |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / plans |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / plans / {plan} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / plans / {plan} / _close |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / plans / {plan} / _deprecate |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / plans / {plan} / _depreciate |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / plans / {plan} / _publish |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / ratings |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / ratings / current |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / ratings / summary |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / ratings / {rating} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / ratings / {rating} / answers |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / ratings / {rating} / answers / {answer} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscribers |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / _canCreate |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / export |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / {subscription} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / {subscription} / _process |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / {subscription} / _transfer |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / {subscription} / apikeys |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / {subscription} / apikeys / _renew |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / {subscription} / apikeys / {apikey} |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / {subscription} / apikeys / {apikey} / _reactivate |
|
| / organizations / {orgId} / environments / {envId} / v4 / apis / {api} / subscriptions / {subscription} / status |
|
| / organizations / {orgId} / environments / {envId} / v4 / entrypoints |
|
| / organizations / {orgId} / environments / {envId} / v4 / entrypoints / {entrypoint} |
|
| / organizations / {orgId} / environments / {envId} / v4 / entrypoints / {entrypoint} / documentation |
|
| / organizations / {orgId} / environments / {envId} / v4 / entrypoints / {entrypoint} / schema |
|
| / organizations / {orgId} / groups |
|
| / organizations / {orgId} / identities |
|
| / organizations / {orgId} / promotions / _search |
|
| / organizations / {orgId} / promotions / {promotion} / _process |
|
| / organizations / {orgId} / search / users |
|
| / organizations / {orgId} / settings |
|
| / organizations / {orgId} / social-identities |
|
| / organizations / {orgId} / user |
|
| / organizations / {orgId} / user / avatar |
|
| / organizations / {orgId} / user / login |
|
| / organizations / {orgId} / user / logout |
|
| / organizations / {orgId} / user / newsletter / _subscribe |
|
| / organizations / {orgId} / user / newsletter / taglines |
|
| / organizations / {orgId} / user / notifications |
|
| / organizations / {orgId} / user / notifications / {notification} |
|
| / organizations / {orgId} / user / tags |
|
| / organizations / {orgId} / user / tasks |
|
| / organizations / {orgId} / user / tokens |
|
| / organizations / {orgId} / user / tokens / {token} |
|
| / organizations / {orgId} / users |
|
| / organizations / {orgId} / users / registration |
|
| / organizations / {orgId} / users / registration / finalize |
|
| / organizations / {orgId} / users / {userId} |
|
| / organizations / {orgId} / users / {userId} / _process |
|
| / organizations / {orgId} / users / {userId} / avatar |
|
| / organizations / {orgId} / users / {userId} / changePassword |
|
| / organizations / {orgId} / users / {userId} / groups |
|
| / organizations / {orgId} / users / {userId} / memberships |
|
| / organizations / {orgId} / users / {userId} / resetPassword |
|
| / organizations / {orgId} / users / {userId} / roles |
|
| / organizations / {orgId} / users / {userId} / tokens |
|
| / organizations / {orgId} / users / {userId} / tokens / {token} |
|
| No API Resources |
KrakenD
KrakenD offers two different editions, KrakenD CE (Community Edition) and KrakenD EE (Enteprise Edition). The Gateway engine of KrakenD, an open source project, has joined the Linux Foundation as [Lura](https://github.com/luraproject/lura). KrakenD touts that it's built for performance. This Gateway is often deployed as a backend-for-frontend or a façade aggregator on top of many different microservices. KrakenD is primarily used as a stateless component in user infrastructure. There's no data store dependency required for most operations, which may simplify deployment and management. Message transformation can be configured using the [Martian DSL](https://github.com/google/martian) while message validation can benefit from Google's [Common Expression Language CEL)](https://github.com/google/cel-spec). KrakenD has a JSON-based file configuration with a Web-based editor in KrakenD Designer (CE) or KrakenD Studio (EE). Enterprise features include commercial support, KrakenD studio, and enterprise plugins.
Platform Capabilities
These are the wider capabilities beyond the gateway they offer.
- Gateway
- Monitoring
- Documentation
- Threat Protection
- Analytics
Gateway Capabilities
These are the capabilities the gateway supports.
- Custom Code Execution
- Mediation
- Traffic Management
- OpenAPI Integration
- Protocol Transformation
Upstream Protocols
The different protocols they support upstream.
- HTTP/1.1
- HTTP/2
- gRPC
- WebSockets
- SOAP
- AWS Lambda
Downtream Protocols
The different protocols they support downstream.
- HTTP/1.1
- HTTP/2
- gRPC
- AMQP
Custom Code
If they offer plugin, extension, and custom coding options.
- Go
- Lua
- Martian DSL
Delivery Models
These are they ways you can deliver this solution.
- SaaS
- Customer Managed (Cloud)
- Customer Managed (On-Premises)
- Hybrid
Policies
These are the policies available across the gateway capabilities.
Security
- OAuth 2.0
- JWT
- Basic Authentication
- API Key Authentication
- Mutual TLS
- Bot Detector
- XSS Protection
- CORS
Traffic Management
- Circuit Breaker
- Spike Arrest
- Rate Limiting
- Service Discovery
- Concurrent Rate Limiting
Mediation
- Cache Lookup
- Cache Store
- Cache Eviction
- Request Transformation
- Response Transformation
Extensions
- Auth0 Integration
- Keycloak Integration
- Message Logging
- Lua Scripting
- Go Extensions
API Resources
| No API Resources |
Kusk
Develop, validate, deploy and monitor your APIs in a matter of minutes. The one-stop shop for building modern REST APIs based on Envoy Proxy running on your Kubernetes cluster.
Platform Capabilities
These are the wider capabilities beyond the gateway they offer.
- Design
- Gateway
- Analytics
- Testing
Gateway Capabilities
These are the capabilities the gateway supports.
- Mediation
- Mocking
- OpenAPI Integration
- Traffic Management
- Versioning
Upstream Protocols
The different protocols they support upstream.
- HTTP/1.1
Downtream Protocols
The different protocols they support downstream.
- HTTP/1.1
Custom Code
If they offer plugin, extension, and custom coding options.
- None
Delivery Models
These are they ways you can deliver this solution.
- SaaS
Policies
These are the policies available across the gateway capabilities.
Traffic Management
- Caching
- Quota
- Quota Reset
- Rate Limiting
- Request Size Limiting
- Service Discovery
- Throttling
- Traffic Optimization
Mediation
- CORS
- Request Size Limit
- Request Termination
- Request Validation
- Request Transformation
- Response Transformation
Security
- API Key
- API Key Authentication
- Access Control Lists (ACL)
- Audit Logs
- Basic Authentication
- CORS
- IP Access Rules
- JWT
- JWT Validation
- JWT authorizers
- JWT authorizers (Custom
- Mutual TLS
- OAuth 1.0
- OAuth 2.0
Extensions
- Kubernetes
- Envoy Proxy
- Command Line Interface (CLI)
API Resources
| No API Resources |
Reactive Interaction Gateway
The REactive Interaction Gatewy is focused on optimizing microservice operations, decoupling the services using some kind of messaging service, like Kafka; now the backend-for-frontends service simply listens to the Kafka stream, where all other services publish their events to. Providing a gateway that subscribes to Kafka topics, while holding connections to all active frontends, forwarding events to the users they're addressed to, all in a scalable way. And on top of that, it also handles authorization, so your services don't have to care about that either.
Platform Capabilities
These are the wider capabilities beyond the gateway they offer.
- Gateway
- Analytics
Gateway Capabilities
These are the capabilities the gateway supports.
- Mediation
- OpenAPI Integration
- Protocol Transformation
- Traffic Management
- Versioning
Upstream Protocols
The different protocols they support upstream.
- HTTP/1.1
- Kafka
- WebSockets
- Server-Sent Events (SSE)
- HTTP long-polling
- NATS
Downtream Protocols
The different protocols they support downstream.
- HTTP/1.1
- Kafka
- WebSockets
- Server-Sent Events (SSE)
- HTTP long-polling
- NATS
Custom Code
If they offer plugin, extension, and custom coding options.
- None
Delivery Models
These are they ways you can deliver this solution.
- Customer Managed (On-Premises)
Policies
These are the policies available across the gateway capabilities.
Traffic Management
- Quota
- Quota Reset
- Rate Limiting
- Request Size Limiting
- Throttling
- Traffic Optimization
- Tracing
Mediation
- CORS
- Request Size Limit
- Request Termination
- Request Transformation
- Response Transformation
- URL Rewriting
Security
- API Key
- API Key Authentication
- Access Control Lists
- Audit Logs
- Basic Authentication
- CORS
- JWT
- JWT Validation
- JWT authorizers
- IP Access Rules
- Mutual TLS
- OAuth 1.0
- OAuth 2.0
Extensions
- HTTP Callout
- HTTP integrations
- Avro
- Azure Event Hubs
- AWS Kinesis
API Resources
| No API Resources |
Solo
Architecturally, API gateways have both a data plane and a control plane. The data plane is where traffic flows from your external clients through the proxies to the backend services. The control plane is where your configuration and policies are defined. These configurations are pushed to the proxies to adjust the flow of traffic or to add security checks like authentication. With adoption of Kubernetes containers and cloud-native architectures for modern applications, technologies like the open source Envoy Proxy and Istio have emerged to enable application networking for distributed systems. Envoy has become the most popular proxy at the edge, and also as the sidecar to handle internal traffic in an Istio service mesh.
Platform Capabilities
These are the wider capabilities beyond the gateway they offer.
- Design
- Gateway
- Analytics
- Documentation
- Observability
Gateway Capabilities
These are the capabilities the gateway supports.
- Mediation
- Traffic Management
Upstream Protocols
The different protocols they support upstream.
- HTTP/1.1
Downtream Protocols
The different protocols they support downstream.
- HTTP/1.1
Custom Code
If they offer plugin, extension, and custom coding options.
- WASM
Delivery Models
These are they ways you can deliver this solution.
- SaaS
Policies
These are the policies available across the gateway capabilities.
Traffic Management
- Circuit Breaker
- Conditional Routing
- Content-Based Routing
- Dynamic Routing
- Failover
- Ingress Controller
- Egress Controller
- Load Balancer Routing
- Quota
- Quota Reset
- Rate Limiting
- Request Size Limiting
- Service Discovery
- Throttling
- Traffic Optimization
Mediation
- CORS
- Custom Resources
- Request Size Limit
- Request Termination
- Request Transformation
- Response Transformation
- URL Rewriting
Security
- API Key
- API Key Authentication
- Access Control Lists (ACL)
- Audit Logs
- Basic Authentication
- CORS
- IP Access Rules
- JWT Validation
- JWT authorizers
- Message Inspection
- Mutual TLS
- OAuth 1.0
- OAuth 2.0
Extensions
- AWS Integrations
- HTTP Callout
- HTTP integrations
- Kubernetes
- Contains
- Azure
- Google Cloud
- Serverless
- Open Policy Agent
- Service Mesh
API Resources
| No API Resources |
webMethods
webMethods API Gateway enables an organization to securely expose APIs to external developers, partners, and other consumers for use in building their own applications on their desired platforms. It provides a dedicated, web-based user interface to perform all the administration and API related tasks such as creating APIs, defining and activating policies, creating applications, and consuming APIs. API Gateway gives you rich dashboard capabilities for API Analytics.
Platform Capabilities
These are the wider capabilities beyond the gateway they offer.
- Gateway
- Portal
- Threat Protection
- Design
- Monetization
- Analytics
Gateway Capabilities
These are the capabilities the gateway supports.
- Mocking
- Traffic Management
- Mediation
- Versioning
- Protocol Transformation
Upstream Protocols
The different protocols they support upstream.
- HTTP/1.1
Downtream Protocols
The different protocols they support downstream.
- HTTP/1.1
Custom Code
If they offer plugin, extension, and custom coding options.
- AWS Lambda
- Node.js
Delivery Models
These are they ways you can deliver this solution.
- SaaS
- Hybrid
- Customer Managed (Cloud)
- Customer Managed (On-Premises)
Policies
These are the policies available across the gateway capabilities.
Security
- API Key
- OAuth 2.0
- SLA Management
- WSS Username
- Kerberos
- SAML
- Custom Credentials
- LDAP
Mediation
- REST to SOAP
- Request Transformation
- Response Transformation
- XSL Transformation
Traffic Management
- Content-Based Routing
- Load Balancer Routing
- Conditional Routing
- Traffic Optimization
- Dynamic Routing
- Rate Limiting
Extensions
- Monitoring
- Integration Server services
API Resources
| Service Management
OpenAPI |