{"swagger":"2.0","info":{"title":"Consul API","version":"1"},"produces":["application/json","application/transit+msgpack","application/transit+json","application/edn"],"consumes":["application/json","application/transit+msgpack","application/transit+json","application/edn"],"basePath":"/","paths":{"/v1/acl/bootstrap":{"put":{"tags":["ACL"],"produces":["application/json"],"consumes":["application/json"],"operationId":"bootstrapACL","summary":"Bootstrap ACLs","description":"This endpoint does a special one-time bootstrap of the ACL system, making the first management token if the acl.tokens.master configuration entry is not specified in the Consul server configuration and if the cluster has not been bootstrapped previously. This is available in Consul 0.9.1 and later, and requires all Consul servers to be upgraded in order to operate.\n\n This provides a mechanism to bootstrap ACLs without having any secrets present in Consul's configuration files.","responses":{"200":{"description":"The ACL system was successfully bootstrapped."},"403":{"description":"The ACL system has already been bootstrapped; the cluster may be in a compromised state."}}}},"/v1/acl/replication":{"get":{"tags":["ACL"],"produces":["application/json"],"consumes":["application/json"],"operationId":"checkACLReplication","summary":"Check ACL Replication","description":"This endpoint returns the status of the ACL replication processes in the datacenter. This is intended to be used by operators or by automation checking to discover the health of ACL replication.","parameters":[{"in":"query","name":"dc","description":"","required":false,"type":"string"}],"responses":{"200":{"description":"The replication status was returned"}}}},"/v1/acl/rules/translate":{"post":{"tags":["ACL"],"produces":["text/plain"],"consumes":["application/json"],"operationId":"translateRules","summary":"Translate Rules","description":"Deprecated - This endpoint was introduced in Consul 1.4.0 for migration from the previous ACL system. It will be removed in a future major Consul version when support for legacy ACLs is removed.\n\n This endpoint translates the legacy rule syntax into the latest syntax. It is intended to be used by operators managing Consul's ACLs and performing legacy token to new policy migrations.","parameters":[{"in":"body","name":"","description":"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The call was successful"}}}},"/v1/acl/rules/translate/{accessor_id}":{"get":{"tags":["ACL"],"produces":["text/plain"],"consumes":["application/json"],"operationId":"translateTokenRules","summary":"Translate a Legacy Token's Rules","description":"Deprecated - This endpoint was introduced in Consul 1.4.0 for migration from the previous ACL system.. It will be removed in a future major Consul version when support for legacy ACLs is removed.\n\n This endpoint translates the legacy rules embedded within a legacy ACL into the latest syntax. It is intended to be used by operators managing Consul's ACLs and performing legacy token to new policy migrations. Note that this API requires the auto-generated Accessor ID of the legacy token. This ID can be retrieved using the /v1/acl/token/self endpoint.","parameters":[{"in":"path","name":"accessor_id","description":"","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"description":"The call was successful"}}}},"/v1/acl/login":{"post":{"tags":["ACL"],"produces":["application/json"],"consumes":["application/json"],"operationId":"login","summary":"Login to Auth Method","description":"This endpoint was added in Consul 1.5.0 and is used to exchange an auth method bearer token for a newly-created Consul ACL token.","parameters":[{"in":"body","name":"ACLLoginRequest","description":"","required":true,"schema":{"$ref":"#/definitions/ACLLoginRequest"}}],"responses":{"200":{"description":"The login was successful"}}}},"/v1/acl/logout":{"post":{"tags":["ACL"],"produces":["application/json"],"consumes":["application/json"],"operationId":"logout","summary":"Logout from Auth Method","description":"This endpoint was added in Consul 1.5.0 and is used to destroy a token created via the login endpoint. The token deleted is specified with the X-Consul-Token header or the token query parameter.","responses":{"200":{"description":"The logout was successful."}}}},"/v1/acl/token":{"put":{"tags":["ACL"],"produces":["application/json"],"consumes":["application/json"],"operationId":"createToken","summary":"Create a Token","description":"This endpoint creates a new ACL token.","parameters":[{"in":"body","name":"ACLTokenRequest","description":"","required":true,"schema":{"$ref":"#/definitions/ACLTokenRequest"}}],"responses":{"default":{"description":""}}}},"/v1/agent/members":{"get":{"tags":["Agent"],"operationId":"listMembers","summary":"List Members","description":"This endpoint returns the members the agent sees in the cluster gossip pool. Due to the nature of gossip, this is eventually consistent: the results may differ by agent. The strongly consistent view of nodes is instead provided by /v1/catalog/nodes.","parameters":[{"in":"query","name":"wan","description":"","required":false,"type":"boolean"},{"in":"query","name":"segment","description":"","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/AgentMember"}},"description":""}}}},"/v1/agent/self":{"get":{"tags":["Agent"],"operationId":"readConfiguration","summary":"Read Configuration","description":"This endpoint returns the configuration and member information of the local agent. The Config element contains a subset of the configuration and its format will not change in a backwards incompatible way between releases. DebugConfig contains the full runtime configuration but its format is subject to change without notice or deprecation.","responses":{"200":{"schema":{"$ref":"#/definitions/AgentConfiguration"},"description":""}}}},"/v1/agent/reload":{"put":{"tags":["Agent"],"operationId":"reloadAgent","summary":"Reload Agent","description":"This endpoint instructs the agent to reload its configuration. Any errors encountered during this process are returned.\n\n Not all configuration options are reloadable. See the Reloadable Configuration section on the agent options page for details on which options are supported.","responses":{"default":{"description":""}}}},"/v1/agent/maintenance":{"put":{"tags":["Agent"],"operationId":"enableMaintenanceMode","summary":"Enable Maintenance Mode","description":"This endpoint places the agent into \"maintenance mode\". During maintenance mode, the node will be marked as unavailable and will not be present in DNS or API queries. This API call is idempotent.\n\n Maintenance mode is persistent and will be automatically restored on agent restart.","responses":{"default":{"description":""}}}},"/v1/agent/metrics":{"get":{"tags":["Agent"],"operationId":"getMetrics","summary":"View Metrics","description":"This endpoint will dump the metrics for the most recent finished interval. For more information about metrics, see the telemetry page.\n\n In order to enable Prometheus support, you need to use the configuration directive prometheus_retention_time.\n\n Note: If your metric includes labels that use the same key name multiple times (i.e. tag=tag2 and tag=tag1), only the sorted last value (tag=tag2) will be visible on this endpoint due to a display issue. The complete label set is correctly applied and passed to external metrics providers even though it is not visible through this endpoint.","responses":{"200":{"schema":{"$ref":"#/definitions/AgentMetrics"},"description":""}}}},"/v1/agent/monitor":{"get":{"tags":["Agent"],"operationId":"streamLogs","summary":"Stream Logs","description":"This endpoint streams logs from the local agent until the connection is closed.","parameters":[{"in":"query","name":"loglevel","description":"","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"string"},"description":""}}}},"/v1/agent/join/{address}":{"put":{"tags":["Agent"],"operationId":"agentJoin","summary":"Join Agent","description":"This endpoint instructs the agent to attempt to connect to a given address.","parameters":[{"in":"path","name":"address","description":"Specifies the address of the other agent to join.","required":true,"type":"string"},{"in":"query","name":"wan","description":"Specifies to try and join over the WAN pool. This is only optional for agents running in server mode.","required":false,"type":"boolean"}],"responses":{"default":{"description":""}}}},"/v1/agent/leave":{"put":{"tags":["Agent"],"operationId":"agentLeave","summary":"Graceful Leave and Shutdown","description":"This endpoint triggers a graceful leave and shutdown of the agent. It is used to ensure other nodes see the agent as \"left\" instead of \"failed\". Nodes that leave will not attempt to re-join the cluster on restarting with a snapshot.\n\n For nodes in server mode, the node is removed from the Raft peer set in a graceful manner. This is critical, as in certain situations a non-graceful leave can affect cluster availability.","responses":{"default":{"description":""}}}},"/v1/agent/force-leave/{node}":{"put":{"tags":["Agent"],"operationId":"forceAgentLeave","summary":"Force Leave and Shutdown","description":"This endpoint instructs the agent to force a node into the left state. If a node fails unexpectedly, then it will be in a failed state. Once in the failed state, Consul will attempt to reconnect, and the services and checks belonging to that node will not be cleaned up. Forcing a node into the left state allows its old entries to be removed.","parameters":[{"in":"path","name":"node","description":"Specifies the name of the node to be forced into left state.","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/v1/agent/agent/token/{token_name}":{"put":{"tags":["Agent"],"operationId":"updateACLTokens","summary":"Update ACL Tokens","description":"This endpoint updates the ACL tokens currently in use by the agent. It can be used to introduce ACL tokens to the agent for the first time, or to update tokens that were initially loaded from the agent's configuration. Tokens will be persisted only if the acl.enable_token_persistence configuration is true. When not being persisted, they will need to be reset if the agent is restarted.","parameters":[{"in":"path","name":"token_name","description":"","required":true,"type":"string","enum":["default","agent","acl_token","acl_agent_token","replication","acl_replication_token","agent_master","acl_agent_master_token"]},{"in":"body","name":"Body16380","description":"","required":true,"schema":{"$ref":"#/definitions/Body16380"}}],"responses":{"default":{"description":""}}}},"/v1/agent/checks":{"get":{"tags":["Agent"],"operationId":"agentListChecks","summary":"List Checks","description":"This endpoint returns all checks that are registered with the local agent. These checks were either provided through configuration files or added dynamically using the HTTP API.\n\n It is important to note that the checks known by the agent may be different from those reported by the catalog. This is usually due to changes being made while there is no leader elected. The agent performs active anti-entropy, so in most situations everything will be in sync within a few seconds.","parameters":[{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AgentChecks"},"description":""}}}},"/v1/agent/check/register":{"put":{"tags":["Agent"],"operationId":"agentRegisterCheck","summary":"Register Check","description":"This endpoint adds a new check to the local agent. Checks may be of script, HTTP, TCP, or TTL type. The agent is responsible for managing the status of the check and keeping the Catalog in sync.","parameters":[{"in":"body","name":"RegisterCheckRequest","description":"","required":true,"schema":{"$ref":"#/definitions/RegisterCheckRequest"}}],"responses":{"default":{"description":""}}}},"/v1/agent/check/deregister/{check_id}":{"put":{"tags":["Agent"],"operationId":"agentDeregisterCheck","summary":"Deregister Check","description":"This endpoint remove a check from the local agent. The agent will take care of deregistering the check from the catalog. If the check with the provided ID does not exist, no action is taken.","parameters":[{"in":"path","name":"check_id","description":"Specifies the unique ID of the check to deregister.","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/v1/agent/check/pass/{check_id}":{"put":{"tags":["Agent"],"operationId":"agentPassTTLCheck","summary":"TTL Check Pass","description":"This endpoint is used with a TTL type check to set the status of the check to passing and to reset the TTL clock.","parameters":[{"in":"path","name":"check_id","description":"Specifies the unique ID of the check to use.","required":true,"type":"string"},{"in":"query","name":"note","description":"Specifies a human-readable message.","required":false,"type":"string"}],"responses":{"default":{"description":""}}}},"/v1/agent/check/warn/{check_id}":{"put":{"tags":["Agent"],"operationId":"agentWarnTTLCheck","summary":"TTL Check Warn","description":"This endpoint is used with a TTL type check to set the status of the check to warning and to reset the TTL clock.","parameters":[{"in":"path","name":"check_id","description":"Specifies the unique ID of the check to use.","required":true,"type":"string"},{"in":"query","name":"note","description":"Specifies a human-readable message.","required":false,"type":"string"}],"responses":{"default":{"description":""}}}},"/v1/agent/check/fail/{check_id}":{"put":{"tags":["Agent"],"operationId":"agentFailTTLCheck","summary":"TTL Check Fail","description":"This endpoint is used with a TTL type check to set the status of the check to critical and to reset the TTL clock.","parameters":[{"in":"path","name":"check_id","description":"Specifies the unique ID of the check to use.","required":true,"type":"string"},{"in":"query","name":"note","description":"Specifies a human-readable message.","required":false,"type":"string"}],"responses":{"default":{"description":""}}}},"/v1/agent/check/update/{check_id}":{"put":{"tags":["Agent"],"operationId":"agentUpdateTTLCheck","summary":"TTL Check Update","description":"This endpoint is used with a TTL type check to set the status of the check and to reset the TTL clock.","parameters":[{"in":"path","name":"check_id","description":"Specifies the unique ID of the check to use.","required":true,"type":"string"},{"in":"body","name":"Body16382","description":"","required":true,"schema":{"$ref":"#/definitions/Body16382"}}],"responses":{"default":{"description":""}}}},"/v1/agent/services":{"get":{"tags":["Agent"],"operationId":"agentListServices","summary":"List Services","description":"This endpoint returns all the services that are registered with the local agent. These services were either provided through configuration files or added dynamically using the HTTP API.\n\n It is important to note that the services known by the agent may be different from those reported by the catalog. This is usually due to changes being made while there is no leader elected. The agent performs active anti-entropy, so in most situations everything will be in sync within a few seconds.","parameters":[{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AgentServices"},"description":""}}}},"/v1/agent/service/{service_id}":{"get":{"tags":["Agent"],"operationId":"agentGetServiceConfiguration","summary":"Get Service Configuration","description":"This endpoint was added in Consul 1.3.0 and returns the full service definition for a single service instance registered on the local agent. It is used by Connect proxies to discover the embedded proxy configuration that was registered with the instance.\n\n It is important to note that the services known by the agent may be different from those reported by the catalog. This is usually due to changes being made while there is no leader elected. The agent performs active anti-entropy, so in most situations everything will be in sync within a few seconds.","parameters":[{"in":"path","name":"service_id","description":"Specifies the ID of the service to fetch.","required":true,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true}],"responses":{"200":{"schema":{"$ref":"#/definitions/AgentServiceConfiguration"},"description":""}}}},"/v1/agent/health/service/name/{service_name}":{"get":{"tags":["Agent"],"operationId":"agentGetLocalServiceHealth","summary":"Get local service health","description":"Retrieve an aggregated state of service(s) on the local agent by name.\n\n This endpoints support JSON format and text/plain formats, JSON being the default. In order to get the text format, you can append ?format=text to the URL or use Mime Content negotiation by specifying a HTTP Header Accept starting with text/plain.","parameters":[{"in":"path","name":"service_name","description":"The service name.","required":true,"type":"string"},{"in":"query","name":"format","description":"","required":false,"type":"string","enum":["text"],"allowEmptyValue":true}],"produces":["application/json","text/plain"],"responses":{"200":{"schema":{"$ref":"#/definitions/AgentServicesHealth"},"description":""},"400":{"description":"Bad parameter (missing service name of id)"},"404":{"description":"No such service id or name"},"429":{"description":"Some healthchecks are passing, at least one is warning"},"503":{"description":"At least one of the healthchecks is critical"}}}},"/v1/agent/service/register":{"put":{"tags":["Agent"],"operationId":"agentRegisterService","summary":"Register Service","description":"This endpoint adds a new service, with an optional health check, to the local agent.\n\n The agent is responsible for managing the status of its local services, and for sending updates about its local services to the servers to keep the global catalog in sync.\n\n For \"connect-proxy\" kind services, the service:write ACL for the Proxy.DestinationServiceName value is also required to register the service.","parameters":[{"in":"body","name":"AgentRegisterRequest","description":"","required":true,"schema":{"$ref":"#/definitions/AgentRegisterRequest"}}],"responses":{"default":{"description":""}}}},"/v1/agent/service/deregister/{service_id}":{"put":{"tags":["Agent"],"operationId":"agentDeregisterService","summary":"Deregister Service","description":"This endpoint removes a service from the local agent. If the service does not exist, no action is taken.\n\n The agent will take care of deregistering the service with the catalog. If there is an associated check, that is also deregistered.","parameters":[{"in":"path","name":"service_id","description":"Specifies the ID of the service to deregister","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/v1/agent/service/maintenance/{service_id}":{"put":{"tags":["Agent"],"operationId":"agentEnableServiceMaintenanceMode","summary":"Enable Maintenance Mode","description":"This endpoint places a given service into \"maintenance mode\". During maintenance mode, the service will be marked as unavailable and will not be present in DNS or API queries. This API call is idempotent. Maintenance mode is persistent and will be automatically restored on agent restart.","parameters":[{"in":"path","name":"service_id","description":"Specifies the ID of the service to put in maintenance mode.","required":true,"type":"string"},{"in":"query","name":"enable","description":"","required":true,"type":"boolean"},{"in":"query","name":"reason","description":"","required":false,"type":"string"}],"responses":{"default":{"description":""}}}},"/v1/agent/connect/authorize":{"post":{"tags":["Agent"],"operationId":"agentAuthorizeConnect","summary":"Authorize","description":"This endpoint tests whether a connection attempt is authorized between two services. This is the primary API that must be implemented by proxies or native integrations that wish to integrate with Connect. Prior to calling this API, it is expected that the client TLS certificate has been properly verified against the current CA roots.\n\n\n The implementation of this API uses locally cached data and doesn't require any request forwarding to a server. Therefore, the response typically occurs in microseconds to impose minimal overhead on the connection attempt.","parameters":[{"in":"body","name":"ConnectAuthorizeRequest","description":"","required":true,"schema":{"$ref":"#/definitions/ConnectAuthorizeRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/ConnectAuthorizeResponse"},"description":""}}}},"/v1/agent/connect/ca/roots":{"get":{"tags":["Agent"],"operationId":"getCertificateAuthorityRoots","summary":"Certificate Authority Roots","description":"This endpoint returns the trusted certificate authority (CA) root certificates. This is used by proxies or native integrations to verify served client or server certificates are valid.\n\n This is equivalent to the non-Agent Connect endpoint, but the response of this request is cached locally at the agent. This allows for very fast response times and for fail open behavior if the server is unavailable. This endpoint should be used by proxies and native integrations.","responses":{"200":{"schema":{"$ref":"#/definitions/CertificateAuthorityRoots"},"description":""}},"parameters":[{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true}]}},"/v1/agent/connect/ca/leaf/{service}":{"get":{"tags":["Agent"],"operationId":"getLeafCertificate","summary":"Service Leaf Certificate","description":"This endpoint returns the leaf certificate representing a single service. This certificate is used as a server certificate for accepting inbound connections and is also used as the client certificate for establishing outbound connections to other services.\n\nThe agent generates a CSR locally and calls the CA sign API to sign it. The resulting certificate is cached and returned by this API until it is near expiry or the root certificates change.\n\nThis API supports blocking queries. The blocking query will block until a new certificate is necessary because the existing certificate will expire or the root certificate is being rotated. This blocking behavior allows clients to efficiently wait for certificate rotations.","parameters":[{"in":"path","name":"service","description":"The name of the service for the leaf certificate. The service does not need to exist in the catalog, but the proper ACL permissions must be available.","required":true,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true}],"responses":{"200":{"schema":{"$ref":"#/definitions/ServiceLeafCertificate"},"description":""}}}},"/v1/catalog/register":{"put":{"tags":["Catalog"],"operationId":"catalogRegisterEntity","summary":"Register Entity","description":"This endpoint is a low-level mechanism for registering or updating entries in the catalog. It is usually preferable to instead use the agent endpoints for registration as they are simpler and perform anti-entropy.","parameters":[{"in":"body","name":"CatalogRegisterRequest","description":"","required":true,"schema":{"$ref":"#/definitions/CatalogRegisterRequest"}}],"responses":{"default":{"description":""}}}},"/v1/catalog/deregister":{"put":{"tags":["Catalog"],"operationId":"catalogDeregisterEntity","summary":"Deregister Entity","description":"This endpoint is a low-level mechanism for directly removing entries from the Catalog. It is usually preferable to instead use the agent endpoints for deregistration as they are simpler and perform anti-entropy.","parameters":[{"in":"body","name":"CatalogDeregisterRequest","description":"","required":true,"schema":{"$ref":"#/definitions/CatalogDeregisterRequest"}}],"responses":{"default":{"description":""}}}},"/v1/catalog/datacenters":{"get":{"tags":["Catalog"],"operationId":"listDatacenters","summary":"List Datacenters","description":"This endpoint returns the list of all known datacenters. The datacenters will be sorted in ascending order based on the estimated median round trip time from the server to the servers in that datacenter.\n\n This endpoint does not require a cluster leader and will succeed even during an availability outage. Therefore, it can be used as a simple check to see if any Consul servers are routable.","responses":{"200":{"schema":{"type":"array","items":{"type":"string"}},"description":""}}}},"/v1/catalog/nodes":{"get":{"tags":["Catalog"],"operationId":"catalogListNodes","summary":"List Nodes","description":"This endpoint and returns the nodes registered in a given datacenter.","parameters":[{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"node-meta","description":"Specifies a desired node metadata key/value pair of the form key:value. This parameter can be specified multiple times, and will filter the results to nodes with the specified key/value pairs.","required":false,"type":"string"},{"in":"query","name":"near","description":"Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node. Passing ?near=_agent will use the agent's node for the sort.","required":false,"type":"string"},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/CatalogNode"}},"description":""}}}},"/v1/catalog/services":{"get":{"tags":["Catalog"],"operationId":"catalogListServices","summary":"List Services","description":"This endpoint returns the services registered in a given datacenter.","parameters":[{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"node-meta","description":"Specifies a desired node metadata key/value pair of the form key:value. This parameter can be specified multiple times, and will filter the results to nodes with the specified key/value pairs.","required":false,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"}],"responses":{"200":{"schema":{"$ref":"#/definitions/Response16420"},"description":""}}}},"/v1/catalog/service/{service}":{"get":{"tags":["Catalog"],"operationId":"catalogListServiceNodes","summary":"List Nodes for Service","description":"This endpoint returns the nodes providing a service in a given datacenter.","parameters":[{"in":"path","name":"service","description":"Specifies the name of the service for which to list nodes","required":true,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"node-meta","description":"Specifies a desired node metadata key/value pair of the form key:value. This parameter can be specified multiple times, and will filter the results to nodes with the specified key/value pairs.","required":false,"type":"string"},{"in":"query","name":"near","description":"Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node. Passing ?near=_agent will use the agent's node for the sort.","required":false,"type":"string"},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"tag","description":"Specifies the tag to filter on. Can be used multiple times for additional filtering, returning only the results that include all of the tag values provided.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/CatalogServiceNode"}},"description":""}}}},"/v1/catalog/connect/{service}":{"get":{"tags":["Catalog"],"operationId":"catalogListConnectServiceNodes","summary":"List Nodes for Connect-capable Service","description":"This endpoint returns the nodes providing a Connect-capable service in a given datacenter. This will include both proxies and native integrations. A service may register both Connect-capable and incapable services at the same time, so this endpoint may be used to filter only the Connect-capable endpoints.","parameters":[{"in":"path","name":"service","description":"Specifies the name of the service for which to list nodes","required":true,"type":"string"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"tag","description":"Specifies the tag to filter on. Can be used multiple times for additional filtering, returning only the results that include all of the tag values provided.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"near","description":"Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node. Passing ?near=_agent will use the agent's node for the sort.","required":false,"type":"string"},{"in":"query","name":"node-meta","description":"Specifies a desired node metadata key/value pair of the form key:value. This parameter can be specified multiple times, and will filter the results to nodes with the specified key/value pairs.","required":false,"type":"string"},{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/CatalogServiceNode"}},"description":""}}}},"/v1/catalog/node/{node}":{"get":{"tags":["Catalog"],"operationId":"catalogListNodeServices","summary":"List Services for Node","description":"This endpoint returns the node's registered services.","parameters":[{"in":"path","name":"node","description":"Specifies the name of the node for which to list services.","required":true,"type":"string"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/Response16434"}},"description":""}}}},"/v1/config":{"put":{"tags":["Config"],"operationId":"applyConfiguration","summary":"Apply Configuration","description":"This endpoint creates or updates the given config entry.","parameters":[{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"cas","description":"Specifies to use a Check-And-Set operation. If the index is 0, Consul will only store the entry if it does not already exist. If the index is non-zero, the entry is only set if the current index matches the ModifyIndex of that entry.","required":false,"type":"integer","format":"int64"},{"in":"body","name":"Body16393","description":"","required":true,"schema":{"$ref":"#/definitions/Body16393"}}],"responses":{"default":{"description":""}}}},"/v1/config/config/{kind}/{name}":{"get":{"tags":["Config"],"operationId":"getConfiguration","summary":"Get Configuration","description":"This endpoint returns a specific config entry.","parameters":[{"in":"path","name":"kind","description":"Specifies the kind of the entry to read.","required":true,"type":"string"},{"in":"path","name":"name","description":"Specifies the name of the entry to read.","required":true,"type":"string"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"}],"responses":{"200":{"schema":{"$ref":"#/definitions/Response16438"},"description":""}}}},"/v1/config/{kind}":{"get":{"tags":["Config"],"operationId":"listConfigurations","summary":"List Configurations","parameters":[{"in":"path","name":"kind","description":"Specifies the kind of the entry to list.","required":true,"type":"string"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/Response16440"}},"description":""}}}},"/v1/config/{kind}/{name}":{"delete":{"tags":["Config"],"operationId":"deleteConfiguration","summary":"Delete Configuration","description":"This endpoint creates or updates the given config entry.","parameters":[{"in":"path","name":"kind","description":"Specifies the kind of the entry to delete.","required":true,"type":"string"},{"in":"path","name":"name","description":"Specifies the name of the entry to delete.","required":true,"type":"string"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"}],"responses":{"default":{"description":""}}}},"/v1/health/node/{node}":{"get":{"tags":["Health"],"operationId":"listNodeHealthChecks","summary":"List Checks for Node","description":"This endpoint returns the checks specific to the node provided on the path.","parameters":[{"in":"path","name":"node","description":"Specifies the name or ID of the node to query","required":true,"type":"string"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/NodeHealthCheck"}},"description":""}}}},"/v1/health/checks/{service}":{"get":{"tags":["Health"],"operationId":"listServiceHealthChecks","summary":"List Checks for Service","description":"This endpoint returns the checks associated with the service provided on the path.","parameters":[{"in":"path","name":"service","description":"Specifies the service to list checks for.","required":true,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"node-meta","description":"Specifies a desired node metadata key/value pair of the form key:value. This parameter can be specified multiple times, and will filter the results to nodes with the specified key/value pairs.","required":false,"type":"string"},{"in":"query","name":"near","description":"Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node. Passing ?near=_agent will use the agent's node for the sort.","required":false,"type":"string"},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/NodeHealthCheck"}},"description":""}}}},"/v1/health/service/{service}":{"get":{"tags":["Health"],"operationId":"listNodesForService","summary":"List Nodes for Service","description":"This endpoint returns the nodes providing the service indicated on the path. Users can also build in support for dynamic load balancing and other features by incorporating the use of health checks.","parameters":[{"in":"path","name":"service","description":"Specifies the service to list services for.","required":true,"type":"string"},{"in":"query","name":"passing","description":"Specifies that the server should return only nodes with all checks in the passing state. This can be used to avoid additional filtering on the client side.","required":false,"type":"boolean"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"node-meta","description":"Specifies a desired node metadata key/value pair of the form key:value. This parameter can be specified multiple times, and will filter the results to nodes with the specified key/value pairs.","required":false,"type":"string"},{"in":"query","name":"near","description":"Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node. Passing ?near=_agent will use the agent's node for the sort.","required":false,"type":"string"},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"tag","description":"Specifies the tag to filter the list. Can be used multiple times for additional filtering, returning only the results that include all of the tag values provided.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/HealthService"}},"description":""}}}},"/v1/health/connect/{service}":{"get":{"tags":["Health"],"operationId":"listNodesForConnectService","summary":"List Nodes for Connect-capable Service","description":"This endpoint returns the nodes providing a Connect-capable service in a given datacenter. This will include both proxies and native integrations. A service may register both Connect-capable and incapable services at the same time, so this endpoint may be used to filter only the Connect-capable endpoints.","parameters":[{"in":"path","name":"service","description":"Specifies the service to list services for.","required":true,"type":"string"},{"in":"query","name":"passing","description":"Specifies that the server should return only nodes with all checks in the passing state. This can be used to avoid additional filtering on the client side.","required":false,"type":"boolean"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"node-meta","description":"Specifies a desired node metadata key/value pair of the form key:value. This parameter can be specified multiple times, and will filter the results to nodes with the specified key/value pairs.","required":false,"type":"string"},{"in":"query","name":"near","description":"Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node. Passing ?near=_agent will use the agent's node for the sort.","required":false,"type":"string"},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"tag","description":"Specifies the tag to filter the list. Can be used multiple times for additional filtering, returning only the results that include all of the tag values provided.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/HealthService"}},"description":""}}}},"/v1/health/state/{state}":{"get":{"tags":["Health"],"operationId":"listChecksInState","summary":"List Checks in State","description":"This endpoint returns the checks in the state provided on the path.","parameters":[{"in":"path","name":"state","description":"Specifies the state to query.","required":true,"type":"string","enum":["warning","any","critical","passing"]},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"node-meta","description":"Specifies a desired node metadata key/value pair of the form key:value. This parameter can be specified multiple times, and will filter the results to nodes with the specified key/value pairs.","required":false,"type":"string"},{"in":"query","name":"near","description":"Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node. Passing ?near=_agent will use the agent's node for the sort.","required":false,"type":"string"},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"filter","description":"Specifies the expression used to filter the queries results prior to returning the data.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/NodeHealthCheck"}},"description":""}}}},"/v1/kv/{key}":{"get":{"tags":["KV Store"],"operationId":"readKey","summary":"Read Key","description":"This endpoint returns the specified key. If no key exists at the given path, a 404 is returned instead of a 200 response.\n\nFor multi-key reads, please consider using transaction.","parameters":[{"in":"path","name":"key","description":"Specifies the path of the key to read.","required":true,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"recurse","description":"Specifies if the lookup should be recursive and key treated as a prefix instead of a literal match.","required":false,"type":"boolean"},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"separator","description":"Specifies the string to use as a separator for recursive key lookups. This option is only used when paired with the keys parameter to limit the prefix of keys returned, only up to the given separator. ","required":false,"type":"string"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. ","required":false,"type":"string"},{"in":"query","name":"raw","description":"Specifies the response is just the raw value of the key, without any encoding or metadata.","required":false,"type":"boolean"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"keys","description":"Specifies to return only keys (no values or metadata). Specifying this implies recurse.","required":false,"type":"boolean"}],"responses":{"200":{"schema":{"x-oneOf":[{"$ref":"#/definitions/ReadKeyItemResponse"},{"type":"array","items":{"type":"string"}}]},"description":""}}},"put":{"tags":["KV Store"],"operationId":"writeKey","summary":"Create/Update Key","description":"This endpoint","parameters":[{"in":"path","name":"key","description":"Specifies the path of the key to read.","required":true,"type":"string"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried.","required":false,"type":"string"},{"in":"query","name":"flags","description":"Specifies an unsigned value between 0 and (2^64)-1. Clients can choose to use this however makes sense for their application.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"cas","description":"Specifies to use a Check-And-Set operation. This is very useful as a building block for more complex synchronization primitives. If the index is 0, Consul will only put the key if it does not already exist. If the index is non-zero, the key is only set if the index matches the ModifyIndex of that key.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"acquire","description":"Supply a session ID to use in a lock acquisition operation. This is useful as it allows leader election to be built on top of Consul. If the lock is not held and the session is valid, this increments the LockIndex and sets the Session value of the key in addition to updating the key contents. A key does not need to exist to be acquired. If the lock is already held by the given session, then the LockIndex is not incremented but the key contents are updated. This lets the current lock holder update the key contents without having to give up the lock and reacquire it. Note that an update that does not include the acquire parameter will proceed normally even if another session has locked the key.\n\nFor an example of how to use the lock feature, see the Leader Election Guide.","required":false,"type":"string"},{"in":"query","name":"release","description":"Supply a session ID to use in a release operation. This is useful when paired with ?acquire= as it allows clients to yield a lock. This will leave the LockIndex unmodified but will clear the associated Session of the key. The key must be held by this session to be unlocked.","required":false,"type":"string"},{"in":"body","name":"","description":"","required":true,"schema":{"type":"string","format":"binary"}}],"consumes":["application/octet-stream"],"responses":{"200":{"schema":{"type":"boolean"},"description":""}}},"delete":{"tags":["KV Store"],"operationId":"deleteKey","summary":"Delete Key","description":"This endpoint deletes a single key or all keys sharing a prefix.","parameters":[{"in":"path","name":"key","description":"","required":true,"type":"string"},{"in":"path","name":"keys","description":"","required":true,"type":"string"},{"in":"query","name":"recurse","description":"Specifies to delete all keys which have the specified prefix. Without this, only a key with an exact match will be deleted.","required":false,"type":"string"},{"in":"query","name":"cas","description":"Specifies to use a Check-And-Set operation. This is very useful as a building block for more complex synchronization primitives. Unlike PUT, the index must be greater than 0 for Consul to take any action: a 0 index will not delete the key. If the index is non-zero, the key is only deleted if the index matches the ModifyIndex of that key.","required":false,"type":"integer","format":"int64"}],"responses":{"default":{"description":""}}}},"/v1/session/create":{"put":{"tags":["Session"],"operationId":"createSession","summary":"Create Session","parameters":[{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. Using this across datacenters is not recommended.","required":false,"type":"string"},{"in":"body","name":"Session","description":"","required":true,"schema":{"$ref":"#/definitions/Session"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Response16454"},"description":""}}}},"/v1/session/destroy/{uuid}":{"delete":{"tags":["Session"],"operationId":"deleteSession","summary":"Delete Session","description":"This endpoint destroys the session with the given name. If the session UUID is malformed, an error is returned. If the session UUID does not exist or already expired, a 200 is still returned (the operation is idempotent).","parameters":[{"in":"path","name":"uuid","description":"Specifies the UUID of the session to destroy.","required":true,"type":"string","format":"uuid"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. Using this across datacenters is not recommended.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"boolean"},"description":""}}}},"/v1/session/info/{uuid}":{"get":{"tags":["Session"],"operationId":"readSession","summary":"Read Session","description":"This endpoint returns the requested session information.","parameters":[{"in":"path","name":"uuid","description":"Specifies the UUID of the session to read.","required":true,"type":"string","format":"uuid"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. Using this across datacenters is not recommended.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/Session"},"x-nullable":true},"description":""}}}},"/v1/session/node/{node}":{"get":{"tags":["Session"],"operationId":"listSessionsForNode","summary":"List Sessions for Node","description":"This endpoint returns the active sessions for a given node.","parameters":[{"in":"path","name":"node","description":"Specifies the name or ID of the node to query.","required":true,"type":"string"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. Using this across datacenters is not recommended.","required":false,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/Session"}},"description":""}}}},"/v1/session/list":{"get":{"tags":["Session"],"operationId":"listSessions","summary":"List Sessions","description":"This endpoint returns the list of active sessions.","parameters":[{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. Using this across datacenters is not recommended.","required":false,"type":"string"},{"in":"query","name":"index","description":"Index to use for consul's blocking queries.","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"wait","description":"How long to wait for a blocking query","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"consistent","description":"Set consistent consistency mode.","required":false,"type":"integer","format":"int64"},{"in":"query","name":"stale","description":"Set stale consistency mode.","required":false,"type":"integer","format":"int64"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/Session"}},"description":""}}}},"/v1/session/renew/{uuid}":{"put":{"tags":["Session"],"operationId":"renewSession","summary":"Renew Session","description":"This endpoint renews the given session. This is used with sessions that have a TTL, and it extends the expiration by the TTL.","parameters":[{"in":"path","name":"uuid","description":"Specifies the UUID of the session to renew.","required":true,"type":"string","format":"uuid"},{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried. Using this across datacenters is not recommended.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/Session"}},"description":""}}}},"/v1/status/leader":{"get":{"tags":["Status"],"operationId":"getRaftLeader","summary":"Get Raft Leader","description":"This endpoint returns the Raft leader for the datacenter in which the agent is running.","parameters":[{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"string"},"description":""}}}},"/v1/status/peers":{"get":{"tags":["Status"],"operationId":"listRaftPeers","summary":"List Raft Peers","description":"This endpoint retrieves the Raft peers for the datacenter in which the the agent is running. This list of peers is strongly consistent and can be useful in determining when a given server has successfully joined the cluster.","parameters":[{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried.","required":false,"type":"string"}],"responses":{"200":{"schema":{"type":"array","items":{"type":"string"}},"description":""}}}},"/v1/txn":{"put":{"tags":["Transactions"],"operationId":"transact","summary":"Create Transaction","description":"This endpoint permits submitting a list of operations to apply to Consul inside of a transaction. If any operation fails, the transaction is rolled back and none of the changes are applied.\n\nIf the transaction does not contain any write operations then it will be fast-pathed internally to an endpoint that works like other reads, except that blocking queries are not currently supported. In this mode, you may supply the ?stale or ?consistent query parameters with the request to control consistency. To support bounding the acceptable staleness of data, read-only transaction responses provide the X-Consul-LastContact header containing the time in milliseconds that a server was last contacted by the leader node. The X-Consul-KnownLeader header also indicates if there is a known leader. These won't be present if the transaction contains any write operations, and any consistency query parameters will be ignored, since writes are always managed by the leader via the Raft consensus protocol.","parameters":[{"in":"query","name":"dc","description":"Specifies the datacenter to query. This will default to the datacenter of the agent being queried.","required":false,"type":"string"},{"in":"body","name":"TransactionRequest","description":"","required":true,"schema":{"type":"array","items":{"x-oneOf":[{"$ref":"#/definitions/TransactionRequest"},{"$ref":"#/definitions/TransactionRequest"},{"$ref":"#/definitions/TransactionRequest"},{"$ref":"#/definitions/TransactionRequest"}]}}}],"responses":{"200":{"schema":{"$ref":"#/definitions/TransactionResponse"},"description":""}}}}},"definitions":{"ACLLoginRequest":{"type":"object","properties":{"AuthMethod":{"description":"The name of the auth method to use for login.","type":"string"},"BearerToken":{"description":"The bearer token to present to the auth method during login for authentication purposes. For the Kubernetes auth method this is a Service Account Token (JWT).","type":"string"},"Meta":{"$ref":"#/definitions/AclLoginRequestMeta"}},"additionalProperties":false,"required":["AuthMethod","BearerToken"]},"ACLTokenRequest":{"type":"object","additionalProperties":false},"AclLoginRequestMeta":{"description":"Specifies arbitrary KV metadata linked to the token. Can be useful to track origins.","type":"object","additionalProperties":{"type":"string"}},"AgentCheck":{"description":"Specifies to register a check. The register API manipulates the health check entry in the Catalog, but it does not setup the script, TTL, or HTTP check to monitor the node's health. To truly enable a new health check, the check must either be provided in agent configuration or set via the agent endpoint.\n\n The CheckID can be omitted and will default to the value of Name. As with Service.ID, the CheckID must be unique on this node. Notes is an opaque field that is meant to hold human-readable text. If a ServiceID is provided that matches the ID of a service on that node, the check is treated as a service level health check, instead of a node level health check. The Status must be one of passing, warning, or critical.\n\n The Definition field can be provided with details for a TCP or HTTP health check. For more information, see the Health Checks page.","type":"object","properties":{"CheckID":{"type":"string"},"ServiceTags":{"type":"array","items":{"type":"string"}},"Output":{"type":"string"},"ServiceID":{"type":"string"},"Notes":{"type":"string"},"Name":{"type":"string"},"Node":{"type":"string"},"Status":{"type":"string"},"ServiceName":{"type":"string"}},"additionalProperties":false,"required":["CheckID","ServiceTags","Output","ServiceID","Notes","Name","Node","Status","ServiceName"]},"AgentChecks":{"type":"object","additionalProperties":{"$ref":"#/definitions/AgentCheck"}},"AgentConfiguration":{"type":"object","properties":{"Config":{"$ref":"#/definitions/AgentConfigurationConfig"},"DebugConfig":{},"Coord":{"$ref":"#/definitions/AgentConfigurationCoord"},"Member":{"$ref":"#/definitions/AgentMember"},"Meta":{"$ref":"#/definitions/AgentConfigurationMeta"}},"additionalProperties":false,"required":["Config","DebugConfig","Coord","Member","Meta"]},"AgentConfigurationConfig":{"type":"object","properties":{"Datacenter":{"type":"string"},"NodeName":{"type":"string"},"NodeID":{"type":"string","format":"uuid"},"Server":{"type":"boolean"},"Revision":{"type":"string"},"Version":{"type":"string"}},"additionalProperties":false,"required":["Datacenter","NodeName","NodeID","Server","Revision","Version"]},"AgentConfigurationCoord":{"type":"object","properties":{"Adjustment":{"type":"integer","format":"int64"},"Error":{"type":"number","format":"double"},"Vec":{"type":"array","items":{"type":"integer","format":"int64"}}},"additionalProperties":false,"required":["Adjustment","Error","Vec"]},"AgentConfigurationMemberTags":{"type":"object","additionalProperties":{"type":"string"}},"AgentConfigurationMeta":{"type":"object","additionalProperties":{"type":"string"}},"AgentMember":{"type":"object","properties":{"Port":{"type":"integer","format":"int64"},"ProtocolCur":{"type":"integer","format":"int64"},"Tags":{"$ref":"#/definitions/Response16399Tags"},"DelegateMin":{"type":"integer","format":"int64"},"ProtocolMax":{"type":"integer","format":"int64"},"DelegateMax":{"type":"integer","format":"int64"},"Addr":{"type":"string"},"DelegateCur":{"type":"integer","format":"int64"},"Name":{"type":"string"},"ProtocolMin":{"type":"integer","format":"int64"},"Status":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["Port","ProtocolCur","Tags","DelegateMin","ProtocolMax","DelegateMax","Addr","DelegateCur","Name","ProtocolMin","Status"]},"AgentMetrics":{"type":"object","properties":{"Timestamp":{"description":"The timestamp of the interval for the displayed metrics. Metrics are aggregated on a ten second interval, so this value (along with the displayed metrics) will change every ten seconds.","type":"string","format":"date-time"},"Gauges":{"description":"A list of gauges which store one value that is updated as time goes on, such as the amount of memory allocated","type":"array","items":{"$ref":"#/definitions/AgentMetricsGauges"}},"Points":{"description":"A list of point metrics, which each store a series of points under a given name","type":"array","items":{}},"Counters":{"description":"A list of counters, which store info about a metric that is incremented over time such as the number of requests to an HTTP endpoint.","type":"array","items":{"$ref":"#/definitions/AgentMetricsCounters"}},"Samples":{"description":"A list of samples, which store info about the amount of time spent on an operation, such as the time taken to serve a request to a specific http endpoint.","type":"array","items":{"$ref":"#/definitions/AgentMetricsSamples"}}},"additionalProperties":false,"required":["Timestamp","Gauges","Points","Counters","Samples"]},"AgentMetricsCounters":{"type":"object","properties":{"Name":{"type":"string"},"Count":{"type":"integer","format":"int64"},"Sum":{"type":"integer","format":"int64"},"Min":{"type":"integer","format":"int64"},"Max":{"type":"integer","format":"int64"},"Mean":{"type":"integer","format":"int64"},"Stddev":{"type":"integer","format":"int64"},"Labels":{"$ref":"#/definitions/AgentMetricsCountersLabels"}},"additionalProperties":false,"required":["Name","Count","Sum","Min","Max","Mean","Stddev","Labels"]},"AgentMetricsCountersLabels":{"type":"object","additionalProperties":{"type":"string"}},"AgentMetricsGauges":{"type":"object","properties":{"Name":{"type":"string"},"Value":{"type":"integer","format":"int64"},"Labels":{"$ref":"#/definitions/AgentMetricsGaugesLabels"}},"additionalProperties":false,"required":["Name","Value","Labels"]},"AgentMetricsGaugesLabels":{"type":"object","additionalProperties":{"type":"string"}},"AgentMetricsSamples":{"type":"object","properties":{"Name":{"type":"string"},"Count":{"type":"integer","format":"int64"},"Sum":{"type":"number","format":"double"},"Min":{"type":"number","format":"double"},"Max":{"type":"number","format":"double"},"Stddev":{"type":"number","format":"double"},"Labels":{"$ref":"#/definitions/AgentMetricsSamplesLabels"}},"additionalProperties":false,"required":["Name","Count","Sum","Min","Max","Stddev","Labels"]},"AgentMetricsSamplesLabels":{"type":"object","additionalProperties":{"type":"string"}},"AgentRegisterRequest":{"type":"object","properties":{"Port":{"description":"Specifies the port of the service.","type":"integer","format":"int64"},"ID":{"description":"Specifies a unique ID for this service. This must be unique per agent. This defaults to the Name parameter if not provided.","type":"string"},"TaggedAddresses":{"$ref":"#/definitions/TaggedAddresses"},"Check":{"$ref":"#/definitions/RegisterCheckRequest"},"EnableTagOverride":{"description":"Specifies to disable the anti-entropy feature for this service's tags. If EnableTagOverride is set to true then external agents can update this service in the catalog and modify the tags. Subsequent local sync operations by this agent will ignore the updated tags. For instance, if an external agent modified both the tags and the port for this service and EnableTagOverride was set to true then after the next sync cycle the service's port would revert to the original value but the tags would maintain the updated value. As a counter example, if an external agent modified both the tags and port for this service and EnableTagOverride was set to false then after the next sync cycle the service's port and the tags would revert to the original value and all modifications would be lost.","type":"boolean"},"Weights":{"$ref":"#/definitions/AgentRegisterRequestWeights"},"Proxy":{"$ref":"#/definitions/Proxy"},"Checks":{"description":"Specifies a list of checks. Please see the check documentation for more information about the accepted fields. If you don't provide a name or id for the check then they will be generated. To provide a custom id and/or name set the CheckID and/or Name field. The automatically generated Name and CheckID depend on the position of the check within the array, so even though the behavior is deterministic, it is recommended for all checks to either let consul set the CheckID by leaving the field empty/omitting it or to provide a unique value.","type":"array","items":{"$ref":"#/definitions/RegisterCheckRequest"}},"Tags":{"description":"Specifies a list of tags to assign to the service. These tags can be used for later filtering and are exposed via the APIs.","type":"array","items":{"type":"string"}},"Meta":{"$ref":"#/definitions/AgentRegisterRequestMeta"},"Address":{"description":"Specifies the address of the service. If not provided, the agent's address is used as the address for the service during DNS queries.","type":"string"},"Connect":{"$ref":"#/definitions/Connect"},"Kind":{"description":"The kind of service. Defaults to \"\" which is a typical Consul service. This value may also be \"connect-proxy\" for services that are Connect-capable proxies representing another service or \"mesh-gateway\" for instances of a mesh gateway","type":"string"},"Name":{"description":"Specifies the logical name of the service. Many service instances may share the same logical service name.","type":"string"}},"additionalProperties":false,"required":["Name"]},"AgentRegisterRequestCheckHeader":{"description":"pecifies a set of headers that should be set for HTTP checks. Each header can have multiple values.","type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"AgentRegisterRequestChecksHeader":{"description":"pecifies a set of headers that should be set for HTTP checks. Each header can have multiple values.","type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"AgentRegisterRequestConnectProxyConfig":{"type":"object","additionalProperties":{"type":"string"}},"AgentRegisterRequestConnectProxyUpstreams":{"type":"object","properties":{"DestinationType":{"type":"string"},"DestinationName":{"type":"string"},"LocalBindPort":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["DestinationType","DestinationName","LocalBindPort"]},"AgentRegisterRequestConnectSidecarService":{"description":"Specifies an optional nested service definition to register. For more information see Sidecar Service Registration.","type":"object","additionalProperties":{}},"AgentRegisterRequestMeta":{"description":"Specifies arbitrary KV metadata linked to the service instance.","type":"object","additionalProperties":{"type":"string"}},"AgentRegisterRequestProxyConfig":{"type":"object","additionalProperties":{"type":"string"}},"AgentRegisterRequestProxyUpstreams":{"type":"object","properties":{"DestinationType":{"type":"string"},"DestinationName":{"type":"string"},"LocalBindPort":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["DestinationType","DestinationName","LocalBindPort"]},"AgentRegisterRequestTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"AgentRegisterRequestTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"AgentRegisterRequestWeights":{"description":" Specifies weights for the service. Please see the service documentation for more information about weights. If this field is not provided weights will default to {\"Passing\": 1, \"Warning\": 1}.\n\nIt is important to note that this applies only to the locally registered service. If you have multiple nodes all registering the same service their EnableTagOverride configuration and all other service configuration items are independent of one another. Updating the tags for the service registered on one node is independent of the same service (by name) registered on another node. If EnableTagOverride is not specified the default value is false. See anti-entropy syncs for more info.","type":"object","additionalProperties":{"type":"integer","format":"int64"}},"AgentService":{"description":"Specifies to register a service. If ID is not provided, it will be defaulted to the value of the Service.Service property. Only one service with a given ID may be present per node. The service Tags, Address, Meta, and Port fields are all optional. For more information about these fields and the implications of setting them, see the Service - Agent API page as registering services differs between using this or the Services Agent endpoint.","type":"object","properties":{"Port":{"type":"integer","format":"int64"},"ID":{"type":"string"},"Service":{"type":"string"},"TaggedAddresses":{"$ref":"#/definitions/TaggedAddresses"},"EnableTagOverride":{"type":"boolean"},"Weights":{"$ref":"#/definitions/CatalogRegisterRequestServiceWeights"},"Tags":{"type":"array","items":{"type":"string"}},"Meta":{"$ref":"#/definitions/CatalogRegisterRequestServiceMeta"},"Address":{"type":"string"}},"additionalProperties":false,"required":["Port","ID","Service","TaggedAddresses","Weights","Tags","Meta","Address"]},"AgentServiceConfiguration":{"type":"object","properties":{"Port":{"type":"integer","format":"int64"},"ID":{"type":"string"},"Service":{"type":"string"},"TaggedAddresses":{"$ref":"#/definitions/TaggedAddresses"},"EnableTagOverride":{"type":"boolean"},"Weights":{"$ref":"#/definitions/AgentServiceConfigurationWeights"},"Proxy":{"$ref":"#/definitions/Proxy","x-nullable":true},"Tags":{"type":"array","items":{"type":"string"},"x-nullable":true},"ContentHash":{"type":"string"},"Meta":{"$ref":"#/definitions/AgentServiceConfigurationMeta","x-nullable":true},"Kind":{"type":"string"}},"additionalProperties":false,"required":["Port","ID","Service","TaggedAddresses","EnableTagOverride","Weights","Tags","ContentHash","Meta","Kind"]},"AgentServiceConfigurationMeta":{"type":"object","additionalProperties":{"type":"string"}},"AgentServiceConfigurationProxyConfig":{"type":"object","additionalProperties":{"type":"string"}},"AgentServiceConfigurationProxyUpstreams":{"type":"object","properties":{"DestinationType":{"type":"string"},"DestinationName":{"type":"string"},"LocalBindPort":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["DestinationType","DestinationName","LocalBindPort"]},"AgentServiceConfigurationTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"AgentServiceConfigurationTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"AgentServiceConfigurationWeights":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"AgentServices":{"type":"object","additionalProperties":{"$ref":"#/definitions/AgentService"}},"AgentServicesHealth":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/definitions/AgentService"}}},"AgentServicesHealthJava.lang.string16414Meta":{"type":"object","additionalProperties":{"type":"string"}},"AgentServicesHealthJava.lang.string16414TaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"AgentServicesHealthJava.lang.string16414TaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"AgentServicesHealthJava.lang.string16414Weights":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"AgentServicesJava.lang.string16408Meta":{"type":"object","additionalProperties":{"type":"string"}},"AgentServicesJava.lang.string16408TaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"AgentServicesJava.lang.string16408TaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"AgentServicesJava.lang.string16408Weights":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"Body16380":{"type":"object","properties":{"Token":{"description":"Specifies the ACL token to set","type":"string","format":"uuid"}},"additionalProperties":false,"required":["Token"]},"Body16382":{"type":"object","properties":{"Status":{"description":"Specifies the status of the check.","type":"string","enum":["passing","warning","critical"]},"Output":{"description":"Specifies a human-readable message. This will be passed through to the check's Output field.","type":"string"}},"additionalProperties":false},"Body16393":{"type":"object","additionalProperties":{"type":"string"}},"CatalogDeregisterRequest":{"type":"object","properties":{"Node":{"description":"Specifies the ID of the node. If no other values are provided, this node, all its services, and all its checks are removed.","type":"string"},"Datacenter":{"description":"Specifies the datacenter, which defaults to the agent's datacenter if not provided.","type":"string"},"CheckID":{"description":"Specifies the ID of the check to remove.","type":"string"},"ServiceID":{"description":"Specifies the ID of the service to remove. The service and all associated checks will be removed.","type":"string"}},"additionalProperties":false,"required":["Node"]},"CatalogNode":{"description":"Specifies the node information to use for the operation. See the catalog endpoint for the fields in this object. Note the only the node can be specified here, not any services or checks - separate service or check operations must be used for those.","type":"object","properties":{"ID":{"type":"string","format":"uuid"},"Node":{"type":"string"},"Address":{"type":"string"},"Datacenter":{"type":"string"},"TaggedAddresses":{"$ref":"#/definitions/TaggedAddresses"},"Meta":{"$ref":"#/definitions/TransactionRequestNodeNodeMeta"}},"additionalProperties":false,"required":["ID","Node","Address","Datacenter"]},"CatalogRegisterRequest":{"type":"object","properties":{"ID":{"description":"An optional UUID to assign to the node.","type":"string","format":"uuid"},"Service":{"$ref":"#/definitions/AgentService"},"Datacenter":{"description":"Specifies the datacenter, which defaults to the agent's datacenter if not provided.","type":"string"},"TaggedAddresses":{"$ref":"#/definitions/TaggedAddresses"},"Check":{"$ref":"#/definitions/AgentCheck"},"Checks":{"description":"Specifies to register a check. The register API manipulates the health check entry in the Catalog, but it does not setup the script, TTL, or HTTP check to monitor the node's health. To truly enable a new health check, the check must either be provided in agent configuration or set via the agent endpoint.\n\n The CheckID can be omitted and will default to the value of Name. As with Service.ID, the CheckID must be unique on this node. Notes is an opaque field that is meant to hold human-readable text. If a ServiceID is provided that matches the ID of a service on that node, the check is treated as a service level health check, instead of a node level health check. The Status must be one of passing, warning, or critical.\n\n The Definition field can be provided with details for a TCP or HTTP health check. For more information, see the Health Checks page.","type":"array","items":{"$ref":"#/definitions/AgentCheck"}},"Address":{"description":"Specifies the address to register.","type":"string"},"SkipNodeUpdate":{"description":"Specifies whether to skip updating the node's information in the registration. This is useful in the case where only a health check or service entry on a node needs to be updated or when a register request is intended to update a service entry or health check. In both use cases, node information will not be overwritten, if the node is already registered. Note, if the parameter is enabled for a node that doesn't exist, it will still be created.","type":"boolean"},"Node":{"description":"Specifies the node ID to register.","type":"string"},"NodeMeta":{"$ref":"#/definitions/CatalogRegisterRequestNodeMeta"}},"additionalProperties":false,"required":["Address","Node"]},"CatalogRegisterRequestNodeMeta":{"description":"Specifies arbitrary KV metadata pairs for filtering purposes.","type":"object","additionalProperties":{"type":"string"}},"CatalogRegisterRequestServiceMeta":{"type":"object","additionalProperties":{"type":"string"}},"CatalogRegisterRequestServiceTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"CatalogRegisterRequestServiceTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"CatalogRegisterRequestServiceWeights":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"CatalogRegisterRequestTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"CatalogRegisterRequestTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"CatalogService":{"description":"Specifies the service instance information to use for the operation.","type":"object","properties":{"ID":{"type":"string"},"Service":{"type":"string"},"Tags":{"type":"array","items":{"type":"string"},"x-nullable":true},"TaggedAddresses":{"$ref":"#/definitions/TaggedAddresses"},"Meta":{"$ref":"#/definitions/TransactionRequestServiceServiceMeta"},"Port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["ID","Service","Port"]},"CatalogServiceNode":{"type":"object","properties":{"Datacenter":{"description":"is the data center of the Consul node on which the service is registered.","type":"string"},"TaggedAddresses":{"$ref":"#/definitions/TaggedAddresses"},"ServiceKind":{"description":"is the kind of service, usually \"\". See the Agent registration API for more information.","type":"string"},"ServiceMeta":{"$ref":"#/definitions/Response16422ServiceMeta"},"ServiceTaggedAddresses":{"$ref":"#/definitions/TaggedAddresses"},"ServiceEnableTagOverride":{"description":"indicates whether service tags can be overridden on this service","type":"boolean"},"ServiceTags":{"description":"is a list of tags for the service","type":"array","items":{"type":"string"}},"ModifyIndex":{"description":"is the last index that modified the service","type":"integer","format":"int64"},"Address":{"description":"is the IP address of the Consul node on which the service is registered.","type":"string"},"ServicePort":{"description":"is the port number of the service","type":"integer","format":"int64"},"ServiceProxy":{"$ref":"#/definitions/Proxy"},"ServiceID":{"description":"is a unique service instance identifier","type":"string"},"Node":{"description":"is the name of the Consul node on which the service is registered","type":"string"},"ServiceAddress":{"description":"is the IP address of the service host — if empty, node address should be used","type":"string"},"CreateIndex":{"description":"is an internal index value representing when the service was created","type":"integer","format":"int64"},"ServiceConnect":{"$ref":"#/definitions/Connect"},"NodeMeta":{"$ref":"#/definitions/Response16422NodeMeta"},"ServiceName":{"description":"is the name of the service","type":"string"}},"additionalProperties":false,"required":["Datacenter","ServiceKind","ServiceEnableTagOverride","ModifyIndex","Address","ServicePort","ServiceID","Node","CreateIndex","ServiceName"]},"CertificateAuthorityRoot":{"type":"object","properties":{"ID":{"type":"string"},"SigningKeyID":{"type":"string"},"SerialNumber":{"type":"integer","format":"int64"},"NotBefore":{"type":"string","format":"date-time"},"ModifyIndex":{"type":"integer","format":"int64"},"Active":{"type":"boolean"},"RootCerts":{"type":"string"},"NotAfter":{"type":"string","format":"date-time"},"Name":{"type":"string"},"IntermediateCerts":{"type":"array","items":{"type":"string"},"x-nullable":true},"CreateIndex":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["ID","SigningKeyID","SerialNumber","NotBefore","ModifyIndex","Active","RootCerts","NotAfter","Name","IntermediateCerts","CreateIndex"]},"CertificateAuthorityRoots":{"type":"object","properties":{"ActiveRootID":{"type":"string"},"Roots":{"type":"array","items":{"$ref":"#/definitions/CertificateAuthorityRoot"}}},"additionalProperties":false,"required":["ActiveRootID","Roots"]},"Connect":{"description":"Specifies the configuration for Connect. See the Connect Structure section below for supported fields.","type":"object","properties":{"Native":{"description":"Specifies whether this service supports the Connect protocol natively. If this is true, then Connect proxies, DNS queries, etc. will be able to service discover this service.","type":"boolean"},"Proxy":{"$ref":"#/definitions/Proxy"},"SidecarService":{"$ref":"#/definitions/AgentRegisterRequestConnectSidecarService"}},"additionalProperties":false},"ConnectAuthorizeRequest":{"type":"object","properties":{"Target":{"description":"The name of the service that is being requested.","type":"string"},"ClientCertURI":{"description":"The unique identifier for the requesting client. This is currently the URI SAN from the TLS client certificate.","type":"string"},"ClientCertSerial":{"description":"The colon-hex-encoded serial number for the requesting client cert. This is used to check against revocation lists.","type":"string"}},"additionalProperties":false,"required":["Target","ClientCertURI","ClientCertSerial"]},"ConnectAuthorizeResponse":{"type":"object","properties":{"Authorized":{"type":"boolean"},"Reason":{"type":"string"}},"additionalProperties":false,"required":["Authorized","Reason"]},"HealthService":{"type":"object","properties":{"Node":{"$ref":"#/definitions/CatalogNode"},"Service":{"$ref":"#/definitions/AgentService"},"Checks":{"type":"array","items":{"$ref":"#/definitions/NodeHealthCheck"}}},"additionalProperties":false,"required":["Node","Service","Checks"]},"NodeHealthCheck":{"type":"object","properties":{"ID":{"type":"string","format":"uuid"},"CheckID":{"type":"string"},"ServiceTags":{"type":"array","items":{"type":"string"}},"Output":{"type":"string"},"ServiceID":{"type":"string"},"Notes":{"type":"string"},"Node":{"type":"string"},"Status":{"type":"string"},"ServiceName":{"type":"string"}},"additionalProperties":false,"required":["ID","CheckID","ServiceTags","Output","ServiceID","Notes","Node","Status","ServiceName"]},"Proxy":{"description":"Deprecated Specifies that a managed Connect proxy should be started for this service instance, and optionally provides configuration for the proxy. The format is as documented in Managed Proxy Deprecation.","type":"object","properties":{"DestinationServiceName":{"type":"string"},"DestinationServiceID":{"type":"string"},"LocalServiceAddress":{"type":"string"},"LocalServicePort":{"type":"integer","format":"int64"},"Config":{"$ref":"#/definitions/AgentRegisterRequestConnectProxyConfig"},"Upstreams":{"type":"array","items":{"$ref":"#/definitions/AgentRegisterRequestConnectProxyUpstreams"}}},"additionalProperties":false,"required":["DestinationServiceName","DestinationServiceID","LocalServiceAddress","LocalServicePort","Config","Upstreams"]},"ReadKeyItemResponse":{"type":"object","properties":{"CreateIndex":{"description":"is the internal index value that represents when the entry was created.","type":"integer","format":"int64"},"ModifyIndex":{"description":"is the last index that modified this key. This index corresponds to the X-Consul-Index header value that is returned in responses, and it can be used to establish blocking queries by setting the ?index query parameter. You can even perform blocking queries against entire subtrees of the KV store: if ?recurse is provided, the returned X-Consul-Index corresponds to the latest ModifyIndex within the prefix, and a blocking query using that ?index will wait until any key within that prefix is updated.","type":"integer","format":"int64"},"LockIndex":{"description":"is the number of times this key has successfully been acquired in a lock. If the lock is held, the Session key provides the session that owns the lock.","type":"integer","format":"int64"},"Key":{"description":"is simply the full path of the entry.","type":"string"},"Flags":{"description":"is an opaque unsigned integer that can be attached to each entry. Clients can choose to use this however makes sense for their application.","type":"integer","format":"int64"},"Value":{"description":"is a base64-encoded blob of data.","type":"string"},"Session":{"type":"string"}},"additionalProperties":false,"required":["CreateIndex","ModifyIndex","LockIndex","Key","Flags","Value"]},"RegisterCheckRequest":{"type":"object","properties":{"ID":{"description":"Specifies a unique ID for this check on the node. This defaults to the \"Name\" parameter, but it may be necessary to provide an ID for uniqueness.","type":"string"},"Timeout":{"description":"Specifies a timeout for outgoing connections in the case of a Script, HTTP, TCP, or gRPC check. Can be specified in the form of \"10s\" or \"5m\" (i.e., 10 seconds or 5 minutes, respectively).","type":"string"},"Header":{"$ref":"#/definitions/RegisterCheckRequestHeader"},"AliasNode":{"description":"Specifies the ID of the node for an alias check. If no service is specified, the check will alias the health of the node. If a service is specified, the check will alias the specified service on this particular node.","type":"string"},"OutputMaxSize":{"description":"Allow to put a maximum size of text for the given check. This value must be greater than 0, by default, the value is 4k. The value can be further limited for all checks of a given agent using the check_output_max_size flag in the agent.","type":"integer","format":"int64"},"DockerContainerID":{"description":"Specifies that the check is a Docker check, and Consul will evaluate the script every Interval in the given container using the specified Shell. Note that Shell is currently only supported for Docker checks.","type":"string"},"GRPCUseTLS":{"description":"Specifies whether to use TLS for this gRPC health check. If TLS is enabled, then by default, a valid TLS certificate is expected. Certificate verification can be turned off by setting TLSSkipVerify to true.","type":"boolean"},"AliasService":{"description":"Specifies the ID of a service for an alias check. If the service is not registered with the same agent, AliasNode must also be specified. Note this is the service ID and not the service name (though they are very often the same).","type":"string"},"DeregisterCriticalServiceAfter":{"description":"Specifies that checks associated with a service should deregister after this time. This is specified as a time duration with suffix like \"10m\". If a check is in the critical state for more than this configured value, then its associated service (and all of its associated checks) will automatically be deregistered. The minimum timeout is 1 minute, and the process that reaps critical services runs every 30 seconds, so it may take slightly longer than the configured timeout to trigger the deregistration. This should generally be configured with a timeout that's much, much longer than any expected recoverable outage for the given service.","type":"string"},"Interval":{"description":"Specifies the frequency at which to run this check. This is required for HTTP and TCP checks.","type":"string"},"TTL":{"description":"Specifies this is a TTL check, and the TTL endpoint must be used periodically to update the state of the check.","type":"string"},"Args":{"description":"Specifies command arguments to run to update the status of the check. Prior to Consul 1.0, checks used a single Script field to define the command to run, and would always run in a shell. In Consul 1.0, the Args array was added so that checks can be run without a shell. The Script field is deprecated, and you should include the shell in the Args to run under a shell, eg. \"args\": [\"sh\", \"-c\", \"...\"].","type":"array","items":{"type":"string"}},"ServiceID":{"description":"Specifies the ID of a service to associate the registered check with an existing service provided by the agent.","type":"string"},"TLSSkipVerify":{"description":"Specifies if the certificate for an HTTPS check should not be verified.","type":"boolean"},"GRPC":{"description":"Specifies a gRPC check's endpoint that supports the standard gRPC health checking protocol. The state of the check will be updated at the given Interval by probing the configured endpoint.","type":"string"},"Notes":{"description":"Specifies arbitrary information for humans. This is not used by Consul internally.","type":"string"},"Name":{"description":"Specifies the name of the check","type":"string"},"Method":{"description":"Specifies a different HTTP method to be used for an HTTP check. When no value is specified, GET is used.","type":"string"},"HTTP":{"description":"Specifies an HTTP check to perform a GET request against the value of HTTP (expected to be a URL) every Interval. If the response is any 2xx code, the check is passing. If the response is 429 Too Many Requests, the check is warning. Otherwise, the check is critical. HTTP checks also support SSL. By default, a valid SSL certificate is expected. Certificate verification can be controlled using the TLSSkipVerify.","type":"string"},"TCP":{"description":"Specifies a TCP to connect against the value of TCP (expected to be an IP or hostname plus port combination) every Interval. If the connection attempt is successful, the check is passing. If the connection attempt is unsuccessful, the check is critical. In the case of a hostname that resolves to both IPv4 and IPv6 addresses, an attempt will be made to both addresses, and the first successful connection attempt will result in a successful check.","type":"string"},"Status":{"description":"Specifies the initial status of the health check.","type":"string"}},"additionalProperties":false,"required":["Name"]},"RegisterCheckRequestHeader":{"description":"pecifies a set of headers that should be set for HTTP checks. Each header can have multiple values.","type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"Response16399Tags":{"type":"object","additionalProperties":{"type":"string"}},"Response16418Meta":{"type":"object","additionalProperties":{"type":"string"}},"Response16418TaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16418TaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16420":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"Response16422NodeMeta":{"description":"is a list of user-defined metadata key/value pairs for the node","type":"object","additionalProperties":{"type":"string"}},"Response16422ServiceConnectProxyConfig":{"type":"object","additionalProperties":{"type":"string"}},"Response16422ServiceConnectProxyUpstreams":{"type":"object","properties":{"DestinationType":{"type":"string"},"DestinationName":{"type":"string"},"LocalBindPort":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["DestinationType","DestinationName","LocalBindPort"]},"Response16422ServiceConnectSidecarService":{"description":"Specifies an optional nested service definition to register. For more information see Sidecar Service Registration.","type":"object","additionalProperties":{}},"Response16422ServiceMeta":{"description":"is a list of user-defined metadata key/value pairs for the service","type":"object","additionalProperties":{"type":"string"}},"Response16422ServiceProxyConfig":{"type":"object","additionalProperties":{"type":"string"}},"Response16422ServiceProxyUpstreams":{"type":"object","properties":{"DestinationType":{"type":"string"},"DestinationName":{"type":"string"},"LocalBindPort":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["DestinationType","DestinationName","LocalBindPort"]},"Response16422ServiceTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16422ServiceTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16422TaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16422TaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16428NodeMeta":{"description":"is a list of user-defined metadata key/value pairs for the node","type":"object","additionalProperties":{"type":"string"}},"Response16428ServiceConnectProxyConfig":{"type":"object","additionalProperties":{"type":"string"}},"Response16428ServiceConnectProxyUpstreams":{"type":"object","properties":{"DestinationType":{"type":"string"},"DestinationName":{"type":"string"},"LocalBindPort":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["DestinationType","DestinationName","LocalBindPort"]},"Response16428ServiceConnectSidecarService":{"description":"Specifies an optional nested service definition to register. For more information see Sidecar Service Registration.","type":"object","additionalProperties":{}},"Response16428ServiceMeta":{"description":"is a list of user-defined metadata key/value pairs for the service","type":"object","additionalProperties":{"type":"string"}},"Response16428ServiceProxyConfig":{"type":"object","additionalProperties":{"type":"string"}},"Response16428ServiceProxyUpstreams":{"type":"object","properties":{"DestinationType":{"type":"string"},"DestinationName":{"type":"string"},"LocalBindPort":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["DestinationType","DestinationName","LocalBindPort"]},"Response16428ServiceTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16428ServiceTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16428TaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16428TaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16434":{"type":"object","properties":{"Node":{"$ref":"#/definitions/CatalogNode"},"Services":{"$ref":"#/definitions/Response16434Services"}},"additionalProperties":false,"required":["Node","Services"]},"Response16434NodeMeta":{"type":"object","additionalProperties":{"type":"string"}},"Response16434NodeTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16434NodeTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16434Services":{"type":"object","additionalProperties":{"$ref":"#/definitions/CatalogService"}},"Response16434ServicesJava.lang.string16436Meta":{"type":"object","additionalProperties":{"type":"string"}},"Response16434ServicesJava.lang.string16436TaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16434ServicesJava.lang.string16436TaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16438":{"type":"object","additionalProperties":{"type":"string"}},"Response16440":{"type":"object","additionalProperties":{"type":"string"}},"Response16444NodeMeta":{"type":"object","additionalProperties":{"type":"string"}},"Response16444NodeTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16444NodeTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16444ServiceMeta":{"type":"object","additionalProperties":{"type":"string"}},"Response16444ServiceTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16444ServiceTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16444ServiceWeights":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"Response16448NodeMeta":{"type":"object","additionalProperties":{"type":"string"}},"Response16448NodeTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16448NodeTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16448ServiceMeta":{"type":"object","additionalProperties":{"type":"string"}},"Response16448ServiceTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16448ServiceTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"Response16448ServiceWeights":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"Response16454":{"type":"object","properties":{"ID":{"description":"the ID of the created session","type":"string","format":"uuid"}},"additionalProperties":false,"required":["ID"]},"ServiceLeafCertificate":{"type":"object","properties":{"SerialNumber":{"description":"Monotonically increasing 64-bit serial number representing all certificates issued by this Consul cluster.","type":"string"},"CertPEM":{"description":"The PEM-encoded certificate.","type":"string"},"PrivateKeyPEM":{"description":"The PEM-encoded private key for this certificate.","type":"string"},"Service":{"description":"The name of the service that this certificate identifies.","type":"string"}},"additionalProperties":false,"required":["SerialNumber","CertPEM","PrivateKeyPEM","Service"]},"Session":{"type":"object","properties":{"LockDelay":{"description":"Specifies the duration for the lock delay. This must be greater than 0.","type":"string"},"Node":{"description":"Specifies the name of the node. This must refer to a node that is already registered.","type":"string"},"Name":{"description":"Specifies a human-readable name for the session.","type":"string"},"Checks":{"description":"specifies a list of associated health check IDs (commonly CheckID in API responses). It is highly recommended that, if you override this list, you include the default serfHealth.","type":"array","items":{"type":"string"}},"Behavior":{"description":"Controls the behavior to take when a session is invalidated.","type":"string","enum":["release","delete"]},"TTL":{"description":"Specifies the number of seconds (between 10s and 86400s). If provided, the session is invalidated if it is not renewed before the TTL expires. The lowest practical TTL should be used to keep the number of managed sessions low. When locks are forcibly expired, such as when following the leader election pattern in an application, sessions may not be reaped for up to double this TTL, so long TTL values (> 1 hour) should be avoided.","type":"string"}},"additionalProperties":false},"TaggedAddresses":{"description":"Specifies a map of explicit LAN and WAN addresses for the service instance. Both the address and port can be specified within the map values.","type":"object","properties":{"lan":{"$ref":"#/definitions/AgentRegisterRequestTaggedAddressesLan"},"wan":{"$ref":"#/definitions/AgentRegisterRequestTaggedAddressesWan"}},"additionalProperties":false},"TransactionRequest":{"type":"object","properties":{"KV":{"$ref":"#/definitions/TransactionRequestKv"}},"additionalProperties":false,"required":["KV"]},"TransactionRequestCheck":{"type":"object","properties":{"Verb":{"description":"Specifies the type of operation to perform.","type":"string","enum":["delete","delete-cas","cas","set","get"]},"Service":{"$ref":"#/definitions/CatalogService"}},"additionalProperties":false,"required":["Verb","Service"]},"TransactionRequestCheckServiceMeta":{"type":"object","additionalProperties":{"type":"string"}},"TransactionRequestCheckServiceTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"TransactionRequestCheckServiceTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"TransactionRequestKv":{"type":"object","properties":{"Verb":{"description":"Specifies the type of operation to perform.","type":"string","enum":["check-index","check-session","delete","unlock","delete-cas","cas","check-not-exists","get-tree","lock","set","delete-tree","get"]},"Key":{"description":"Specifies the full path of the entry.","type":"string"},"Value":{"description":"Specifies a base64-encoded blob of data. Values cannot be larger than 512kB.","type":"string"},"Flags":{"description":"Specifies an opaque unsigned integer that can be attached to each entry. Clients can choose to use this however makes sense for their application.","type":"integer","format":"int64"},"Index":{"description":"Specifies an index.","type":"integer","format":"int64"},"Session":{"description":"Specifies a session.","type":"string"}},"additionalProperties":false,"required":["Verb","Key"]},"TransactionRequestNode":{"type":"object","properties":{"Verb":{"description":"Specifies the type of operation to perform.","type":"string","enum":["delete","delete-cas","cas","set","get"]},"Node":{"$ref":"#/definitions/CatalogNode"}},"additionalProperties":false,"required":["Verb","Node"]},"TransactionRequestNodeNodeMeta":{"type":"object","additionalProperties":{"type":"string"}},"TransactionRequestNodeNodeTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"TransactionRequestNodeNodeTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"TransactionRequestService":{"type":"object","properties":{"Verb":{"description":"Specifies the type of operation to perform.","type":"string","enum":["delete","delete-cas","cas","set","get"]},"Node":{"description":"Specifies the name of the node to use for this service operation.","type":"string"},"Service":{"$ref":"#/definitions/CatalogService"}},"additionalProperties":false,"required":["Verb","Node","Service"]},"TransactionRequestServiceServiceMeta":{"type":"object","additionalProperties":{"type":"string"}},"TransactionRequestServiceServiceTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"TransactionRequestServiceServiceTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"TransactionResponse":{"type":"object","properties":{"Results":{"type":"array","items":{"x-oneOf":[{"$ref":"#/definitions/TransactionResponseResults"},{"$ref":"#/definitions/TransactionResponseResults"},{"$ref":"#/definitions/TransactionResponseResults"}]}},"Errors":{"type":"array","items":{"$ref":"#/definitions/TransactionResponseErrors"}}},"additionalProperties":false},"TransactionResponseErrors":{"type":"object","properties":{"OpIndex":{"type":"integer","format":"int64"},"What":{"type":"string"}},"additionalProperties":false,"required":["OpIndex","What"]},"TransactionResponseResults":{"type":"object","properties":{"KV":{"$ref":"#/definitions/ReadKeyItemResponse"}},"additionalProperties":false,"required":["KV"]},"TransactionResponseResultsCheck":{"type":"object","properties":{"CheckID":{"type":"string"},"ServiceTags":{"type":"array","items":{"type":"string"},"x-nullable":true},"ModifyIndex":{"type":"integer","format":"int64"},"Definition":{"$ref":"#/definitions/TransactionResponseResultsCheckDefinition"},"Output":{"type":"string"},"ServiceID":{"type":"string"},"Notes":{"type":"string"},"Name":{"type":"string"},"Node":{"type":"string"},"CreateIndex":{"type":"integer","format":"int64"},"Status":{"type":"string"},"ServiceName":{"type":"string"}},"additionalProperties":false,"required":["CheckID","ServiceTags","ModifyIndex","Definition","Output","ServiceID","Notes","Name","Node","CreateIndex","Status","ServiceName"]},"TransactionResponseResultsCheckDefinition":{"type":"object","additionalProperties":{}},"TransactionResponseResultsNodeMeta":{"type":"object","additionalProperties":{"type":"string"}},"TransactionResponseResultsNodeTaggedAddressesLan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]},"TransactionResponseResultsNodeTaggedAddressesWan":{"type":"object","properties":{"address":{"type":"string"},"port":{"type":"integer","format":"int64"}},"additionalProperties":false,"required":["address"]}}}