---
title: "Get a SolaceUpstream plugin"
method: GET
path: "/{workspace}/plugins/{PluginId}#SolaceUpstream"
tags: ["Plugins"]
---

# Get a SolaceUpstream plugin

`GET /{workspace}/plugins/{PluginId}#SolaceUpstream`

Get a SolaceUpstream plugin

## Response `200`

SolaceUpstream plugin

- SolaceUpstreamPlugin — A Plugin entity represents a plugin configuration that will be executed during the HTTP request/response lifecycle. It is how you can add functionalities to Services that run behind Kong, like Authentication or Rate Limiting for example. You can find more information about how to install and what values each plugin takes by visiting the [Kong Hub](https://docs.konghq.com/hub/). When adding a Plugin Configuration to a Service, every request made by a client to that Service will run said Plugin. If a Plugin needs to be tuned to different values for some specific Consumers, you can do so by creating a separate plugin instance that specifies both the Service and the Consumer, through the `service` and `consumer` fields.
  - `created_at` integer, nullable — Unix epoch when the resource was created.
  - `enabled` boolean, nullable — Whether the plugin is applied.
  - `id` string, nullable — A string representing a UUID (universally unique identifier).
  - `instance_name` string, nullable — A unique string representing a UTF-8 encoded name.
  - `name` 'solace-upstream', required — The name of the Plugin that's going to be added. Currently, the Plugin must be installed in every Kong instance separately.
  - `ordering` object, nullable
    - `after` object
      - `access` string[]
    - `before` object
      - `access` string[]
  - `partials` object[] — A list of partials to be used by the plugin.
    - `id` string — A string representing a UUID (universally unique identifier).
    - `name` string — A unique string representing a UTF-8 encoded name.
    - `path` string
  - `tags` string[], nullable — An optional set of strings associated with the Plugin for grouping and filtering.
  - `updated_at` integer, nullable — Unix epoch when the resource was last updated.
  - `config` object, required
    - `message` object, required — The message related configuration.
      - `ack_timeout` integer — When using a non-DIRECT guaranteed delivery mode, this property sets the message acknowledgement timeout in milliseconds (waiting time).
      - `default_content` string — When not using `forward_method`, `forward_uri`, `forward_headers` or `forward_body`, this sets the message content.
      - `delivery_mode` 'DIRECT' | 'PERSISTENT' — Sets the message delivery mode.
      - `destinations` object[], required — The message destinations.
        - `name` string, required — The name of the destination. You can use $(uri_captures['<capture-identifier>']) in this field (replace `<capture-identifier>` with a real value, for example `$uri_captures[’queue’]` when the matched route has a path `~/(?<queue>[a-z]+)`).
        - `type` 'QUEUE' | 'TOPIC' — The type of the destination.
      - `dmq_eligible` boolean — Sets the dead message queue (DMQ) eligible property on the message.
      - `forward_body` boolean — Include the request body and the body arguments in the message.
      - `forward_headers` boolean — Include the request headers in the message.
      - `forward_method` boolean — Include the request method in the message.
      - `forward_uri` boolean — Include the request URI and the URI arguments (as in, query arguments) in the message.
      - `functions` string[] — The Lua functions that manipulates (or generates) the message being sent to Solace. The `message` variable can be used to access the current message content, and the function can return a new content.
      - `priority` integer — Sets the message priority.
      - `sender_id` string — Allows the application to set the content of the sender identifier.
      - `tracing` boolean — Enable or disable the tracing. This is primarily used for distributed tracing and message correlation, especially in debugging or tracking message flows across multiple systems.
      - `tracing_sampled` boolean — Indicates whether the message should be included in distributed tracing (i.e., if it should be "sampled" for the tracing)
      - `ttl` integer — Sets the time to live (TTL) in milliseconds for the message. Setting the time to live to zero disables the TTL for the message.
    - `session` object, required — Session related configuration.
      - `authentication` object — Session authentication related configuration.
        - `access_token` string — The OAuth2 access token used with `OAUTH2` authentication scheme when connecting to an event broker.
        - `access_token_header` string
        - `id_token` string — The OpenID Connect ID token used with `OAUTH2` authentication scheme when connecting to an event broker.
        - `id_token_header` string
        - `password` string — The password used with `BASIC` authentication scheme when connecting to an event broker.
        - `scheme` 'BASIC' | 'NONE' | 'OAUTH2' — The client authentication scheme used when connection to an event broker.
        - `username` string — The username used with `BASIC` authentication scheme when connecting to an event broker.
      - `calculate_message_expiry` boolean — If this property is true and time-to-live has a positive value in a message, the expiration time is calculated when the message is sent or received
      - `connect_timeout` integer — The timeout period (in milliseconds) for a connect operation to a given host (per host).
      - `generate_rcv_timestamps` boolean — When enabled, a receive timestamp is recorded for each message.
      - `generate_send_timestamps` boolean — When enabled, a send timestamp is automatically included (if not already present) in the Solace-defined fields for each message sent.
      - `generate_sender_id` boolean — When enabled, a sender id is automatically included (if not already present) in the Solace-defined fields for each message sent.
      - `generate_sequence_number` boolean — When enabled, a sequence number is automatically included (if not already present) in the Solace-defined fields for each message sent.
      - `host` string, required — The IPv4 or IPv6 address or host name to connect to (see: https://docs.solace.com/API-Developer-Online-Ref-Documentation/c/index.html#host-entry).
      - `properties` object — Additional Solace session properties (each setting needs to have `SESSION_` prefix).
      - `ssl_validate_certificate` boolean — Indicates whether the API should validate server certificates with the trusted certificates.
      - `vpn_name` string — The name of the Message VPN to attempt to join when connecting to an event broker.
  - `protocols` string[] — A set of strings representing HTTP protocols.
  - `route` object — If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    - `id` string
  - `service` object — If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    - `id` string

## Other responses

- `401` — Unauthorized
- `404` — Resource does not exist

## Changes

> 8 revisions in range; 1 not diffed.

- **2025-10-09** `740b73588ef4` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/kong/apis/kong-enterprise-admin-api/changes/:workspace/plugins/:PluginId#SolaceUpstream/get.md)

---

[API](https://skmtc.dev/kong/apis/kong-enterprise-admin-api.md) · [All operations](https://skmtc.dev/kong/apis/kong-enterprise-admin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kong/apis/kong-enterprise-admin-api/revisions/740b73588ef4?raw)
