# Code generated for API Clients. DO NOT EDIT. openapi: 3.0.0 info: title: ngrok OpenAPI version: 1.0.0 servers: - url: https://api.ngrok.com security: - authentication: [] paths: /abuse_reports: post: summary: Create description: > Creates a new abuse report which will be reviewed by our system and abuse response team. This API is only available to authorized accounts. Contact abuse@ngrok.com to request access tags: - AbuseReports operationId: AbuseReportsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/AbuseReportCreate" responses: 201: description: > Creates a new abuse report which will be reviewed by our system and abuse response team. This API is only available to authorized accounts. Contact abuse@ngrok.com to request access content: application/json: schema: $ref: "#/components/schemas/AbuseReport" /abuse_reports/{id}: get: summary: Get description: > Get the detailed status of abuse report by ID. tags: - AbuseReports operationId: AbuseReportsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the detailed status of abuse report by ID. content: application/json: schema: $ref: "#/components/schemas/AbuseReport" /agent_ingresses: post: summary: Create description: > Create a new Agent Ingress. The ngrok agent can be configured to connect to ngrok via the new set of addresses on the returned Agent Ingress. tags: - AgentIngresses operationId: AgentIngressesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/AgentIngressCreate" responses: 201: description: > Create a new Agent Ingress. The ngrok agent can be configured to connect to ngrok via the new set of addresses on the returned Agent Ingress. content: application/json: schema: $ref: "#/components/schemas/AgentIngress" get: summary: List description: > List all Agent Ingresses owned by this account tags: - AgentIngresses operationId: AgentIngressesList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all Agent Ingresses owned by this account content: application/json: schema: $ref: "#/components/schemas/AgentIngressList" /agent_ingresses/{id}: delete: summary: Delete description: > Delete an Agent Ingress by ID tags: - AgentIngresses operationId: AgentIngressesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an Agent Ingress by ID get: summary: Get description: > Get the details of an Agent Ingress by ID. tags: - AgentIngresses operationId: AgentIngressesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the details of an Agent Ingress by ID. content: application/json: schema: $ref: "#/components/schemas/AgentIngress" patch: summary: Update description: > Update attributes of an Agent Ingress by ID. tags: - AgentIngresses operationId: AgentIngressesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/AgentIngressUpdate" responses: 200: description: > Update attributes of an Agent Ingress by ID. content: application/json: schema: $ref: "#/components/schemas/AgentIngress" /api_keys: post: summary: Create description: > Create a new API key. The generated API key can be used to authenticate to the ngrok API. tags: - APIKeys operationId: ApiKeysCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/APIKeyCreate" responses: 201: description: > Create a new API key. The generated API key can be used to authenticate to the ngrok API. content: application/json: schema: $ref: "#/components/schemas/APIKey" get: summary: List description: > List all API keys owned by this account tags: - APIKeys operationId: ApiKeysList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all API keys owned by this account content: application/json: schema: $ref: "#/components/schemas/APIKeyList" /api_keys/{id}: delete: summary: Delete description: > Delete an API key by ID tags: - APIKeys operationId: ApiKeysDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an API key by ID get: summary: Get description: > Get the details of an API key by ID. tags: - APIKeys operationId: ApiKeysGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the details of an API key by ID. content: application/json: schema: $ref: "#/components/schemas/APIKey" patch: summary: Update description: > Update attributes of an API key by ID. tags: - APIKeys operationId: ApiKeysUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/APIKeyUpdate" responses: 200: description: > Update attributes of an API key by ID. content: application/json: schema: $ref: "#/components/schemas/APIKey" /app/sessions: get: summary: List description: > List all application sessions for this account. tags: - ApplicationSessions operationId: ApplicationSessionsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all application sessions for this account. content: application/json: schema: $ref: "#/components/schemas/ApplicationSessionList" /app/sessions/{id}: get: summary: Get description: > Get an application session by ID. tags: - ApplicationSessions operationId: ApplicationSessionsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get an application session by ID. content: application/json: schema: $ref: "#/components/schemas/ApplicationSession" delete: summary: Delete description: > Delete an application session by ID. tags: - ApplicationSessions operationId: ApplicationSessionsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an application session by ID. /app/users: get: summary: List description: > List all application users for this account. tags: - ApplicationUsers operationId: ApplicationUsersList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all application users for this account. content: application/json: schema: $ref: "#/components/schemas/ApplicationUserList" /app/users/{id}: get: summary: Get description: > Get an application user by ID. tags: - ApplicationUsers operationId: ApplicationUsersGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get an application user by ID. content: application/json: schema: $ref: "#/components/schemas/ApplicationUser" delete: summary: Delete description: > Delete an application user by ID. tags: - ApplicationUsers operationId: ApplicationUsersDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an application user by ID. /tunnel_sessions: get: summary: List description: > List all online tunnel sessions running on this account. tags: - TunnelSessions operationId: TunnelSessionsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all online tunnel sessions running on this account. content: application/json: schema: $ref: "#/components/schemas/TunnelSessionList" /tunnel_sessions/{id}: get: summary: Get description: > Get the detailed status of a tunnel session by ID tags: - TunnelSessions operationId: TunnelSessionsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the detailed status of a tunnel session by ID content: application/json: schema: $ref: "#/components/schemas/TunnelSession" /tunnel_sessions/{id}/restart: post: summary: Restart description: > Issues a command instructing the ngrok agent to restart. The agent restarts itself by calling exec() on platforms that support it. This operation is notably not supported on Windows. When an agent restarts, it reconnects with a new tunnel session ID. tags: - TunnelSessions operationId: TunnelSessionsRestart parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/Item" responses: 204: description: > Issues a command instructing the ngrok agent to restart. The agent restarts itself by calling exec() on platforms that support it. This operation is notably not supported on Windows. When an agent restarts, it reconnects with a new tunnel session ID. /tunnel_sessions/{id}/stop: post: summary: Stop description: > Issues a command instructing the ngrok agent that started this tunnel session to exit. tags: - TunnelSessions operationId: TunnelSessionsStop parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/Item" responses: 204: description: > Issues a command instructing the ngrok agent that started this tunnel session to exit. /tunnel_sessions/{id}/update: post: summary: Update description: > Issues a command instructing the ngrok agent to update itself to the latest version. After this call completes successfully, the ngrok agent will be in the update process. A caller should wait some amount of time to allow the update to complete (at least 10 seconds) before making a call to the Restart endpoint to request that the agent restart itself to start using the new code. This call will never update an ngrok agent to a new major version which could cause breaking compatibility issues. If you wish to update to a new major version, that must be done manually. Still, please be aware that updating your ngrok agent could break your integration. This call will fail in any of the following circumstances: there is no update available the ngrok agent's configuration disabled update checks the agent is currently in process of updating the agent has already successfully updated but has not yet been restarted tags: - TunnelSessions operationId: TunnelSessionsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/TunnelSessionsUpdate" responses: 204: description: > Issues a command instructing the ngrok agent to update itself to the latest version. After this call completes successfully, the ngrok agent will be in the update process. A caller should wait some amount of time to allow the update to complete (at least 10 seconds) before making a call to the Restart endpoint to request that the agent restart itself to start using the new code. This call will never update an ngrok agent to a new major version which could cause breaking compatibility issues. If you wish to update to a new major version, that must be done manually. Still, please be aware that updating your ngrok agent could break your integration. This call will fail in any of the following circumstances: there is no update available the ngrok agent's configuration disabled update checks the agent is currently in process of updating the agent has already successfully updated but has not yet been restarted /backends/failover: post: summary: Create description: > Create a new Failover backend tags: - FailoverBackends operationId: FailoverBackendsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/FailoverBackendCreate" responses: 201: description: > Create a new Failover backend content: application/json: schema: $ref: "#/components/schemas/FailoverBackend" get: summary: List description: > List all Failover backends on this account tags: - FailoverBackends operationId: FailoverBackendsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all Failover backends on this account content: application/json: schema: $ref: "#/components/schemas/FailoverBackendList" /backends/failover/{id}: delete: summary: Delete description: > Delete a Failover backend by ID. tags: - FailoverBackends operationId: FailoverBackendsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a Failover backend by ID. get: summary: Get description: > Get detailed information about a Failover backend by ID tags: - FailoverBackends operationId: FailoverBackendsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about a Failover backend by ID content: application/json: schema: $ref: "#/components/schemas/FailoverBackend" patch: summary: Update description: > Update Failover backend by ID tags: - FailoverBackends operationId: FailoverBackendsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/FailoverBackendUpdate" responses: 200: description: > Update Failover backend by ID content: application/json: schema: $ref: "#/components/schemas/FailoverBackend" /backends/http_response: post: summary: Create tags: - HTTPResponseBackends operationId: HttpResponseBackendsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/HTTPResponseBackendCreate" responses: 201: description: n/a content: application/json: schema: $ref: "#/components/schemas/HTTPResponseBackend" get: summary: List tags: - HTTPResponseBackends operationId: HttpResponseBackendsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/HTTPResponseBackendList" /backends/http_response/{id}: delete: summary: Delete tags: - HTTPResponseBackends operationId: HttpResponseBackendsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a get: summary: Get tags: - HTTPResponseBackends operationId: HttpResponseBackendsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/HTTPResponseBackend" patch: summary: Update tags: - HTTPResponseBackends operationId: HttpResponseBackendsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/HTTPResponseBackendUpdate" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/HTTPResponseBackend" /backends/static: post: summary: Create description: > Create a new static backend tags: - StaticBackends operationId: StaticBackendsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/StaticBackendCreate" responses: 201: description: > Create a new static backend content: application/json: schema: $ref: "#/components/schemas/StaticBackend" get: summary: List description: > List all static backends on this account tags: - StaticBackends operationId: StaticBackendsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all static backends on this account content: application/json: schema: $ref: "#/components/schemas/StaticBackendList" /backends/static/{id}: delete: summary: Delete description: > Delete a static backend by ID. tags: - StaticBackends operationId: StaticBackendsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a static backend by ID. get: summary: Get description: > Get detailed information about a static backend by ID tags: - StaticBackends operationId: StaticBackendsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about a static backend by ID content: application/json: schema: $ref: "#/components/schemas/StaticBackend" patch: summary: Update description: > Update static backend by ID tags: - StaticBackends operationId: StaticBackendsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/StaticBackendUpdate" responses: 200: description: > Update static backend by ID content: application/json: schema: $ref: "#/components/schemas/StaticBackend" /backends/tunnel_group: post: summary: Create description: > Create a new TunnelGroup backend tags: - TunnelGroupBackends operationId: TunnelGroupBackendsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/TunnelGroupBackendCreate" responses: 201: description: > Create a new TunnelGroup backend content: application/json: schema: $ref: "#/components/schemas/TunnelGroupBackend" get: summary: List description: > List all TunnelGroup backends on this account tags: - TunnelGroupBackends operationId: TunnelGroupBackendsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all TunnelGroup backends on this account content: application/json: schema: $ref: "#/components/schemas/TunnelGroupBackendList" /backends/tunnel_group/{id}: delete: summary: Delete description: > Delete a TunnelGroup backend by ID. tags: - TunnelGroupBackends operationId: TunnelGroupBackendsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a TunnelGroup backend by ID. get: summary: Get description: > Get detailed information about a TunnelGroup backend by ID tags: - TunnelGroupBackends operationId: TunnelGroupBackendsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about a TunnelGroup backend by ID content: application/json: schema: $ref: "#/components/schemas/TunnelGroupBackend" patch: summary: Update description: > Update TunnelGroup backend by ID tags: - TunnelGroupBackends operationId: TunnelGroupBackendsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/TunnelGroupBackendUpdate" responses: 200: description: > Update TunnelGroup backend by ID content: application/json: schema: $ref: "#/components/schemas/TunnelGroupBackend" /backends/weighted: post: summary: Create description: > Create a new Weighted backend tags: - WeightedBackends operationId: WeightedBackendsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/WeightedBackendCreate" responses: 201: description: > Create a new Weighted backend content: application/json: schema: $ref: "#/components/schemas/WeightedBackend" get: summary: List description: > List all Weighted backends on this account tags: - WeightedBackends operationId: WeightedBackendsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all Weighted backends on this account content: application/json: schema: $ref: "#/components/schemas/WeightedBackendList" /backends/weighted/{id}: delete: summary: Delete description: > Delete a Weighted backend by ID. tags: - WeightedBackends operationId: WeightedBackendsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a Weighted backend by ID. get: summary: Get description: > Get detailed information about a Weighted backend by ID tags: - WeightedBackends operationId: WeightedBackendsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about a Weighted backend by ID content: application/json: schema: $ref: "#/components/schemas/WeightedBackend" patch: summary: Update description: > Update Weighted backend by ID tags: - WeightedBackends operationId: WeightedBackendsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/WeightedBackendUpdate" responses: 200: description: > Update Weighted backend by ID content: application/json: schema: $ref: "#/components/schemas/WeightedBackend" /bot_users: post: summary: Create description: > Create a new bot user tags: - BotUsers operationId: BotUsersCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/BotUserCreate" responses: 201: description: > Create a new bot user content: application/json: schema: $ref: "#/components/schemas/BotUser" get: summary: List description: > List all bot users in this account. tags: - BotUsers operationId: BotUsersList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all bot users in this account. content: application/json: schema: $ref: "#/components/schemas/BotUserList" /bot_users/{id}: delete: summary: Delete description: > Delete a bot user by ID tags: - BotUsers operationId: BotUsersDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a bot user by ID get: summary: Get description: > Get the details of a Bot User by ID. tags: - BotUsers operationId: BotUsersGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the details of a Bot User by ID. content: application/json: schema: $ref: "#/components/schemas/BotUser" patch: summary: Update description: > Update attributes of a bot user by ID. tags: - BotUsers operationId: BotUsersUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/BotUserUpdate" responses: 200: description: > Update attributes of a bot user by ID. content: application/json: schema: $ref: "#/components/schemas/BotUser" /certificate_authorities: post: summary: Create description: > Upload a new Certificate Authority tags: - CertificateAuthorities operationId: CertificateAuthoritiesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/CertificateAuthorityCreate" responses: 201: description: > Upload a new Certificate Authority content: application/json: schema: $ref: "#/components/schemas/CertificateAuthority" get: summary: List description: > List all Certificate Authority on this account tags: - CertificateAuthorities operationId: CertificateAuthoritiesList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all Certificate Authority on this account content: application/json: schema: $ref: "#/components/schemas/CertificateAuthorityList" /certificate_authorities/{id}: delete: summary: Delete description: > Delete a Certificate Authority tags: - CertificateAuthorities operationId: CertificateAuthoritiesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a Certificate Authority get: summary: Get description: > Get detailed information about a certificate authority tags: - CertificateAuthorities operationId: CertificateAuthoritiesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about a certificate authority content: application/json: schema: $ref: "#/components/schemas/CertificateAuthority" patch: summary: Update description: > Update attributes of a Certificate Authority by ID tags: - CertificateAuthorities operationId: CertificateAuthoritiesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/CertificateAuthorityUpdate" responses: 200: description: > Update attributes of a Certificate Authority by ID content: application/json: schema: $ref: "#/components/schemas/CertificateAuthority" /credentials: post: summary: Create description: > Create a new tunnel authtoken credential. This authtoken credential can be used to start a new tunnel session. The response to this API call is the only time the generated token is available. If you need it for future use, you must save it securely yourself. tags: - Credentials operationId: CredentialsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/CredentialCreate" responses: 201: description: > Create a new tunnel authtoken credential. This authtoken credential can be used to start a new tunnel session. The response to this API call is the only time the generated token is available. If you need it for future use, you must save it securely yourself. content: application/json: schema: $ref: "#/components/schemas/Credential" get: summary: List description: > List all tunnel authtoken credentials on this account tags: - Credentials operationId: CredentialsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all tunnel authtoken credentials on this account content: application/json: schema: $ref: "#/components/schemas/CredentialList" /credentials/{id}: delete: summary: Delete description: > Delete a tunnel authtoken credential by ID tags: - Credentials operationId: CredentialsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a tunnel authtoken credential by ID get: summary: Get description: > Get detailed information about a tunnel authtoken credential tags: - Credentials operationId: CredentialsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about a tunnel authtoken credential content: application/json: schema: $ref: "#/components/schemas/Credential" patch: summary: Update description: > Update attributes of an tunnel authtoken credential by ID tags: - Credentials operationId: CredentialsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/CredentialUpdate" responses: 200: description: > Update attributes of an tunnel authtoken credential by ID content: application/json: schema: $ref: "#/components/schemas/Credential" /edges/https/{edge_id}/routes: post: summary: Create description: > Create an HTTPS Edge Route tags: - EdgesHTTPSRoutes operationId: EdgesHttpsRoutesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/HTTPSEdgeRouteCreate" responses: 201: description: > Create an HTTPS Edge Route content: application/json: schema: $ref: "#/components/schemas/HTTPSEdgeRoute" /edges/https/{edge_id}/routes/{id}: get: summary: Get description: > Get an HTTPS Edge Route by ID tags: - EdgesHTTPSRoutes operationId: EdgesHttpsRoutesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: > Get an HTTPS Edge Route by ID content: application/json: schema: $ref: "#/components/schemas/HTTPSEdgeRoute" patch: summary: Update description: > Updates an HTTPS Edge Route by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. tags: - EdgesHTTPSRoutes operationId: EdgesHttpsRoutesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/HTTPSEdgeRouteUpdate" responses: 200: description: > Updates an HTTPS Edge Route by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. content: application/json: schema: $ref: "#/components/schemas/HTTPSEdgeRoute" delete: summary: Delete description: > Delete an HTTPS Edge Route by ID tags: - EdgesHTTPSRoutes operationId: EdgesHttpsRoutesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: > Delete an HTTPS Edge Route by ID /edges/https: post: summary: Create description: > Create an HTTPS Edge tags: - EdgesHTTPS operationId: EdgesHttpsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/HTTPSEdgeCreate" responses: 201: description: > Create an HTTPS Edge content: application/json: schema: $ref: "#/components/schemas/HTTPSEdge" get: summary: List description: > Returns a list of all HTTPS Edges on this account tags: - EdgesHTTPS operationId: EdgesHttpsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > Returns a list of all HTTPS Edges on this account content: application/json: schema: $ref: "#/components/schemas/HTTPSEdgeList" /edges/https/{id}: get: summary: Get description: > Get an HTTPS Edge by ID tags: - EdgesHTTPS operationId: EdgesHttpsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get an HTTPS Edge by ID content: application/json: schema: $ref: "#/components/schemas/HTTPSEdge" patch: summary: Update description: > Updates an HTTPS Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. tags: - EdgesHTTPS operationId: EdgesHttpsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > unique identifier of this edge in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/HTTPSEdgeUpdate" responses: 200: description: > Updates an HTTPS Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. content: application/json: schema: $ref: "#/components/schemas/HTTPSEdge" delete: summary: Delete description: > Delete an HTTPS Edge by ID tags: - EdgesHTTPS operationId: EdgesHttpsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an HTTPS Edge by ID /edges/https/{id}/mutual_tls: put: summary: Replace tags: - HTTPSEdgeMutualTLSModule operationId: HttpsEdgeMutualTlsModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeMutualTLSReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointMutualTLS" get: summary: Get tags: - HTTPSEdgeMutualTLSModule operationId: HttpsEdgeMutualTlsModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointMutualTLS" delete: summary: Delete tags: - HTTPSEdgeMutualTLSModule operationId: HttpsEdgeMutualTlsModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{id}/tls_termination: put: summary: Replace tags: - HTTPSEdgeTLSTerminationModule operationId: HttpsEdgeTlsTerminationModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeTLSTerminationAtEdgeReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTLSTermination" get: summary: Get tags: - HTTPSEdgeTLSTerminationModule operationId: HttpsEdgeTlsTerminationModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTLSTermination" delete: summary: Delete tags: - HTTPSEdgeTLSTerminationModule operationId: HttpsEdgeTlsTerminationModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/backend: put: summary: Replace tags: - EdgeRouteBackendModule operationId: EdgeRouteBackendModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteBackendReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointBackend" get: summary: Get tags: - EdgeRouteBackendModule operationId: EdgeRouteBackendModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointBackend" delete: summary: Delete tags: - EdgeRouteBackendModule operationId: EdgeRouteBackendModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/ip_restriction: put: summary: Replace tags: - EdgeRouteIPRestrictionModule operationId: EdgeRouteIpRestrictionModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteIPRestrictionReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointIPPolicy" get: summary: Get tags: - EdgeRouteIPRestrictionModule operationId: EdgeRouteIpRestrictionModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointIPPolicy" delete: summary: Delete tags: - EdgeRouteIPRestrictionModule operationId: EdgeRouteIpRestrictionModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/request_headers: put: summary: Replace tags: - EdgeRouteRequestHeadersModule operationId: EdgeRouteRequestHeadersModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteRequestHeadersReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointRequestHeaders" get: summary: Get tags: - EdgeRouteRequestHeadersModule operationId: EdgeRouteRequestHeadersModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointRequestHeaders" delete: summary: Delete tags: - EdgeRouteRequestHeadersModule operationId: EdgeRouteRequestHeadersModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/response_headers: put: summary: Replace tags: - EdgeRouteResponseHeadersModule operationId: EdgeRouteResponseHeadersModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteResponseHeadersReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointResponseHeaders" get: summary: Get tags: - EdgeRouteResponseHeadersModule operationId: EdgeRouteResponseHeadersModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointResponseHeaders" delete: summary: Delete tags: - EdgeRouteResponseHeadersModule operationId: EdgeRouteResponseHeadersModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/compression: put: summary: Replace tags: - EdgeRouteCompressionModule operationId: EdgeRouteCompressionModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteCompressionReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointCompression" get: summary: Get tags: - EdgeRouteCompressionModule operationId: EdgeRouteCompressionModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointCompression" delete: summary: Delete tags: - EdgeRouteCompressionModule operationId: EdgeRouteCompressionModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/circuit_breaker: put: summary: Replace tags: - EdgeRouteCircuitBreakerModule operationId: EdgeRouteCircuitBreakerModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteCircuitBreakerReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointCircuitBreaker" get: summary: Get tags: - EdgeRouteCircuitBreakerModule operationId: EdgeRouteCircuitBreakerModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointCircuitBreaker" delete: summary: Delete tags: - EdgeRouteCircuitBreakerModule operationId: EdgeRouteCircuitBreakerModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/webhook_verification: put: summary: Replace tags: - EdgeRouteWebhookVerificationModule operationId: EdgeRouteWebhookVerificationModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteWebhookVerificationReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointWebhookValidation" get: summary: Get tags: - EdgeRouteWebhookVerificationModule operationId: EdgeRouteWebhookVerificationModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointWebhookValidation" delete: summary: Delete tags: - EdgeRouteWebhookVerificationModule operationId: EdgeRouteWebhookVerificationModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/oauth: put: summary: Replace tags: - EdgeRouteOAuthModule operationId: EdgeRouteOAuthModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteOAuthReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointOAuth" get: summary: Get tags: - EdgeRouteOAuthModule operationId: EdgeRouteOAuthModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointOAuth" delete: summary: Delete tags: - EdgeRouteOAuthModule operationId: EdgeRouteOAuthModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/saml: put: summary: Replace tags: - EdgeRouteSAMLModule operationId: EdgeRouteSamlModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteSAMLReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointSAML" get: summary: Get tags: - EdgeRouteSAMLModule operationId: EdgeRouteSamlModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointSAML" delete: summary: Delete tags: - EdgeRouteSAMLModule operationId: EdgeRouteSamlModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/oidc: put: summary: Replace tags: - EdgeRouteOIDCModule operationId: EdgeRouteOidcModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteOIDCReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointOIDC" get: summary: Get tags: - EdgeRouteOIDCModule operationId: EdgeRouteOidcModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointOIDC" delete: summary: Delete tags: - EdgeRouteOIDCModule operationId: EdgeRouteOidcModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter: put: summary: Replace tags: - EdgeRouteWebsocketTCPConverterModule operationId: EdgeRouteWebsocketTcpConverterModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteWebsocketTCPConverterReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointWebsocketTCPConverter" get: summary: Get tags: - EdgeRouteWebsocketTCPConverterModule operationId: EdgeRouteWebsocketTcpConverterModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointWebsocketTCPConverter" delete: summary: Delete tags: - EdgeRouteWebsocketTCPConverterModule operationId: EdgeRouteWebsocketTcpConverterModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/user_agent_filter: put: summary: Replace tags: - EdgeRouteUserAgentFilterModule operationId: EdgeRouteUserAgentFilterModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteUserAgentFilterReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointUserAgentFilter" get: summary: Get tags: - EdgeRouteUserAgentFilterModule operationId: EdgeRouteUserAgentFilterModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointUserAgentFilter" delete: summary: Delete tags: - EdgeRouteUserAgentFilterModule operationId: EdgeRouteUserAgentFilterModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/https/{edge_id}/routes/{id}/traffic_policy: put: summary: Replace tags: - EdgeRouteTrafficPolicyModule operationId: EdgeRouteTrafficPolicyModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeRouteTrafficPolicyReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTrafficPolicy" get: summary: Get tags: - EdgeRouteTrafficPolicyModule operationId: EdgeRouteTrafficPolicyModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTrafficPolicy" delete: summary: Delete tags: - EdgeRouteTrafficPolicyModule operationId: EdgeRouteTrafficPolicyModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: edge_id description: > unique identifier of this edge in: path required: true schema: type: string - name: id description: > unique identifier of this edge route in: path required: true schema: type: string responses: 204: description: n/a /edges/tcp: post: summary: Create description: > Create a TCP Edge tags: - EdgesTCP operationId: EdgesTcpCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/TCPEdgeCreate" responses: 201: description: > Create a TCP Edge content: application/json: schema: $ref: "#/components/schemas/TCPEdge" get: summary: List description: > Returns a list of all TCP Edges on this account tags: - EdgesTCP operationId: EdgesTcpList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > Returns a list of all TCP Edges on this account content: application/json: schema: $ref: "#/components/schemas/TCPEdgeList" /edges/tcp/{id}: get: summary: Get description: > Get a TCP Edge by ID tags: - EdgesTCP operationId: EdgesTcpGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get a TCP Edge by ID content: application/json: schema: $ref: "#/components/schemas/TCPEdge" patch: summary: Update description: > Updates a TCP Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. tags: - EdgesTCP operationId: EdgesTcpUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > unique identifier of this edge in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/TCPEdgeUpdate" responses: 200: description: > Updates a TCP Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. content: application/json: schema: $ref: "#/components/schemas/TCPEdge" delete: summary: Delete description: > Delete a TCP Edge by ID tags: - EdgesTCP operationId: EdgesTcpDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a TCP Edge by ID /edges/tcp/{id}/backend: put: summary: Replace tags: - TCPEdgeBackendModule operationId: TcpEdgeBackendModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeBackendReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointBackend" get: summary: Get tags: - TCPEdgeBackendModule operationId: TcpEdgeBackendModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointBackend" delete: summary: Delete tags: - TCPEdgeBackendModule operationId: TcpEdgeBackendModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /edges/tcp/{id}/ip_restriction: put: summary: Replace tags: - TCPEdgeIPRestrictionModule operationId: TcpEdgeIpRestrictionModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeIPRestrictionReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointIPPolicy" get: summary: Get tags: - TCPEdgeIPRestrictionModule operationId: TcpEdgeIpRestrictionModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointIPPolicy" delete: summary: Delete tags: - TCPEdgeIPRestrictionModule operationId: TcpEdgeIpRestrictionModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /edges/tcp/{id}/traffic_policy: put: summary: Replace tags: - TCPEdgeTrafficPolicyModule operationId: TcpEdgeTrafficPolicyModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeTrafficPolicyReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTrafficPolicy" get: summary: Get tags: - TCPEdgeTrafficPolicyModule operationId: TcpEdgeTrafficPolicyModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTrafficPolicy" delete: summary: Delete tags: - TCPEdgeTrafficPolicyModule operationId: TcpEdgeTrafficPolicyModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /edges/tls: post: summary: Create description: > Create a TLS Edge tags: - EdgesTLS operationId: EdgesTlsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/TLSEdgeCreate" responses: 201: description: > Create a TLS Edge content: application/json: schema: $ref: "#/components/schemas/TLSEdge" get: summary: List description: > Returns a list of all TLS Edges on this account tags: - EdgesTLS operationId: EdgesTlsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > Returns a list of all TLS Edges on this account content: application/json: schema: $ref: "#/components/schemas/TLSEdgeList" /edges/tls/{id}: get: summary: Get description: > Get a TLS Edge by ID tags: - EdgesTLS operationId: EdgesTlsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get a TLS Edge by ID content: application/json: schema: $ref: "#/components/schemas/TLSEdge" patch: summary: Update description: > Updates a TLS Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. tags: - EdgesTLS operationId: EdgesTlsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > unique identifier of this edge in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/TLSEdgeUpdate" responses: 200: description: > Updates a TLS Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API. content: application/json: schema: $ref: "#/components/schemas/TLSEdge" delete: summary: Delete description: > Delete a TLS Edge by ID tags: - EdgesTLS operationId: EdgesTlsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a TLS Edge by ID /edges/tls/{id}/backend: put: summary: Replace tags: - TLSEdgeBackendModule operationId: TlsEdgeBackendModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeBackendReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointBackend" get: summary: Get tags: - TLSEdgeBackendModule operationId: TlsEdgeBackendModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointBackend" delete: summary: Delete tags: - TLSEdgeBackendModule operationId: TlsEdgeBackendModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /edges/tls/{id}/ip_restriction: put: summary: Replace tags: - TLSEdgeIPRestrictionModule operationId: TlsEdgeIpRestrictionModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeIPRestrictionReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointIPPolicy" get: summary: Get tags: - TLSEdgeIPRestrictionModule operationId: TlsEdgeIpRestrictionModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointIPPolicy" delete: summary: Delete tags: - TLSEdgeIPRestrictionModule operationId: TlsEdgeIpRestrictionModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /edges/tls/{id}/mutual_tls: put: summary: Replace tags: - TLSEdgeMutualTLSModule operationId: TlsEdgeMutualTlsModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeMutualTLSReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointMutualTLS" get: summary: Get tags: - TLSEdgeMutualTLSModule operationId: TlsEdgeMutualTlsModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointMutualTLS" delete: summary: Delete tags: - TLSEdgeMutualTLSModule operationId: TlsEdgeMutualTlsModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /edges/tls/{id}/tls_termination: put: summary: Replace tags: - TLSEdgeTLSTerminationModule operationId: TlsEdgeTlsTerminationModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeTLSTerminationReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTLSTermination" get: summary: Get tags: - TLSEdgeTLSTerminationModule operationId: TlsEdgeTlsTerminationModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTLSTermination" delete: summary: Delete tags: - TLSEdgeTLSTerminationModule operationId: TlsEdgeTlsTerminationModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /edges/tls/{id}/traffic_policy: put: summary: Replace tags: - TLSEdgeTrafficPolicyModule operationId: TlsEdgeTrafficPolicyModuleReplace parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EdgeTrafficPolicyReplace" responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTrafficPolicy" get: summary: Get tags: - TLSEdgeTrafficPolicyModule operationId: TlsEdgeTrafficPolicyModuleGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: n/a content: application/json: schema: $ref: "#/components/schemas/EndpointTrafficPolicy" delete: summary: Delete tags: - TLSEdgeTrafficPolicyModule operationId: TlsEdgeTrafficPolicyModuleDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: n/a /endpoints: post: summary: Create description: > Create an endpoint, currently available only for cloud endpoints tags: - Endpoints operationId: EndpointsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/EndpointCreate" responses: 201: description: > Create an endpoint, currently available only for cloud endpoints content: application/json: schema: $ref: "#/components/schemas/Endpoint" get: summary: List description: > List all active endpoints on the account tags: - Endpoints operationId: EndpointsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: id description: > Filter results by endpoint IDs. Deprecated: use `filter` instead. in: query required: false schema: type: array - name: url description: > Filter results by endpoint URLs. Deprecated: use `filter` instead. in: query required: false schema: type: array - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all active endpoints on the account content: application/json: schema: $ref: "#/components/schemas/EndpointList" /endpoints/{id}: get: summary: Get description: > Get the status of an endpoint by ID tags: - Endpoints operationId: EndpointsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the status of an endpoint by ID content: application/json: schema: $ref: "#/components/schemas/Endpoint" patch: summary: Update description: > Update an Endpoint by ID, currently available only for cloud endpoints tags: - Endpoints operationId: EndpointsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > unique endpoint resource identifier in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EndpointUpdate" responses: 200: description: > Update an Endpoint by ID, currently available only for cloud endpoints content: application/json: schema: $ref: "#/components/schemas/Endpoint" delete: summary: Delete description: > Delete an Endpoint by ID, currently available only for cloud endpoints tags: - Endpoints operationId: EndpointsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an Endpoint by ID, currently available only for cloud endpoints /event_destinations: post: summary: Create description: > Create a new Event Destination. It will not apply to anything until it is associated with an Event Subscription. tags: - EventDestinations operationId: EventDestinationsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/EventDestinationCreate" responses: 201: description: > Create a new Event Destination. It will not apply to anything until it is associated with an Event Subscription. content: application/json: schema: $ref: "#/components/schemas/EventDestination" get: summary: List description: > List all Event Destinations on this account. tags: - EventDestinations operationId: EventDestinationsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all Event Destinations on this account. content: application/json: schema: $ref: "#/components/schemas/EventDestinationList" /event_destinations/{id}: delete: summary: Delete description: > Delete an Event Destination. If the Event Destination is still referenced by an Event Subscription. tags: - EventDestinations operationId: EventDestinationsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an Event Destination. If the Event Destination is still referenced by an Event Subscription. get: summary: Get description: > Get detailed information about an Event Destination by ID. tags: - EventDestinations operationId: EventDestinationsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about an Event Destination by ID. content: application/json: schema: $ref: "#/components/schemas/EventDestination" patch: summary: Update description: > Update attributes of an Event Destination. tags: - EventDestinations operationId: EventDestinationsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > Unique identifier for this Event Destination. in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EventDestinationUpdate" responses: 200: description: > Update attributes of an Event Destination. content: application/json: schema: $ref: "#/components/schemas/EventDestination" /event_subscriptions: post: summary: Create description: > Create an Event Subscription. tags: - EventSubscriptions operationId: EventSubscriptionsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/EventSubscriptionCreate" responses: 201: description: > Create an Event Subscription. content: application/json: schema: $ref: "#/components/schemas/EventSubscription" get: summary: List description: > List this Account's Event Subscriptions. tags: - EventSubscriptions operationId: EventSubscriptionsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List this Account's Event Subscriptions. content: application/json: schema: $ref: "#/components/schemas/EventSubscriptionList" /event_subscriptions/{id}: delete: summary: Delete description: > Delete an Event Subscription. tags: - EventSubscriptions operationId: EventSubscriptionsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an Event Subscription. get: summary: Get description: > Get an Event Subscription by ID. tags: - EventSubscriptions operationId: EventSubscriptionsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get an Event Subscription by ID. content: application/json: schema: $ref: "#/components/schemas/EventSubscription" patch: summary: Update description: > Update an Event Subscription. tags: - EventSubscriptions operationId: EventSubscriptionsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > Unique identifier for this Event Subscription. in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EventSubscriptionUpdate" responses: 200: description: > Update an Event Subscription. content: application/json: schema: $ref: "#/components/schemas/EventSubscription" /event_subscriptions/{subscription_id}/sources: post: summary: Create description: > Add an additional type for which this event subscription will trigger tags: - EventSources operationId: EventSourcesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: subscription_id description: > The unique identifier for the Event Subscription that this Event Source is attached to. in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EventSourceCreate" responses: 201: description: > Add an additional type for which this event subscription will trigger content: application/json: schema: $ref: "#/components/schemas/EventSource" get: summary: List description: > List the types for which this event subscription will trigger tags: - EventSources operationId: EventSourcesList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: subscription_id description: > The unique identifier for the Event Subscription that this Event Source is attached to. in: path required: true schema: type: string responses: 200: description: > List the types for which this event subscription will trigger content: application/json: schema: $ref: "#/components/schemas/EventSourceList" /event_subscriptions/{subscription_id}/sources/{type}: delete: summary: Delete description: > Remove a type for which this event subscription will trigger tags: - EventSources operationId: EventSourcesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: subscription_id description: > The unique identifier for the Event Subscription that this Event Source is attached to. in: path required: true schema: type: string - name: type description: > Type of event for which an event subscription will trigger in: path required: true schema: type: string responses: 204: description: > Remove a type for which this event subscription will trigger get: summary: Get description: > Get the details for a given type that triggers for the given event subscription tags: - EventSources operationId: EventSourcesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: subscription_id description: > The unique identifier for the Event Subscription that this Event Source is attached to. in: path required: true schema: type: string - name: type description: > Type of event for which an event subscription will trigger in: path required: true schema: type: string responses: 200: description: > Get the details for a given type that triggers for the given event subscription content: application/json: schema: $ref: "#/components/schemas/EventSource" patch: summary: Update description: > Update the type for which this event subscription will trigger tags: - EventSources operationId: EventSourcesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: subscription_id description: > The unique identifier for the Event Subscription that this Event Source is attached to. in: path required: true schema: type: string - name: type description: > Type of event for which an event subscription will trigger in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/EventSourceUpdate" responses: 200: description: > Update the type for which this event subscription will trigger content: application/json: schema: $ref: "#/components/schemas/EventSource" /ip_policies: post: summary: Create description: > Create a new IP policy. It will not apply to any traffic until you associate to a traffic source via an endpoint configuration or IP restriction. tags: - IPPolicies operationId: IpPoliciesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/IPPolicyCreate" responses: 201: description: > Create a new IP policy. It will not apply to any traffic until you associate to a traffic source via an endpoint configuration or IP restriction. content: application/json: schema: $ref: "#/components/schemas/IPPolicy" get: summary: List description: > List all IP policies on this account tags: - IPPolicies operationId: IpPoliciesList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all IP policies on this account content: application/json: schema: $ref: "#/components/schemas/IPPolicyList" /ip_policies/{id}: delete: summary: Delete description: > Delete an IP policy. If the IP policy is referenced by another object for the purposes of traffic restriction it will be treated as if the IP policy remains but has zero rules. tags: - IPPolicies operationId: IpPoliciesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an IP policy. If the IP policy is referenced by another object for the purposes of traffic restriction it will be treated as if the IP policy remains but has zero rules. get: summary: Get description: > Get detailed information about an IP policy by ID. tags: - IPPolicies operationId: IpPoliciesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about an IP policy by ID. content: application/json: schema: $ref: "#/components/schemas/IPPolicy" patch: summary: Update description: > Update attributes of an IP policy by ID tags: - IPPolicies operationId: IpPoliciesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/IPPolicyUpdate" responses: 200: description: > Update attributes of an IP policy by ID content: application/json: schema: $ref: "#/components/schemas/IPPolicy" /ip_policy_rules: post: summary: Create description: > Create a new IP policy rule attached to an IP Policy. tags: - IPPolicyRules operationId: IpPolicyRulesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/IPPolicyRuleCreate" responses: 201: description: > Create a new IP policy rule attached to an IP Policy. content: application/json: schema: $ref: "#/components/schemas/IPPolicyRule" get: summary: List description: > List all IP policy rules on this account tags: - IPPolicyRules operationId: IpPolicyRulesList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all IP policy rules on this account content: application/json: schema: $ref: "#/components/schemas/IPPolicyRuleList" /ip_policy_rules/{id}: delete: summary: Delete description: > Delete an IP policy rule. tags: - IPPolicyRules operationId: IpPolicyRulesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an IP policy rule. get: summary: Get description: > Get detailed information about an IP policy rule by ID. tags: - IPPolicyRules operationId: IpPolicyRulesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about an IP policy rule by ID. content: application/json: schema: $ref: "#/components/schemas/IPPolicyRule" patch: summary: Update description: > Update attributes of an IP policy rule by ID tags: - IPPolicyRules operationId: IpPolicyRulesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/IPPolicyRuleUpdate" responses: 200: description: > Update attributes of an IP policy rule by ID content: application/json: schema: $ref: "#/components/schemas/IPPolicyRule" /ip_restrictions: post: summary: Create description: > Create a new IP restriction tags: - IPRestrictions operationId: IpRestrictionsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/IPRestrictionCreate" responses: 201: description: > Create a new IP restriction content: application/json: schema: $ref: "#/components/schemas/IPRestriction" get: summary: List description: > List all IP restrictions on this account tags: - IPRestrictions operationId: IpRestrictionsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all IP restrictions on this account content: application/json: schema: $ref: "#/components/schemas/IPRestrictionList" /ip_restrictions/{id}: delete: summary: Delete description: > Delete an IP restriction tags: - IPRestrictions operationId: IpRestrictionsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an IP restriction get: summary: Get description: > Get detailed information about an IP restriction tags: - IPRestrictions operationId: IpRestrictionsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about an IP restriction content: application/json: schema: $ref: "#/components/schemas/IPRestriction" patch: summary: Update description: > Update attributes of an IP restriction by ID tags: - IPRestrictions operationId: IpRestrictionsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/IPRestrictionUpdate" responses: 200: description: > Update attributes of an IP restriction by ID content: application/json: schema: $ref: "#/components/schemas/IPRestriction" /reserved_addrs: post: summary: Create description: > Create a new reserved address. tags: - ReservedAddrs operationId: ReservedAddrsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/ReservedAddrCreate" responses: 201: description: > Create a new reserved address. content: application/json: schema: $ref: "#/components/schemas/ReservedAddr" get: summary: List description: > List all reserved addresses on this account. tags: - ReservedAddrs operationId: ReservedAddrsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all reserved addresses on this account. content: application/json: schema: $ref: "#/components/schemas/ReservedAddrList" /reserved_addrs/{id}: delete: summary: Delete description: > Delete a reserved address. tags: - ReservedAddrs operationId: ReservedAddrsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a reserved address. get: summary: Get description: > Get the details of a reserved address. tags: - ReservedAddrs operationId: ReservedAddrsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the details of a reserved address. content: application/json: schema: $ref: "#/components/schemas/ReservedAddr" patch: summary: Update description: > Update the attributes of a reserved address. tags: - ReservedAddrs operationId: ReservedAddrsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/ReservedAddrUpdate" responses: 200: description: > Update the attributes of a reserved address. content: application/json: schema: $ref: "#/components/schemas/ReservedAddr" /reserved_domains: post: summary: Create description: > Create a new reserved domain. tags: - ReservedDomains operationId: ReservedDomainsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/ReservedDomainCreate" responses: 201: description: > Create a new reserved domain. content: application/json: schema: $ref: "#/components/schemas/ReservedDomain" get: summary: List description: > List all reserved domains on this account. tags: - ReservedDomains operationId: ReservedDomainsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all reserved domains on this account. content: application/json: schema: $ref: "#/components/schemas/ReservedDomainList" /reserved_domains/{id}: delete: summary: Delete description: > Delete a reserved domain. tags: - ReservedDomains operationId: ReservedDomainsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a reserved domain. get: summary: Get description: > Get the details of a reserved domain. tags: - ReservedDomains operationId: ReservedDomainsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the details of a reserved domain. content: application/json: schema: $ref: "#/components/schemas/ReservedDomain" patch: summary: Update description: > Update the attributes of a reserved domain. tags: - ReservedDomains operationId: ReservedDomainsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/ReservedDomainUpdate" responses: 200: description: > Update the attributes of a reserved domain. content: application/json: schema: $ref: "#/components/schemas/ReservedDomain" /reserved_domains/{id}/certificate: delete: summary: DeleteCertificate description: > Detach the certificate attached to a reserved domain. tags: - ReservedDomains operationId: ReservedDomainsDeleteCertificate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Detach the certificate attached to a reserved domain. /reserved_domains/{id}/certificate_management_policy: delete: summary: DeleteCertificateManagementPolicy description: > Detach the certificate management policy attached to a reserved domain. tags: - ReservedDomains operationId: ReservedDomainsDeleteCertificateManagementPolicy parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Detach the certificate management policy attached to a reserved domain. /vault_secrets: post: summary: Create description: > Create a new Secret tags: - Secrets operationId: SecretsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/SecretCreate" responses: 201: description: > Create a new Secret content: application/json: schema: $ref: "#/components/schemas/Secret" get: summary: List description: > List all Secrets owned by account tags: - Secrets operationId: SecretsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all Secrets owned by account content: application/json: schema: $ref: "#/components/schemas/SecretList" /vault_secrets/{id}: patch: summary: Update description: > Update an existing Secret by ID tags: - Secrets operationId: SecretsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > identifier for Secret in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/SecretUpdate" responses: 200: description: > Update an existing Secret by ID content: application/json: schema: $ref: "#/components/schemas/Secret" delete: summary: Delete description: > Delete a Secret tags: - Secrets operationId: SecretsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a Secret get: summary: Get description: > Get a Secret by ID tags: - Secrets operationId: SecretsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get a Secret by ID content: application/json: schema: $ref: "#/components/schemas/Secret" /service_users: post: summary: Create description: > Create a new service user tags: - ServiceUsers operationId: ServiceUsersCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/ServiceUserCreate" responses: 201: description: > Create a new service user content: application/json: schema: $ref: "#/components/schemas/ServiceUser" get: summary: List description: > List all service users in this account. tags: - ServiceUsers operationId: ServiceUsersList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all service users in this account. content: application/json: schema: $ref: "#/components/schemas/ServiceUserList" /service_users/{id}: delete: summary: Delete description: > Delete a service user by ID tags: - ServiceUsers operationId: ServiceUsersDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a service user by ID get: summary: Get description: > Get the details of a Bot User by ID. tags: - ServiceUsers operationId: ServiceUsersGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the details of a Bot User by ID. content: application/json: schema: $ref: "#/components/schemas/ServiceUser" patch: summary: Update description: > Update attributes of a service user by ID. tags: - ServiceUsers operationId: ServiceUsersUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/ServiceUserUpdate" responses: 200: description: > Update attributes of a service user by ID. content: application/json: schema: $ref: "#/components/schemas/ServiceUser" /ssh_certificate_authorities: post: summary: Create description: > Create a new SSH Certificate Authority tags: - SSHCertificateAuthorities operationId: SshCertificateAuthoritiesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/SSHCertificateAuthorityCreate" responses: 201: description: > Create a new SSH Certificate Authority content: application/json: schema: $ref: "#/components/schemas/SSHCertificateAuthority" get: summary: List description: > List all SSH Certificate Authorities on this account tags: - SSHCertificateAuthorities operationId: SshCertificateAuthoritiesList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all SSH Certificate Authorities on this account content: application/json: schema: $ref: "#/components/schemas/SSHCertificateAuthorityList" /ssh_certificate_authorities/{id}: delete: summary: Delete description: > Delete an SSH Certificate Authority tags: - SSHCertificateAuthorities operationId: SshCertificateAuthoritiesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an SSH Certificate Authority get: summary: Get description: > Get detailed information about an SSH Certificate Authority tags: - SSHCertificateAuthorities operationId: SshCertificateAuthoritiesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about an SSH Certificate Authority content: application/json: schema: $ref: "#/components/schemas/SSHCertificateAuthority" patch: summary: Update description: > Update an SSH Certificate Authority tags: - SSHCertificateAuthorities operationId: SshCertificateAuthoritiesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/SSHCertificateAuthorityUpdate" responses: 200: description: > Update an SSH Certificate Authority content: application/json: schema: $ref: "#/components/schemas/SSHCertificateAuthority" /ssh_credentials: post: summary: Create description: > Create a new ssh_credential from an uploaded public SSH key. This ssh credential can be used to start new tunnels via ngrok's SSH gateway. tags: - SSHCredentials operationId: SshCredentialsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/SSHCredentialCreate" responses: 201: description: > Create a new ssh_credential from an uploaded public SSH key. This ssh credential can be used to start new tunnels via ngrok's SSH gateway. content: application/json: schema: $ref: "#/components/schemas/SSHCredential" get: summary: List description: > List all ssh credentials on this account tags: - SSHCredentials operationId: SshCredentialsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all ssh credentials on this account content: application/json: schema: $ref: "#/components/schemas/SSHCredentialList" /ssh_credentials/{id}: delete: summary: Delete description: > Delete an ssh_credential by ID tags: - SSHCredentials operationId: SshCredentialsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an ssh_credential by ID get: summary: Get description: > Get detailed information about an ssh_credential tags: - SSHCredentials operationId: SshCredentialsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about an ssh_credential content: application/json: schema: $ref: "#/components/schemas/SSHCredential" patch: summary: Update description: > Update attributes of an ssh_credential by ID tags: - SSHCredentials operationId: SshCredentialsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/SSHCredentialUpdate" responses: 200: description: > Update attributes of an ssh_credential by ID content: application/json: schema: $ref: "#/components/schemas/SSHCredential" /ssh_host_certificates: post: summary: Create description: > Create a new SSH Host Certificate tags: - SSHHostCertificates operationId: SshHostCertificatesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/SSHHostCertificateCreate" responses: 201: description: > Create a new SSH Host Certificate content: application/json: schema: $ref: "#/components/schemas/SSHHostCertificate" get: summary: List description: > List all SSH Host Certificates issued on this account tags: - SSHHostCertificates operationId: SshHostCertificatesList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all SSH Host Certificates issued on this account content: application/json: schema: $ref: "#/components/schemas/SSHHostCertificateList" /ssh_host_certificates/{id}: delete: summary: Delete description: > Delete an SSH Host Certificate tags: - SSHHostCertificates operationId: SshHostCertificatesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an SSH Host Certificate get: summary: Get description: > Get detailed information about an SSH Host Certificate tags: - SSHHostCertificates operationId: SshHostCertificatesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about an SSH Host Certificate content: application/json: schema: $ref: "#/components/schemas/SSHHostCertificate" patch: summary: Update description: > Update an SSH Host Certificate tags: - SSHHostCertificates operationId: SshHostCertificatesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/SSHHostCertificateUpdate" responses: 200: description: > Update an SSH Host Certificate content: application/json: schema: $ref: "#/components/schemas/SSHHostCertificate" /ssh_user_certificates: post: summary: Create description: > Create a new SSH User Certificate tags: - SSHUserCertificates operationId: SshUserCertificatesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/SSHUserCertificateCreate" responses: 201: description: > Create a new SSH User Certificate content: application/json: schema: $ref: "#/components/schemas/SSHUserCertificate" get: summary: List description: > List all SSH User Certificates issued on this account tags: - SSHUserCertificates operationId: SshUserCertificatesList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all SSH User Certificates issued on this account content: application/json: schema: $ref: "#/components/schemas/SSHUserCertificateList" /ssh_user_certificates/{id}: delete: summary: Delete description: > Delete an SSH User Certificate tags: - SSHUserCertificates operationId: SshUserCertificatesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete an SSH User Certificate get: summary: Get description: > Get detailed information about an SSH User Certificate tags: - SSHUserCertificates operationId: SshUserCertificatesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about an SSH User Certificate content: application/json: schema: $ref: "#/components/schemas/SSHUserCertificate" patch: summary: Update description: > Update an SSH User Certificate tags: - SSHUserCertificates operationId: SshUserCertificatesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/SSHUserCertificateUpdate" responses: 200: description: > Update an SSH User Certificate content: application/json: schema: $ref: "#/components/schemas/SSHUserCertificate" /tls_certificates: post: summary: Create description: > Upload a new TLS certificate tags: - TLSCertificates operationId: TlsCertificatesCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/TLSCertificateCreate" responses: 201: description: > Upload a new TLS certificate content: application/json: schema: $ref: "#/components/schemas/TLSCertificate" get: summary: List description: > List all TLS certificates on this account tags: - TLSCertificates operationId: TlsCertificatesList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all TLS certificates on this account content: application/json: schema: $ref: "#/components/schemas/TLSCertificateList" /tls_certificates/{id}: delete: summary: Delete description: > Delete a TLS certificate tags: - TLSCertificates operationId: TlsCertificatesDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a TLS certificate get: summary: Get description: > Get detailed information about a TLS certificate tags: - TLSCertificates operationId: TlsCertificatesGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get detailed information about a TLS certificate content: application/json: schema: $ref: "#/components/schemas/TLSCertificate" patch: summary: Update description: > Update attributes of a TLS Certificate by ID tags: - TLSCertificates operationId: TlsCertificatesUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/TLSCertificateUpdate" responses: 200: description: > Update attributes of a TLS Certificate by ID content: application/json: schema: $ref: "#/components/schemas/TLSCertificate" /tunnels: get: summary: List description: > List all online tunnels currently running on the account. tags: - Tunnels operationId: TunnelsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > List all online tunnels currently running on the account. content: application/json: schema: $ref: "#/components/schemas/TunnelList" /tunnels/{id}: get: summary: Get description: > Get the status of a tunnel by ID tags: - Tunnels operationId: TunnelsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get the status of a tunnel by ID content: application/json: schema: $ref: "#/components/schemas/Tunnel" /vaults: post: summary: Create description: > Create a new Vault tags: - Vaults operationId: VaultsCreate parameters: - $ref: "#/components/parameters/ngrokVersion" requestBody: content: application/json: schema: $ref: "#/components/schemas/VaultCreate" responses: 201: description: > Create a new Vault content: application/json: schema: $ref: "#/components/schemas/Vault" get: summary: List description: > List all Vaults owned by account tags: - Vaults operationId: VaultsList parameters: - $ref: "#/components/parameters/ngrokVersion" - name: before_id description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. in: query required: false schema: type: string - name: limit description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. in: query required: false schema: type: string - name: filter description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. in: query required: false schema: type: string responses: 200: description: > List all Vaults owned by account content: application/json: schema: $ref: "#/components/schemas/VaultList" /vaults/{id}: patch: summary: Update description: > Update an existing Vault by ID tags: - Vaults operationId: VaultsUpdate parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > identifier for Vault in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: "#/components/schemas/VaultUpdate" responses: 200: description: > Update an existing Vault by ID content: application/json: schema: $ref: "#/components/schemas/Vault" delete: summary: Delete description: > Delete a Vault tags: - Vaults operationId: VaultsDelete parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 204: description: > Delete a Vault get: summary: Get description: > Get a Vault by ID tags: - Vaults operationId: VaultsGet parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string responses: 200: description: > Get a Vault by ID content: application/json: schema: $ref: "#/components/schemas/Vault" /vaults/{id}/secrets: get: summary: GetSecretsByVault description: > Get Secrets by Vault ID tags: - Vaults operationId: VaultsGetSecretsByVault parameters: - $ref: "#/components/parameters/ngrokVersion" - name: id description: > a resource identifier in: path required: true schema: type: string - name: before_id in: query required: false schema: type: string - name: limit in: query required: false schema: type: string responses: 200: description: > Get Secrets by Vault ID content: application/json: schema: $ref: "#/components/schemas/SecretList" components: securitySchemes: authentication: type: http scheme: bearer parameters: ngrokVersion: name: ngrok-version in: header required: true schema: type: integer default: 2 schemas: Empty: type: object Item: type: object properties: id: description: > a resource identifier type: string Paging: type: object properties: before_id: description: n/a type: string limit: description: n/a type: string FilteredPaging: type: object properties: before_id: description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. type: string limit: description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. type: string filter: description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. type: string ItemPaging: type: object properties: id: description: > a resource identifier type: string before_id: description: n/a type: string limit: description: n/a type: string Ref: type: object properties: id: description: > a resource identifier type: string uri: description: > a uri for locating a resource type: string AbuseReport: type: object properties: id: description: > ID of the abuse report type: string uri: description: > URI of the abuse report API resource type: string created_at: description: > timestamp that the abuse report record was created in RFC 3339 format type: string urls: description: > a list of URLs containing suspected abusive content type: array items: type: string metadata: description: > arbitrary user-defined data about this abuse report. Optional, max 4096 bytes. type: string status: description: > Indicates whether ngrok has processed the abuse report. one of `PENDING`, `PROCESSED`, or `PARTIALLY_PROCESSED` type: string hostnames: description: > an array of hostname statuses related to the report type: array items: $ref: "#/components/schemas/AbuseReportHostname" AbuseReportHostname: type: object properties: hostname: description: > the hostname ngrok has parsed out of one of the reported URLs in this abuse report type: string status: description: > indicates what action ngrok has taken against the hostname. one of `PENDING`, `BANNED`, `UNBANNED`, or `IGNORE` type: string AbuseReportCreate: type: object required: - urls properties: urls: description: > a list of URLs containing suspected abusive content type: array items: type: string metadata: description: > arbitrary user-defined data about this abuse report. Optional, max 4096 bytes. type: string AgentIngressCreate: type: object required: - domain properties: description: description: > human-readable description of the use of this Agent Ingress. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes type: string domain: description: > the domain that you own to be used as the base domain name to generate regional agent ingress domains. type: string certificate_management_policy: description: > configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional. $ref: "#/components/schemas/AgentIngressCertPolicy" AgentIngressUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of the use of this Agent Ingress. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes type: string certificate_management_policy: description: > configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional. $ref: "#/components/schemas/AgentIngressCertPolicy" AgentIngress: type: object properties: id: description: > unique Agent Ingress resource identifier type: string uri: description: > URI to the API resource of this Agent ingress type: string description: description: > human-readable description of the use of this Agent Ingress. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes type: string domain: description: > the domain that you own to be used as the base domain name to generate regional agent ingress domains. type: string ns_targets: description: > a list of target values to use as the values of NS records for the domain property these values will delegate control over the domain to ngrok type: array items: type: string region_domains: description: > a list of regional agent ingress domains that are subdomains of the value of domain this value may increase over time as ngrok adds more regions type: array items: type: string created_at: description: > timestamp when the Agent Ingress was created, RFC 3339 format type: string certificate_management_policy: description: > configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled $ref: "#/components/schemas/AgentIngressCertPolicy" certificate_management_status: description: > status of the automatic certificate management for this domain, or null if automatic management is disabled $ref: "#/components/schemas/AgentIngressCertStatus" AgentIngressList: type: object properties: ingresses: description: > the list of Agent Ingresses owned by this account type: array items: $ref: "#/components/schemas/AgentIngress" uri: description: > URI of the Agent Ingress list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string AgentIngressCertPolicy: type: object properties: authority: description: > certificate authority to request certificates from. The only supported value is letsencrypt. type: string private_key_type: description: > type of private key to use when requesting certificates. Defaults to rsa, can be either rsa or ecdsa. type: string AgentIngressCertStatus: type: object properties: renews_at: description: > timestamp when the next renewal will be requested, RFC 3339 format type: string provisioning_job: description: > status of the certificate provisioning job, or null if the certificiate isn't being provisioned or renewed $ref: "#/components/schemas/AgentIngressCertJob" AgentIngressCertJob: type: object properties: error_code: description: > if present, an error code indicating why provisioning is failing. It may be either a temporary condition (INTERNAL_ERROR), or a permanent one the user must correct (DNS_ERROR). type: string msg: description: > a message describing the current status or error type: string started_at: description: > timestamp when the provisioning job started, RFC 3339 format type: string retries_at: description: > timestamp when the provisioning job will be retried type: string APIKeyCreate: type: object properties: description: description: > human-readable description of what uses the API key to authenticate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined data of this API key. optional, max 4096 bytes type: string owner_id: description: > If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot. type: string APIKeyUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of what uses the API key to authenticate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined data of this API key. optional, max 4096 bytes type: string APIKey: type: object properties: id: description: > unique API key resource identifier type: string uri: description: > URI to the API resource of this API key type: string description: description: > human-readable description of what uses the API key to authenticate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined data of this API key. optional, max 4096 bytes type: string created_at: description: > timestamp when the api key was created, RFC 3339 format type: string token: description: > the bearer token that can be placed into the Authorization header to authenticate request to the ngrok API. **This value is only available one time, on the API response from key creation. Otherwise it is null.** type: string owner_id: description: > If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot. type: string APIKeyList: type: object properties: keys: description: > the list of API keys for this account type: array items: $ref: "#/components/schemas/APIKey" uri: description: > URI of the API keys list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string ApplicationSession: type: object properties: id: description: > unique application session resource identifier type: string uri: description: > URI of the application session API resource type: string public_url: description: > URL of the hostport served by this endpoint type: string browser_session: description: > browser session details of the application session $ref: "#/components/schemas/BrowserSession" application_user: description: > application user this session is associated with $ref: "#/components/schemas/Ref" created_at: description: > timestamp when the user was created in RFC 3339 format type: string last_active: description: > timestamp when the user was last active in RFC 3339 format type: string expires_at: description: > timestamp when session expires in RFC 3339 format type: string endpoint: description: > ephemeral endpoint this session is associated with $ref: "#/components/schemas/Ref" edge: description: > edge this session is associated with, null if the endpoint is agent-initiated $ref: "#/components/schemas/Ref" route: description: > route this session is associated with, null if the endpoint is agent-initiated $ref: "#/components/schemas/Ref" ApplicationSessionList: type: object properties: application_sessions: description: > list of all application sessions on this account type: array items: $ref: "#/components/schemas/ApplicationSession" uri: description: > URI of the application session list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string BrowserSession: type: object properties: user_agent: description: > HTTP User-Agent data $ref: "#/components/schemas/UserAgent" ip_address: description: > IP address type: string location: description: > IP geolocation data $ref: "#/components/schemas/Location" UserAgent: type: object properties: raw: description: > raw User-Agent request header type: string browser_name: description: > browser name (e.g. Chrome) type: string browser_version: description: > browser version (e.g. 102) type: string device_type: description: > type of device (e.g. Desktop) type: string os_name: description: > operating system name (e.g. MacOS) type: string os_version: description: > operating system version (e.g. 10.15.7) type: string Location: type: object properties: country_code: description: > ISO country code type: string latitude: description: > geographical latitude type: number longitude: description: > geographical longitude type: number lat_long_radius_km: description: > accuracy radius of the geographical coordinates type: integer ApplicationUser: type: object properties: id: description: > unique application user resource identifier type: string uri: description: > URI of the application user API resource type: string identity_provider: description: > identity provider that the user authenticated with $ref: "#/components/schemas/IdentityProvider" provider_user_id: description: > unique user identifier type: string username: description: > user username type: string email: description: > user email type: string name: description: > user common name type: string created_at: description: > timestamp when the user was created in RFC 3339 format type: string last_active: description: > timestamp when the user was last active in RFC 3339 format type: string last_login: description: > timestamp when the user last signed-in in RFC 3339 format type: string ApplicationUserList: type: object properties: application_users: description: > list of all application users on this account type: array items: $ref: "#/components/schemas/ApplicationUser" uri: description: > URI of the application user list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string IdentityProvider: type: object properties: name: description: > name of the identity provider (e.g. Google) type: string url: description: > URL of the identity provider (e.g. https://accounts.google.com) type: string TunnelSession: type: object properties: agent_version: description: > version of the ngrok agent that started this ngrok tunnel session type: string credential: description: > reference to the tunnel credential or ssh credential used by the ngrok agent to start this tunnel session $ref: "#/components/schemas/Ref" id: description: > unique tunnel session resource identifier type: string ip: description: > source ip address of the tunnel session type: string metadata: description: > arbitrary user-defined data specified in the metadata property in the ngrok configuration file. See the metadata configuration option type: string os: description: > operating system of the host the ngrok agent is running on type: string region: description: > the ngrok region identifier in which this tunnel session was started type: string started_at: description: > time when the tunnel session first connected to the ngrok servers type: string transport: description: > the transport protocol used to start the tunnel session. Either `ngrok/v2` or `ssh` type: string uri: description: > URI to the API resource of the tunnel session type: string TunnelSessionList: type: object properties: tunnel_sessions: description: > list of all tunnel sessions on this account type: array items: $ref: "#/components/schemas/TunnelSession" uri: description: > URI to the API resource of the tunnel session list type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string TunnelSessionsUpdate: type: object properties: id: description: n/a type: string FailoverBackend: type: object properties: id: description: > unique identifier for this Failover backend type: string uri: description: > URI of the FailoverBackend API resource type: string created_at: description: > timestamp when the backend was created, RFC 3339 format type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string backends: description: > the ids of the child backends in order type: array items: type: string FailoverBackendCreate: type: object properties: description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string backends: description: > the ids of the child backends in order type: array items: type: string FailoverBackendUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string backends: description: > the ids of the child backends in order type: array items: type: string FailoverBackendList: type: object properties: backends: description: > the list of all Failover backends on this account type: array items: $ref: "#/components/schemas/FailoverBackend" uri: description: > URI of the Failover backends list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string HTTPResponseBackend: type: object properties: id: description: n/a type: string uri: description: > URI of the HTTPResponseBackend API resource type: string created_at: description: > timestamp when the backend was created, RFC 3339 format type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string body: description: > body to return as fixed content type: string headers: description: > headers to return type: object status_code: description: > status code to return type: integer HTTPResponseBackendCreate: type: object properties: description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string body: description: > body to return as fixed content type: string headers: description: > headers to return type: object status_code: description: > status code to return type: integer HTTPResponseBackendUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string body: description: > body to return as fixed content type: string headers: description: > headers to return type: object status_code: description: > status code to return type: integer HTTPResponseBackendList: type: object properties: backends: description: n/a type: array items: $ref: "#/components/schemas/HTTPResponseBackend" uri: description: n/a type: string next_page_uri: description: n/a type: string StaticBackend: type: object properties: id: description: > unique identifier for this static backend type: string uri: description: > URI of the StaticBackend API resource type: string created_at: description: > timestamp when the backend was created, RFC 3339 format type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string address: description: > the address to forward to type: string tls: description: > tls configuration to use $ref: "#/components/schemas/StaticBackendTLS" StaticBackendTLS: type: object properties: enabled: description: > if TLS is checked type: boolean StaticBackendCreate: type: object properties: description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string address: description: > the address to forward to type: string tls: description: > tls configuration to use $ref: "#/components/schemas/StaticBackendTLS" StaticBackendUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string address: description: > the address to forward to type: string tls: description: > tls configuration to use $ref: "#/components/schemas/StaticBackendTLS" StaticBackendList: type: object properties: backends: description: > the list of all static backends on this account type: array items: $ref: "#/components/schemas/StaticBackend" uri: description: > URI of the static backends list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string TunnelGroupBackend: type: object properties: id: description: > unique identifier for this TunnelGroup backend type: string uri: description: > URI of the TunnelGroupBackend API resource type: string created_at: description: > timestamp when the backend was created, RFC 3339 format type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string labels: description: > labels to watch for tunnels on, e.g. app->foo, dc->bar type: object tunnels: description: > tunnels matching this backend type: array items: $ref: "#/components/schemas/Ref" TunnelGroupBackendCreate: type: object properties: description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string labels: description: > labels to watch for tunnels on, e.g. app->foo, dc->bar type: object TunnelGroupBackendUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string labels: description: > labels to watch for tunnels on, e.g. app->foo, dc->bar type: object TunnelGroupBackendList: type: object properties: backends: description: > the list of all TunnelGroup backends on this account type: array items: $ref: "#/components/schemas/TunnelGroupBackend" uri: description: > URI of the TunnelGroup backends list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string WeightedBackend: type: object properties: id: description: > unique identifier for this Weighted backend type: string uri: description: > URI of the WeightedBackend API resource type: string created_at: description: > timestamp when the backend was created, RFC 3339 format type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string backends: description: > the ids of the child backends to their weights [0-10000] type: object WeightedBackendCreate: type: object properties: description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string backends: description: > the ids of the child backends to their weights [0-10000] type: object WeightedBackendUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this backend. Optional type: string metadata: description: > arbitrary user-defined machine-readable data of this backend. Optional type: string backends: description: > the ids of the child backends to their weights [0-10000] type: object WeightedBackendList: type: object properties: backends: description: > the list of all Weighted backends on this account type: array items: $ref: "#/components/schemas/WeightedBackend" uri: description: > URI of the Weighted backends list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string BotUser: type: object properties: id: description: > unique API key resource identifier type: string uri: description: > URI to the API resource of this bot user type: string name: description: > human-readable name used to identify the bot type: string active: description: > whether or not the bot is active type: boolean created_at: description: > timestamp when the api key was created, RFC 3339 format type: string BotUserCreate: type: object properties: name: description: > human-readable name used to identify the bot type: string active: description: > whether or not the bot is active type: boolean BotUserUpdate: type: object properties: id: description: n/a type: string name: description: > human-readable name used to identify the bot type: string active: description: > whether or not the bot is active type: boolean BotUserList: type: object properties: bot_users: description: > the list of all bot users on this account type: array items: $ref: "#/components/schemas/BotUser" uri: description: > URI of the bot users list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string CertificateAuthorityCreate: type: object required: - ca_pem properties: description: description: > human-readable description of this Certificate Authority. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. type: string ca_pem: description: > raw PEM of the Certificate Authority type: string CertificateAuthorityUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this Certificate Authority. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. type: string CertificateAuthority: type: object properties: id: description: > unique identifier for this Certificate Authority type: string uri: description: > URI of the Certificate Authority API resource type: string created_at: description: > timestamp when the Certificate Authority was created, RFC 3339 format type: string description: description: > human-readable description of this Certificate Authority. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this Certificate Authority. optional, max 4096 bytes. type: string ca_pem: description: > raw PEM of the Certificate Authority type: string subject_common_name: description: > subject common name of the Certificate Authority type: string not_before: description: > timestamp when this Certificate Authority becomes valid, RFC 3339 format type: string not_after: description: > timestamp when this Certificate Authority becomes invalid, RFC 3339 format type: string key_usages: description: > set of actions the private key of this Certificate Authority can be used for type: array items: type: string extended_key_usages: description: > extended set of actions the private key of this Certificate Authority can be used for type: array items: type: string CertificateAuthorityList: type: object properties: certificate_authorities: description: > the list of all certificate authorities on this account type: array items: $ref: "#/components/schemas/CertificateAuthority" uri: description: > URI of the certificates authorities list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string CredentialCreate: type: object properties: description: description: > human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. type: string acl: description: > optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains, addresses, and labels the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules for domains may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. Bind rules for labels may specify a wildcard key and/or value to match multiple labels. For example, you may specify a rule of `bind:*=example` which will allow `x=example`, `y=example`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. type: array items: type: string owner_id: description: > If supplied at credential creation, ownership will be assigned to the specified User or Service User. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Service User. Accepts one of: User ID, User email, or SCIM User ID. type: string CredentialUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. type: string acl: description: > optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains, addresses, and labels the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules for domains may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. Bind rules for labels may specify a wildcard key and/or value to match multiple labels. For example, you may specify a rule of `bind:*=example` which will allow `x=example`, `y=example`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. type: array items: type: string Credential: type: object properties: id: description: > unique tunnel credential resource identifier type: string uri: description: > URI of the tunnel credential API resource type: string created_at: description: > timestamp when the tunnel credential was created, RFC 3339 format type: string description: description: > human-readable description of who or what will use the credential to authenticate. Optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this credential. Optional, max 4096 bytes. type: string token: description: > the credential's authtoken that can be used to authenticate an ngrok agent. **This value is only available one time, on the API response from credential creation, otherwise it is null.** type: string acl: description: > optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains, addresses, and labels the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules for domains may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. Bind rules for labels may specify a wildcard key and/or value to match multiple labels. For example, you may specify a rule of `bind:*=example` which will allow `x=example`, `y=example`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. type: array items: type: string owner_id: description: > If supplied at credential creation, ownership will be assigned to the specified User or Service User. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Service User. Accepts one of: User ID, User email, or SCIM User ID. type: string CredentialList: type: object properties: credentials: description: > the list of all tunnel credentials on this account type: array items: $ref: "#/components/schemas/Credential" uri: description: > URI of the tunnel credential list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string EndpointWebhookValidation: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean provider: description: > a string indicating which webhook provider will be sending webhooks to this endpoint. Value must be one of the supported providers defined at https://ngrok.com/docs/cloud-edge/modules/webhook-verification type: string secret: description: > a string secret used to validate requests from the given provider. All providers except AWS SNS require a secret type: string EndpointCompression: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean EndpointMutualTLS: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean certificate_authorities: description: > PEM-encoded CA certificates that will be used to validate. Multiple CAs may be provided by concatenating them together. type: array items: $ref: "#/components/schemas/Ref" EndpointMutualTLSMutate: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean certificate_authority_ids: description: > list of certificate authorities that will be used to validate the TLS client certificate presented by the initiator of the TLS connection type: array items: type: string EndpointTLSTermination: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean terminate_at: description: > `edge` if the ngrok edge should terminate TLS traffic, `upstream` if TLS traffic should be passed through to the upstream ngrok agent / application server for termination. if `upstream` is chosen, most other modules will be disallowed because they rely on the ngrok edge being able to access the underlying traffic. type: string min_version: description: > The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if `terminate_at` is set to `upstream`. type: string EndpointTLSTerminationAtEdge: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean min_version: description: > The minimum TLS version used for termination and advertised to the client during the TLS handshake. if unspecified, ngrok will choose an industry-safe default. This value must be null if `terminate_at` is set to `upstream`. type: string EndpointRequestHeaders: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean add: description: > a map of header key to header value that will be injected into the HTTP Request before being sent to the upstream application server type: object remove: description: > a list of header names that will be removed from the HTTP Request before being sent to the upstream application server type: array items: type: string EndpointResponseHeaders: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean add: description: > a map of header key to header value that will be injected into the HTTP Response returned to the HTTP client type: object remove: description: > a list of header names that will be removed from the HTTP Response returned to the HTTP client type: array items: type: string EndpointIPPolicy: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean ip_policies: description: > list of all IP policies that will be used to check if a source IP is allowed access to the endpoint type: array items: $ref: "#/components/schemas/Ref" EndpointIPPolicyMutate: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean ip_policy_ids: description: > list of all IP policies that will be used to check if a source IP is allowed access to the endpoint type: array items: type: string EndpointCircuitBreaker: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean tripped_duration: description: > Integer number of seconds after which the circuit is tripped to wait before re-evaluating upstream health type: integer rolling_window: description: > Integer number of seconds in the statistical rolling window that metrics are retained for. type: integer num_buckets: description: > Integer number of buckets into which metrics are retained. Max 128. type: integer volume_threshold: description: > Integer number of requests in a rolling window that will trip the circuit. Helpful if traffic volume is low. type: integer error_threshold_percentage: description: > Error threshold percentage should be between 0 - 1.0, not 0-100.0 type: number EndpointOAuth: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean provider: description: > an object which defines the identity provider to use for authentication and configuration for who may access the endpoint $ref: "#/components/schemas/EndpointOAuthProvider" options_passthrough: description: > Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. type: boolean cookie_prefix: description: > the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' type: string inactivity_timeout: description: > Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. type: integer maximum_duration: description: > Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. type: integer auth_check_interval: description: > Integer number of seconds after which ngrok guarantees it will refresh user state from the identity provider and recheck whether the user is still authorized to access the endpoint. This is the preferred tunable to use to enforce a minimum amount of time after which a revoked user will no longer be able to access the resource. type: integer EndpointOAuthProvider: type: object properties: github: description: > configuration for using github as the identity provider $ref: "#/components/schemas/EndpointOAuthGitHub" facebook: description: > configuration for using facebook as the identity provider $ref: "#/components/schemas/EndpointOAuthFacebook" microsoft: description: > configuration for using microsoft as the identity provider $ref: "#/components/schemas/EndpointOAuthMicrosoft" google: description: > configuration for using google as the identity provider $ref: "#/components/schemas/EndpointOAuthGoogle" linkedin: description: > configuration for using linkedin as the identity provider $ref: "#/components/schemas/EndpointOAuthLinkedIn" gitlab: description: > configuration for using gitlab as the identity provider $ref: "#/components/schemas/EndpointOAuthGitLab" twitch: description: > configuration for using twitch as the identity provider $ref: "#/components/schemas/EndpointOAuthTwitch" amazon: description: > configuration for using amazon as the identity provider $ref: "#/components/schemas/EndpointOAuthAmazon" EndpointOAuthGitHub: type: object properties: client_id: description: > the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. type: string client_secret: description: > the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`. type: string scopes: description: > a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes) type: array items: type: string email_addresses: description: > a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint type: array items: type: string email_domains: description: > a list of email domains of users authenticated by identity provider who are allowed access to the endpoint type: array items: type: string teams: description: > a list of github teams identifiers. users will be allowed access to the endpoint if they are a member of any of these teams. identifiers should be in the 'slug' format qualified with the org name, e.g. `org-name/team-name` type: array items: type: string organizations: description: > a list of github org identifiers. users who are members of any of the listed organizations will be allowed access. identifiers should be the organization's 'slug' type: array items: type: string EndpointOAuthFacebook: type: object properties: client_id: description: > the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. type: string client_secret: description: > the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`. type: string scopes: description: > a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes) type: array items: type: string email_addresses: description: > a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint type: array items: type: string email_domains: description: > a list of email domains of users authenticated by identity provider who are allowed access to the endpoint type: array items: type: string EndpointOAuthMicrosoft: type: object properties: client_id: description: > the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. type: string client_secret: description: > the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`. type: string scopes: description: > a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes) type: array items: type: string email_addresses: description: > a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint type: array items: type: string email_domains: description: > a list of email domains of users authenticated by identity provider who are allowed access to the endpoint type: array items: type: string EndpointOAuthGoogle: type: object properties: client_id: description: > the OAuth app client ID. retrieve it from the identity provider's dashboard where you created your own OAuth app. optional. if unspecified, ngrok will use its own managed oauth application which has additional restrictions. see the OAuth module docs for more details. if present, client_secret must be present as well. type: string client_secret: description: > the OAuth app client secret. retrieve if from the identity provider's dashboard where you created your own OAuth app. optional, see all of the caveats in the docs for `client_id`. type: string scopes: description: > a list of provider-specific OAuth scopes with the permissions your OAuth app would like to ask for. these may not be set if you are using the ngrok-managed oauth app (i.e. you must pass both `client_id` and `client_secret` to set scopes) type: array items: type: string email_addresses: description: > a list of email addresses of users authenticated by identity provider who are allowed access to the endpoint type: array items: type: string email_domains: description: > a list of email domains of users authenticated by identity provider who are allowed access to the endpoint type: array items: type: string EndpointOAuthLinkedIn: type: object properties: client_id: description: n/a type: string client_secret: description: n/a type: string scopes: description: n/a type: array items: type: string email_addresses: description: n/a type: array items: type: string email_domains: description: n/a type: array items: type: string EndpointOAuthGitLab: type: object properties: client_id: description: n/a type: string client_secret: description: n/a type: string scopes: description: n/a type: array items: type: string email_addresses: description: n/a type: array items: type: string email_domains: description: n/a type: array items: type: string EndpointOAuthTwitch: type: object properties: client_id: description: n/a type: string client_secret: description: n/a type: string scopes: description: n/a type: array items: type: string email_addresses: description: n/a type: array items: type: string email_domains: description: n/a type: array items: type: string EndpointOAuthAmazon: type: object properties: client_id: description: n/a type: string client_secret: description: n/a type: string scopes: description: n/a type: array items: type: string email_addresses: description: n/a type: array items: type: string email_domains: description: n/a type: array items: type: string EndpointSAML: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean options_passthrough: description: > Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. type: boolean cookie_prefix: description: > the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' type: string inactivity_timeout: description: > Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. type: integer maximum_duration: description: > Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. type: integer idp_metadata: description: > The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. type: string force_authn: description: > If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP. type: boolean allow_idp_initiated: description: > If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the `RelayState` parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. type: boolean authorized_groups: description: > If present, only users who are a member of one of the listed groups may access the target endpoint. type: array items: type: string entity_id: description: > The SP Entity's unique ID. This always takes the form of a URL. In ngrok's implementation, this URL is the same as the metadata URL. This will need to be specified to the IdP as configuration. type: string assertion_consumer_service_url: description: > The public URL of the SP's Assertion Consumer Service. This is where the IdP will redirect to during an authentication flow. This will need to be specified to the IdP as configuration. type: string single_logout_url: description: > The public URL of the SP's Single Logout Service. This is where the IdP will redirect to during a single logout flow. This will optionally need to be specified to the IdP as configuration. type: string request_signing_certificate_pem: description: > PEM-encoded x.509 certificate of the key pair that is used to sign all SAML requests that the ngrok SP makes to the IdP. Many IdPs do not support request signing verification, but we highly recommend specifying this in the IdP's configuration if it is supported. type: string metadata_url: description: > A public URL where the SP's metadata is hosted. If an IdP supports dynamic configuration, this is the URL it can use to retrieve the SP metadata. type: string nameid_format: description: > Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` will be used. A subset of the allowed values enumerated by the SAML specification are supported. type: string EndpointSAMLMutate: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean options_passthrough: description: > Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. type: boolean cookie_prefix: description: > the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' type: string inactivity_timeout: description: > Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. type: integer maximum_duration: description: > Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. type: integer idp_metadata: description: > The full XML IdP EntityDescriptor. Your IdP may provide this to you as a a file to download or as a URL. type: string force_authn: description: > If true, indicates that whenever we redirect a user to the IdP for authentication that the IdP must prompt the user for authentication credentials even if the user already has a valid session with the IdP. type: boolean allow_idp_initiated: description: > If true, the IdP may initiate a login directly (e.g. the user does not need to visit the endpoint first and then be redirected). The IdP should set the `RelayState` parameter to the target URL of the resource they want the user to be redirected to after the SAML login assertion has been processed. type: boolean authorized_groups: description: > If present, only users who are a member of one of the listed groups may access the target endpoint. type: array items: type: string nameid_format: description: > Defines the name identifier format the SP expects the IdP to use in its assertions to identify subjects. If unspecified, a default value of `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` will be used. A subset of the allowed values enumerated by the SAML specification are supported. type: string EndpointOIDC: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean options_passthrough: description: > Do not enforce authentication on HTTP OPTIONS requests. necessary if you are supporting CORS. type: boolean cookie_prefix: description: > the prefix of the session cookie that ngrok sets on the http client to cache authentication. default is 'ngrok.' type: string inactivity_timeout: description: > Integer number of seconds of inactivity after which if the user has not accessed the endpoint, their session will time out and they will be forced to reauthenticate. type: integer maximum_duration: description: > Integer number of seconds of the maximum duration of an authenticated session. After this period is exceeded, a user must reauthenticate. type: integer issuer: description: > URL of the OIDC "OpenID provider". This is the base URL used for discovery. type: string client_id: description: > The OIDC app's client ID and OIDC audience. type: string client_secret: description: > The OIDC app's client secret. type: string scopes: description: > The set of scopes to request from the OIDC identity provider. type: array items: type: string EndpointBackend: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean backend: description: > backend to be used to back this endpoint $ref: "#/components/schemas/Ref" EndpointBackendMutate: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean backend_id: description: > backend to be used to back this endpoint type: string EndpointWebsocketTCPConverter: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean EndpointUserAgentFilter: type: object properties: enabled: description: n/a type: boolean allow: description: n/a type: array items: type: string deny: description: n/a type: array items: type: string EndpointTrafficPolicy: type: object properties: enabled: description: > `true` if the module will be applied to traffic, `false` to disable. default `true` if unspecified type: boolean value: description: > the traffic policy that should be applied to the traffic on your endpoint. type: string EdgeRouteItem: type: object properties: edge_id: description: > unique identifier of this edge type: string id: description: > unique identifier of this edge route type: string HTTPSEdgeRouteCreate: type: object required: - match_type - match properties: edge_id: description: > unique identifier of this edge type: string match_type: description: > Type of match to use for this route. Valid values are "exact_path" and "path_prefix". type: string match: description: > Route selector: "/blog" or "example.com" or "example.com/blog" type: string description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. type: string backend: description: > backend module configuration or `null` $ref: "#/components/schemas/EndpointBackendMutate" ip_restriction: description: > ip restriction module configuration or `null` $ref: "#/components/schemas/EndpointIPPolicyMutate" circuit_breaker: description: > circuit breaker module configuration or `null` $ref: "#/components/schemas/EndpointCircuitBreaker" compression: description: > compression module configuration or `null` $ref: "#/components/schemas/EndpointCompression" request_headers: description: > request headers module configuration or `null` $ref: "#/components/schemas/EndpointRequestHeaders" response_headers: description: > response headers module configuration or `null` $ref: "#/components/schemas/EndpointResponseHeaders" webhook_verification: description: > webhook verification module configuration or `null` $ref: "#/components/schemas/EndpointWebhookValidation" oauth: description: > oauth module configuration or `null` $ref: "#/components/schemas/EndpointOAuth" saml: description: > saml module configuration or `null` $ref: "#/components/schemas/EndpointSAMLMutate" oidc: description: > oidc module configuration or `null` $ref: "#/components/schemas/EndpointOIDC" websocket_tcp_converter: description: > websocket to tcp adapter configuration or `null` $ref: "#/components/schemas/EndpointWebsocketTCPConverter" user_agent_filter: description: n/a $ref: "#/components/schemas/EndpointUserAgentFilter" traffic_policy: description: > the traffic policy associated with this edge or null $ref: "#/components/schemas/EndpointTrafficPolicy" HTTPSEdgeRouteUpdate: type: object properties: edge_id: description: > unique identifier of this edge type: string id: description: > unique identifier of this edge route type: string match_type: description: > Type of match to use for this route. Valid values are "exact_path" and "path_prefix". type: string match: description: > Route selector: "/blog" or "example.com" or "example.com/blog" type: string description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. type: string backend: description: > backend module configuration or `null` $ref: "#/components/schemas/EndpointBackendMutate" ip_restriction: description: > ip restriction module configuration or `null` $ref: "#/components/schemas/EndpointIPPolicyMutate" circuit_breaker: description: > circuit breaker module configuration or `null` $ref: "#/components/schemas/EndpointCircuitBreaker" compression: description: > compression module configuration or `null` $ref: "#/components/schemas/EndpointCompression" request_headers: description: > request headers module configuration or `null` $ref: "#/components/schemas/EndpointRequestHeaders" response_headers: description: > response headers module configuration or `null` $ref: "#/components/schemas/EndpointResponseHeaders" webhook_verification: description: > webhook verification module configuration or `null` $ref: "#/components/schemas/EndpointWebhookValidation" oauth: description: > oauth module configuration or `null` $ref: "#/components/schemas/EndpointOAuth" saml: description: > saml module configuration or `null` $ref: "#/components/schemas/EndpointSAMLMutate" oidc: description: > oidc module configuration or `null` $ref: "#/components/schemas/EndpointOIDC" websocket_tcp_converter: description: > websocket to tcp adapter configuration or `null` $ref: "#/components/schemas/EndpointWebsocketTCPConverter" user_agent_filter: description: n/a $ref: "#/components/schemas/EndpointUserAgentFilter" traffic_policy: description: > the traffic policy associated with this edge or null $ref: "#/components/schemas/EndpointTrafficPolicy" HTTPSEdgeRoute: type: object properties: edge_id: description: > unique identifier of this edge type: string id: description: > unique identifier of this edge route type: string created_at: description: > timestamp when the edge configuration was created, RFC 3339 format type: string match_type: description: > Type of match to use for this route. Valid values are "exact_path" and "path_prefix". type: string match: description: > Route selector: "/blog" or "example.com" or "example.com/blog" type: string uri: description: > URI of the edge API resource type: string description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. type: string backend: description: > backend module configuration or `null` $ref: "#/components/schemas/EndpointBackend" ip_restriction: description: > ip restriction module configuration or `null` $ref: "#/components/schemas/EndpointIPPolicy" circuit_breaker: description: > circuit breaker module configuration or `null` $ref: "#/components/schemas/EndpointCircuitBreaker" compression: description: > compression module configuration or `null` $ref: "#/components/schemas/EndpointCompression" request_headers: description: > request headers module configuration or `null` $ref: "#/components/schemas/EndpointRequestHeaders" response_headers: description: > response headers module configuration or `null` $ref: "#/components/schemas/EndpointResponseHeaders" webhook_verification: description: > webhook verification module configuration or `null` $ref: "#/components/schemas/EndpointWebhookValidation" oauth: description: > oauth module configuration or `null` $ref: "#/components/schemas/EndpointOAuth" saml: description: > saml module configuration or `null` $ref: "#/components/schemas/EndpointSAML" oidc: description: > oidc module configuration or `null` $ref: "#/components/schemas/EndpointOIDC" websocket_tcp_converter: description: > websocket to tcp adapter configuration or `null` $ref: "#/components/schemas/EndpointWebsocketTCPConverter" user_agent_filter: description: n/a $ref: "#/components/schemas/EndpointUserAgentFilter" traffic_policy: description: > the traffic policy associated with this edge or null $ref: "#/components/schemas/EndpointTrafficPolicy" HTTPSEdgeList: type: object properties: https_edges: description: > the list of all HTTPS Edges on this account type: array items: $ref: "#/components/schemas/HTTPSEdge" uri: description: > URI of the HTTPS Edge list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string HTTPSEdgeCreate: type: object properties: description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge; optional, max 4096 bytes. type: string hostports: description: > hostports served by this edge type: array items: type: string mutual_tls: description: > edge modules $ref: "#/components/schemas/EndpointMutualTLSMutate" tls_termination: description: n/a $ref: "#/components/schemas/EndpointTLSTerminationAtEdge" HTTPSEdgeUpdate: type: object properties: id: description: > unique identifier of this edge type: string description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge; optional, max 4096 bytes. type: string hostports: description: > hostports served by this edge type: array items: type: string mutual_tls: description: > edge modules $ref: "#/components/schemas/EndpointMutualTLSMutate" tls_termination: description: n/a $ref: "#/components/schemas/EndpointTLSTerminationAtEdge" HTTPSEdge: type: object properties: id: description: > unique identifier of this edge type: string description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge; optional, max 4096 bytes. type: string created_at: description: > timestamp when the edge configuration was created, RFC 3339 format type: string uri: description: > URI of the edge API resource type: string hostports: description: > hostports served by this edge type: array items: type: string mutual_tls: description: > edge modules $ref: "#/components/schemas/EndpointMutualTLS" tls_termination: description: n/a $ref: "#/components/schemas/EndpointTLSTermination" routes: description: > routes type: array items: $ref: "#/components/schemas/HTTPSEdgeRoute" EdgeBackendReplace: type: object properties: id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointBackendMutate" EdgeIPRestrictionReplace: type: object properties: id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointIPPolicyMutate" EdgeMutualTLSReplace: type: object properties: id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointMutualTLSMutate" EdgeTLSTerminationReplace: type: object properties: id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointTLSTermination" EdgeTLSTerminationAtEdgeReplace: type: object properties: id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointTLSTerminationAtEdge" EdgeTrafficPolicyReplace: type: object properties: id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointTrafficPolicy" EdgeRouteBackendReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointBackendMutate" EdgeRouteIPRestrictionReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointIPPolicyMutate" EdgeRouteRequestHeadersReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointRequestHeaders" EdgeRouteResponseHeadersReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointResponseHeaders" EdgeRouteCompressionReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointCompression" EdgeRouteCircuitBreakerReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointCircuitBreaker" EdgeRouteWebhookVerificationReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointWebhookValidation" EdgeRouteOAuthReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointOAuth" EdgeRouteSAMLReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointSAMLMutate" EdgeRouteOIDCReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointOIDC" EdgeRouteWebsocketTCPConverterReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointWebsocketTCPConverter" EdgeRouteUserAgentFilterReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointUserAgentFilter" EdgeRouteTrafficPolicyReplace: type: object properties: edge_id: description: n/a type: string id: description: n/a type: string module: description: n/a $ref: "#/components/schemas/EndpointTrafficPolicy" TCPEdgeList: type: object properties: tcp_edges: description: > the list of all TCP Edges on this account type: array items: $ref: "#/components/schemas/TCPEdge" uri: description: > URI of the TCP Edge list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string TCPEdgeCreate: type: object properties: description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. type: string hostports: description: > hostports served by this edge type: array items: type: string backend: description: > edge modules $ref: "#/components/schemas/EndpointBackendMutate" ip_restriction: description: n/a $ref: "#/components/schemas/EndpointIPPolicyMutate" traffic_policy: description: > the traffic policy associated with this edge or null $ref: "#/components/schemas/EndpointTrafficPolicy" TCPEdgeUpdate: type: object properties: id: description: > unique identifier of this edge type: string description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. type: string hostports: description: > hostports served by this edge type: array items: type: string backend: description: > edge modules $ref: "#/components/schemas/EndpointBackendMutate" ip_restriction: description: n/a $ref: "#/components/schemas/EndpointIPPolicyMutate" traffic_policy: description: > the traffic policy associated with this edge or null $ref: "#/components/schemas/EndpointTrafficPolicy" TCPEdge: type: object properties: id: description: > unique identifier of this edge type: string description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. type: string created_at: description: > timestamp when the edge was created, RFC 3339 format type: string uri: description: > URI of the edge API resource type: string hostports: description: > hostports served by this edge type: array items: type: string backend: description: > edge modules $ref: "#/components/schemas/EndpointBackend" ip_restriction: description: n/a $ref: "#/components/schemas/EndpointIPPolicy" traffic_policy: description: > the traffic policy associated with this edge or null $ref: "#/components/schemas/EndpointTrafficPolicy" TLSEdgeList: type: object properties: tls_edges: description: > the list of all TLS Edges on this account type: array items: $ref: "#/components/schemas/TLSEdge" uri: description: > URI of the TLS Edge list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string TLSEdgeCreate: type: object properties: description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. type: string hostports: description: > hostports served by this edge type: array items: type: string backend: description: > edge modules $ref: "#/components/schemas/EndpointBackendMutate" ip_restriction: description: n/a $ref: "#/components/schemas/EndpointIPPolicyMutate" mutual_tls: description: n/a $ref: "#/components/schemas/EndpointMutualTLSMutate" tls_termination: description: n/a $ref: "#/components/schemas/EndpointTLSTermination" traffic_policy: description: > the traffic policy associated with this edge or null $ref: "#/components/schemas/EndpointTrafficPolicy" TLSEdgeUpdate: type: object properties: id: description: > unique identifier of this edge type: string description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. type: string hostports: description: > hostports served by this edge type: array items: type: string backend: description: > edge modules $ref: "#/components/schemas/EndpointBackendMutate" ip_restriction: description: n/a $ref: "#/components/schemas/EndpointIPPolicyMutate" mutual_tls: description: n/a $ref: "#/components/schemas/EndpointMutualTLSMutate" tls_termination: description: n/a $ref: "#/components/schemas/EndpointTLSTermination" traffic_policy: description: > the traffic policy associated with this edge or null $ref: "#/components/schemas/EndpointTrafficPolicy" TLSEdge: type: object properties: id: description: > unique identifier of this edge type: string description: description: > human-readable description of what this edge will be used for; optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes. type: string created_at: description: > timestamp when the edge configuration was created, RFC 3339 format type: string uri: description: > URI of the edge API resource type: string hostports: description: > hostports served by this edge type: array items: type: string backend: description: > edge modules $ref: "#/components/schemas/EndpointBackend" ip_restriction: description: n/a $ref: "#/components/schemas/EndpointIPPolicy" mutual_tls: description: n/a $ref: "#/components/schemas/EndpointMutualTLS" tls_termination: description: n/a $ref: "#/components/schemas/EndpointTLSTermination" traffic_policy: description: > the traffic policy associated with this edge or null $ref: "#/components/schemas/EndpointTrafficPolicy" Endpoint: type: object properties: id: description: > unique endpoint resource identifier type: string region: description: > identifier of the region this endpoint belongs to type: string created_at: description: > timestamp when the endpoint was created in RFC 3339 format type: string updated_at: description: > timestamp when the endpoint was updated in RFC 3339 format type: string public_url: description: > deprecated [replaced by URL]: URL of the hostport served by this endpoint type: string proto: description: > protocol served by this endpoint. one of `http`, `https`, `tcp`, or `tls` type: string scheme: description: n/a type: string hostport: description: > hostport served by this endpoint (hostname:port) -> soon to be deprecated type: string host: description: n/a type: string port: description: n/a type: integer type: description: > whether the endpoint is `ephemeral` (served directly by an agent-initiated tunnel) or `edge` (served by an edge) or `cloud (represents a cloud endpoint)` type: string metadata: description: > user-supplied metadata of the associated tunnel or edge object type: string description: description: > user-supplied description of the associated tunnel type: string domain: description: > the domain reserved for this endpoint $ref: "#/components/schemas/Ref" tcp_addr: description: > the address reserved for this endpoint $ref: "#/components/schemas/Ref" tunnel: description: > the tunnel serving requests to this endpoint, if this is an ephemeral endpoint $ref: "#/components/schemas/Ref" edge: description: > the edge serving requests to this endpoint, if this is an edge endpoint $ref: "#/components/schemas/Ref" upstream_url: description: > the local address the tunnel forwards to type: string upstream_protocol: description: > the protocol the agent uses to forward with type: string url: description: > the url of the endpoint type: string principal: description: > The ID of the owner (bot or user) that owns this endpoint $ref: "#/components/schemas/Ref" traffic_policy: description: > The traffic policy attached to this endpoint type: string bindings: description: > the bindings associated with this endpoint type: array items: type: string tunnel_session: description: > The tunnel session of the agent for this endpoint $ref: "#/components/schemas/Ref" uri: description: > URI of the Cloud Endpoint API resource type: string name: description: > user supplied name for the endpoint type: string pooling_enabled: description: > whether the endpoint allows pooling type: boolean EndpointList: type: object properties: endpoints: description: > the list of all active endpoints on this account type: array items: $ref: "#/components/schemas/Endpoint" uri: description: > URI of the endpoints list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string EndpointCreate: type: object required: - url - type - traffic_policy properties: url: description: > the url of the endpoint type: string type: description: > Type of endpoint. Only 'cloud' is currently supported (represents a cloud endpoint). Defaults to 'cloud' if not specified. type: string traffic_policy: description: > The traffic policy attached to this endpoint type: string description: description: > user-supplied description of the associated tunnel type: string metadata: description: > user-supplied metadata of the associated tunnel or edge object type: string bindings: description: > the bindings associated with this endpoint type: array items: type: string pooling_enabled: description: n/a type: boolean EndpointListArgs: type: object properties: before_id: description: > Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID. type: string limit: description: > Constrains the number of results in the dataset. See the [API Overview](https://ngrok.com/docs/api/index#pagination) for details. type: string id: description: > Filter results by endpoint IDs. Deprecated: use `filter` instead. type: array items: type: string url: description: > Filter results by endpoint URLs. Deprecated: use `filter` instead. type: array items: type: string filter: description: > A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as `id`, `metadata`, `created_at`, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering. type: string EndpointUpdate: type: object properties: id: description: > unique endpoint resource identifier type: string url: description: > the url of the endpoint type: string traffic_policy: description: > The traffic policy attached to this endpoint type: string description: description: > user-supplied description of the associated tunnel type: string metadata: description: > user-supplied metadata of the associated tunnel or edge object type: string bindings: description: > the bindings associated with this endpoint type: array items: type: string pooling_enabled: description: n/a type: boolean EventDestinationCreate: type: object properties: metadata: description: > Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes. type: string description: description: > Human-readable description of the Event Destination. Optional, max 255 bytes. type: string format: description: > The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. type: string target: description: > An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: `kinesis`, `firehose`, `cloudwatch_logs`, or `s3`. $ref: "#/components/schemas/EventTarget" EventDestinationUpdate: type: object properties: id: description: > Unique identifier for this Event Destination. type: string metadata: description: > Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes. type: string description: description: > Human-readable description of the Event Destination. Optional, max 255 bytes. type: string format: description: > The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. type: string target: description: > An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: `kinesis`, `firehose`, `cloudwatch_logs`, or `s3`. $ref: "#/components/schemas/EventTarget" EventDestination: type: object properties: id: description: > Unique identifier for this Event Destination. type: string metadata: description: > Arbitrary user-defined machine-readable data of this Event Destination. Optional, max 4096 bytes. type: string created_at: description: > Timestamp when the Event Destination was created, RFC 3339 format. type: string description: description: > Human-readable description of the Event Destination. Optional, max 255 bytes. type: string format: description: > The output format you would like to serialize events into when sending to their target. Currently the only accepted value is `JSON`. type: string target: description: > An object that encapsulates where and how to send your events. An event destination must contain exactly one of the following objects, leaving the rest null: `kinesis`, `firehose`, `cloudwatch_logs`, or `s3`. $ref: "#/components/schemas/EventTarget" uri: description: > URI of the Event Destination API resource. type: string EventDestinationList: type: object properties: event_destinations: description: > The list of all Event Destinations on this account. type: array items: $ref: "#/components/schemas/EventDestination" uri: description: > URI of the Event Destinations list API resource. type: string next_page_uri: description: > URI of the next page, or null if there is no next page. type: string EventTarget: type: object properties: firehose: description: > Configuration used to send events to Amazon Kinesis Data Firehose. $ref: "#/components/schemas/EventTargetFirehose" kinesis: description: > Configuration used to send events to Amazon Kinesis. $ref: "#/components/schemas/EventTargetKinesis" cloudwatch_logs: description: > Configuration used to send events to Amazon CloudWatch Logs. $ref: "#/components/schemas/EventTargetCloudwatchLogs" datadog: description: > Configuration used to send events to Datadog. $ref: "#/components/schemas/EventTargetDatadog" azure_logs_ingestion: description: n/a $ref: "#/components/schemas/EventTargetAzureLogsIngestion" EventTargetFirehose: type: object properties: auth: description: > Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. $ref: "#/components/schemas/AWSAuth" delivery_stream_arn: description: > An Amazon Resource Name specifying the Firehose delivery stream to deposit events into. type: string EventTargetKinesis: type: object properties: auth: description: > Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. $ref: "#/components/schemas/AWSAuth" stream_arn: description: > An Amazon Resource Name specifying the Kinesis stream to deposit events into. type: string EventTargetCloudwatchLogs: type: object properties: auth: description: > Configuration for how to authenticate into your AWS account. Exactly one of `role` or `creds` should be configured. $ref: "#/components/schemas/AWSAuth" log_group_arn: description: > An Amazon Resource Name specifying the CloudWatch Logs group to deposit events into. type: string EventTargetDatadog: type: object properties: api_key: description: > Datadog API key to use. type: string ddtags: description: > Tags to send with the event. type: string service: description: > Service name to send with the event. type: string ddsite: description: > Datadog site to send event to. type: string EventTargetAzureLogsIngestion: type: object required: - tenant_id - client_id - client_secret - logs_ingestion_uri - data_collection_rule_id - data_collection_stream_name properties: tenant_id: description: > Tenant ID for the Azure account type: string client_id: description: > Client ID for the application client type: string client_secret: description: > Client Secret for the application client type: string logs_ingestion_uri: description: > Data collection endpoint logs ingestion URI type: string data_collection_rule_id: description: > Data collection rule immutable ID type: string data_collection_stream_name: description: > Data collection stream name to use as destination, located inside the DCR type: string AWSAuth: type: object properties: role: description: > A role for ngrok to assume on your behalf to deposit events into your AWS account. $ref: "#/components/schemas/AWSRole" creds: description: > Credentials to your AWS account if you prefer ngrok to sign in with long-term access keys. $ref: "#/components/schemas/AWSCredentials" AWSRole: type: object required: - role_arn properties: role_arn: description: > An ARN that specifies the role that ngrok should use to deliver to the configured target. type: string AWSCredentials: type: object required: - aws_access_key_id - aws_secret_access_key properties: aws_access_key_id: description: > The ID portion of an AWS access key. type: string aws_secret_access_key: description: > The secret portion of an AWS access key. type: string EventSubscriptionCreate: type: object properties: metadata: description: > Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars. type: string description: description: > Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars. type: string sources: description: > Sources containing the types for which this event subscription will trigger type: array items: $ref: "#/components/schemas/EventSourceReplace" destination_ids: description: > A list of Event Destination IDs which should be used for this Event Subscription. type: array items: type: string EventSubscriptionUpdate: type: object properties: id: description: > Unique identifier for this Event Subscription. type: string metadata: description: > Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars. type: string description: description: > Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars. type: string sources: description: > Sources containing the types for which this event subscription will trigger type: array items: $ref: "#/components/schemas/EventSourceReplace" destination_ids: description: > A list of Event Destination IDs which should be used for this Event Subscription. type: array items: type: string EventSubscriptionList: type: object properties: event_subscriptions: description: > The list of all Event Subscriptions on this account. type: array items: $ref: "#/components/schemas/EventSubscription" uri: description: > URI of the Event Subscriptions list API resource. type: string next_page_uri: description: > URI of next page, or null if there is no next page. type: string EventSubscription: type: object properties: id: description: > Unique identifier for this Event Subscription. type: string uri: description: > URI of the Event Subscription API resource. type: string created_at: description: > When the Event Subscription was created (RFC 3339 format). type: string metadata: description: > Arbitrary customer supplied information intended to be machine readable. Optional, max 4096 chars. type: string description: description: > Arbitrary customer supplied information intended to be human readable. Optional, max 255 chars. type: string sources: description: > Sources containing the types for which this event subscription will trigger type: array items: $ref: "#/components/schemas/EventSource" destinations: description: > Destinations to which these events will be sent type: array items: $ref: "#/components/schemas/Ref" EventSourceReplace: type: object properties: type: description: > Type of event for which an event subscription will trigger type: string EventSource: type: object properties: type: description: > Type of event for which an event subscription will trigger type: string uri: description: > URI of the Event Source API resource. type: string EventSourceList: type: object properties: sources: description: > The list of all Event Sources for an Event Subscription type: array items: $ref: "#/components/schemas/EventSource" uri: description: > URI of the next page, or null if there is no next page. type: string EventSourceCreate: type: object properties: subscription_id: description: > The unique identifier for the Event Subscription that this Event Source is attached to. type: string type: description: > Type of event for which an event subscription will trigger type: string EventSourceUpdate: type: object properties: subscription_id: description: > The unique identifier for the Event Subscription that this Event Source is attached to. type: string type: description: > Type of event for which an event subscription will trigger type: string EventSourceItem: type: object description: > This is needed instead of Item because the parameters are different. properties: subscription_id: description: > The unique identifier for the Event Subscription that this Event Source is attached to. type: string type: description: > Type of event for which an event subscription will trigger type: string EventSourcePaging: type: object description: > This is needed instead of Paging because the parameters are different. We also don't need the typical pagination params because pagination of this isn't necessary or supported. properties: subscription_id: description: > The unique identifier for the Event Subscription that this Event Source is attached to. type: string IPPolicyCreate: type: object properties: description: description: > human-readable description of the source IPs of this IP policy. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. type: string IPPolicyUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of the source IPs of this IP policy. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. type: string IPPolicy: type: object properties: id: description: > unique identifier for this IP policy type: string uri: description: > URI of the IP Policy API resource type: string created_at: description: > timestamp when the IP policy was created, RFC 3339 format type: string description: description: > human-readable description of the source IPs of this IP policy. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this IP policy. optional, max 4096 bytes. type: string IPPolicyList: type: object properties: ip_policies: description: > the list of all IP policies on this account type: array items: $ref: "#/components/schemas/IPPolicy" uri: description: > URI of the IP policy list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string IPPolicyRuleCreate: type: object required: - cidr - ip_policy_id - action properties: description: description: > human-readable description of the source IPs of this IP rule. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. type: string cidr: description: > an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. type: string ip_policy_id: description: > ID of the IP policy this IP policy rule will be attached to type: string action: description: > the action to apply to the policy rule, either `allow` or `deny` type: string IPPolicyRuleUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of the source IPs of this IP rule. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. type: string cidr: description: > an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. type: string IPPolicyRule: type: object properties: id: description: > unique identifier for this IP policy rule type: string uri: description: > URI of the IP policy rule API resource type: string created_at: description: > timestamp when the IP policy rule was created, RFC 3339 format type: string description: description: > human-readable description of the source IPs of this IP rule. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes. type: string cidr: description: > an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported. type: string ip_policy: description: > object describing the IP policy this IP Policy Rule belongs to $ref: "#/components/schemas/Ref" action: description: > the action to apply to the policy rule, either `allow` or `deny` type: string IPPolicyRuleList: type: object properties: ip_policy_rules: description: > the list of all IP policy rules on this account type: array items: $ref: "#/components/schemas/IPPolicyRule" uri: description: > URI of the IP policy rule list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string IPRestrictionCreate: type: object required: - type - ip_policy_ids properties: description: description: > human-readable description of this IP restriction. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. type: string enforced: description: > true if the IP restriction will be enforced. if false, only warnings will be issued type: boolean type: description: > the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: `dashboard`, `api`, `agent`, and `endpoints` type: string ip_policy_ids: description: > the set of IP policy identifiers that are used to enforce the restriction type: array items: type: string IPRestrictionUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this IP restriction. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. type: string enforced: description: > true if the IP restriction will be enforced. if false, only warnings will be issued type: boolean ip_policy_ids: description: > the set of IP policy identifiers that are used to enforce the restriction type: array items: type: string IPRestriction: type: object properties: id: description: > unique identifier for this IP restriction type: string uri: description: > URI of the IP restriction API resource type: string created_at: description: > timestamp when the IP restriction was created, RFC 3339 format type: string description: description: > human-readable description of this IP restriction. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes. type: string enforced: description: > true if the IP restriction will be enforced. if false, only warnings will be issued type: boolean type: description: > the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: `dashboard`, `api`, `agent`, and `endpoints` type: string ip_policies: description: > the set of IP policies that are used to enforce the restriction type: array items: $ref: "#/components/schemas/Ref" IPRestrictionList: type: object properties: ip_restrictions: description: > the list of all IP restrictions on this account type: array items: $ref: "#/components/schemas/IPRestriction" uri: description: > URI of the IP restrictions list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string ReservedAddrCreate: type: object properties: description: description: > human-readable description of what this reserved address will be used for type: string metadata: description: > arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. type: string region: description: > reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) type: string ReservedAddrUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of what this reserved address will be used for type: string metadata: description: > arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. type: string ReservedAddr: type: object properties: id: description: > unique reserved address resource identifier type: string uri: description: > URI of the reserved address API resource type: string created_at: description: > timestamp when the reserved address was created, RFC 3339 format type: string description: description: > human-readable description of what this reserved address will be used for type: string metadata: description: > arbitrary user-defined machine-readable data of this reserved address. Optional, max 4096 bytes. type: string addr: description: > hostname:port of the reserved address that was assigned at creation time type: string region: description: > reserve the address in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa) type: string ReservedAddrList: type: object properties: reserved_addrs: description: > the list of all reserved addresses on this account type: array items: $ref: "#/components/schemas/ReservedAddr" uri: description: > URI of the reserved address list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string ReservedDomainCreate: type: object properties: domain: description: > hostname of the reserved domain type: string region: description: > deprecated: With the launch of the ngrok Global Network domains traffic is now handled globally. This field applied only to endpoints. Note that agents may still connect to specific regions. Optional, null by default. (au, eu, ap, us, jp, in, sa) type: string description: description: > human-readable description of what this reserved domain will be used for type: string metadata: description: > arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. type: string certificate_id: description: > ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. type: string certificate_management_policy: description: > configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. $ref: "#/components/schemas/ReservedDomainCertPolicy" resolves_to: description: > DNS resolver targets configured for the reserved domain, or empty for "global" resolution. type: array items: $ref: "#/components/schemas/ReservedDomainResolvesToEntry" ReservedDomainUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of what this reserved domain will be used for type: string metadata: description: > arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. type: string certificate_id: description: > ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with `certificate_management_policy`. type: string certificate_management_policy: description: > configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with `certificate_id`. $ref: "#/components/schemas/ReservedDomainCertPolicy" resolves_to: description: > DNS resolver targets configured for the reserved domain, or empty for "global" resolution. type: array items: $ref: "#/components/schemas/ReservedDomainResolvesToEntry" ReservedDomain: type: object properties: id: description: > unique reserved domain resource identifier type: string uri: description: > URI of the reserved domain API resource type: string created_at: description: > timestamp when the reserved domain was created, RFC 3339 format type: string description: description: > human-readable description of what this reserved domain will be used for type: string metadata: description: > arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes. type: string domain: description: > hostname of the reserved domain type: string region: description: > deprecated: With the launch of the ngrok Global Network domains traffic is now handled globally. This field applied only to endpoints. Note that agents may still connect to specific regions. Optional, null by default. (au, eu, ap, us, jp, in, sa) type: string cname_target: description: > DNS CNAME target for a custom hostname, or null if the reserved domain is a subdomain of an ngrok owned domain (e.g. *.ngrok.app) type: string certificate: description: > object referencing the TLS certificate used for connections to this domain. This can be either a user-uploaded certificate, the most recently issued automatic one, or null otherwise. $ref: "#/components/schemas/Ref" certificate_management_policy: description: > configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled $ref: "#/components/schemas/ReservedDomainCertPolicy" certificate_management_status: description: > status of the automatic certificate management for this domain, or null if automatic management is disabled $ref: "#/components/schemas/ReservedDomainCertStatus" acme_challenge_cname_target: description: > DNS CNAME target for the host _acme-challenge.example.com, where example.com is your reserved domain name. This is required to issue certificates for wildcard, non-ngrok reserved domains. Must be null for non-wildcard domains and ngrok subdomains. type: string resolves_to: description: > DNS resolver targets configured for the reserved domain, or empty for "global" resolution. type: array items: $ref: "#/components/schemas/ReservedDomainResolvesToEntry" ReservedDomainList: type: object properties: reserved_domains: description: > the list of all reserved domains on this account type: array items: $ref: "#/components/schemas/ReservedDomain" uri: description: > URI of the reserved domain list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string ReservedDomainCertPolicy: type: object properties: authority: description: > certificate authority to request certificates from. The only supported value is letsencrypt. type: string private_key_type: description: > type of private key to use when requesting certificates. Defaults to ecdsa, can be either rsa or ecdsa. type: string ReservedDomainCertStatus: type: object properties: renews_at: description: > timestamp when the next renewal will be requested, RFC 3339 format type: string provisioning_job: description: > status of the certificate provisioning job, or null if the certificiate isn't being provisioned or renewed $ref: "#/components/schemas/ReservedDomainCertJob" ReservedDomainCertJob: type: object properties: error_code: description: > if present, an error code indicating why provisioning is failing. It may be either a temporary condition (INTERNAL_ERROR), or a permanent one the user must correct (DNS_ERROR). type: string msg: description: > a message describing the current status or error type: string started_at: description: > timestamp when the provisioning job started, RFC 3339 format type: string retries_at: description: > timestamp when the provisioning job will be retried type: string ReservedDomainResolvesToEntry: type: object properties: value: description: > accepts an ngrok point-of-presence shortcode, or "global" type: string SecretCreate: type: object properties: name: description: > Name of secret type: string value: description: > Value of secret type: string metadata: description: > Arbitrary user-defined metadata for this Secret type: string description: description: > description of Secret type: string vault_id: description: > unique identifier of the referenced vault type: string vault_name: description: > name of the referenced vault type: string SecretUpdate: type: object properties: id: description: > identifier for Secret type: string name: description: > Name of secret type: string value: description: > Value of secret type: string metadata: description: > Arbitrary user-defined metadata for this Secret type: string description: description: > description of Secret type: string Secret: type: object properties: id: description: > identifier for Secret type: string uri: description: > URI of this Secret API resource type: string created_at: description: > Timestamp when the Secret was created (RFC 3339 format) type: string updated_at: description: > Timestamp when the Secret was last updated (RFC 3339 format) type: string name: description: > Name of secret type: string description: description: > description of Secret type: string metadata: description: > Arbitrary user-defined metadata for this Secret type: string created_by: description: > Reference to who created this Secret $ref: "#/components/schemas/Ref" last_updated_by: description: > Reference to who created this Secret $ref: "#/components/schemas/Ref" vault: description: > Reference to the vault the secret is stored in $ref: "#/components/schemas/Ref" vault_name: description: > Name of the vault the secret is stored in type: string SecretList: type: object properties: secrets: description: > The list of Secrets for this account type: array items: $ref: "#/components/schemas/Secret" uri: description: n/a type: string next_page_uri: description: > URI of the next page of results, or null if there is no next page type: string ServiceUser: type: object properties: id: description: > unique API key resource identifier type: string uri: description: > URI to the API resource of this service user type: string name: description: > human-readable name used to identify the service type: string active: description: > whether or not the service is active type: boolean created_at: description: > timestamp when the api key was created, RFC 3339 format type: string ServiceUserCreate: type: object properties: name: description: > human-readable name used to identify the service type: string active: description: > whether or not the service is active type: boolean ServiceUserUpdate: type: object properties: id: description: n/a type: string name: description: > human-readable name used to identify the service type: string active: description: > whether or not the service is active type: boolean ServiceUserList: type: object properties: service_users: description: > the list of all service users on this account type: array items: $ref: "#/components/schemas/ServiceUser" uri: description: > URI of the service users list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string SSHCertificateAuthorityCreate: type: object properties: description: description: > human-readable description of this SSH Certificate Authority. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. type: string private_key_type: description: > the type of private key to generate. one of `rsa`, `ecdsa`, `ed25519` type: string elliptic_curve: description: > the type of elliptic curve to use when creating an ECDSA key type: string key_size: description: > the key size to use when creating an RSA key. one of `2048` or `4096` type: integer SSHCertificateAuthorityUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this SSH Certificate Authority. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. type: string SSHCertificateAuthority: type: object properties: id: description: > unique identifier for this SSH Certificate Authority type: string uri: description: > URI of the SSH Certificate Authority API resource type: string created_at: description: > timestamp when the SSH Certificate Authority API resource was created, RFC 3339 format type: string description: description: > human-readable description of this SSH Certificate Authority. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this SSH Certificate Authority. optional, max 4096 bytes. type: string public_key: description: > raw public key for this SSH Certificate Authority type: string key_type: description: > the type of private key for this SSH Certificate Authority type: string SSHCertificateAuthorityList: type: object properties: ssh_certificate_authorities: description: > the list of all certificate authorities on this account type: array items: $ref: "#/components/schemas/SSHCertificateAuthority" uri: description: > URI of the certificates authorities list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string SSHCredentialCreate: type: object required: - public_key properties: description: description: > human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. type: string acl: description: > optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains, addresses, and labels the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules for domains may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. Bind rules for labels may specify a wildcard key and/or value to match multiple labels. For example, you may specify a rule of `bind:*=example` which will allow `x=example`, `y=example`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. type: array items: type: string public_key: description: > the PEM-encoded public key of the SSH keypair that will be used to authenticate type: string owner_id: description: > If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot. type: string SSHCredentialUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. type: string acl: description: > optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains, addresses, and labels the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules for domains may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. Bind rules for labels may specify a wildcard key and/or value to match multiple labels. For example, you may specify a rule of `bind:*=example` which will allow `x=example`, `y=example`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. type: array items: type: string SSHCredential: type: object properties: id: description: > unique ssh credential resource identifier type: string uri: description: > URI of the ssh credential API resource type: string created_at: description: > timestamp when the ssh credential was created, RFC 3339 format type: string description: description: > human-readable description of who or what will use the ssh credential to authenticate. Optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this ssh credential. Optional, max 4096 bytes. type: string public_key: description: > the PEM-encoded public key of the SSH keypair that will be used to authenticate type: string acl: description: > optional list of ACL rules. If unspecified, the credential will have no restrictions. The only allowed ACL rule at this time is the `bind` rule. The `bind` rule allows the caller to restrict what domains, addresses, and labels the token is allowed to bind. For example, to allow the token to open a tunnel on example.ngrok.io your ACL would include the rule `bind:example.ngrok.io`. Bind rules for domains may specify a leading wildcard to match multiple domains with a common suffix. For example, you may specify a rule of `bind:*.example.com` which will allow `x.example.com`, `y.example.com`, `*.example.com`, etc. Bind rules for labels may specify a wildcard key and/or value to match multiple labels. For example, you may specify a rule of `bind:*=example` which will allow `x=example`, `y=example`, etc. A rule of `'*'` is equivalent to no acl at all and will explicitly permit all actions. type: array items: type: string owner_id: description: > If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot. type: string SSHCredentialList: type: object properties: ssh_credentials: description: > the list of all ssh credentials on this account type: array items: $ref: "#/components/schemas/SSHCredential" uri: description: > URI of the ssh credential list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string SSHHostCertificateCreate: type: object required: - ssh_certificate_authority_id - public_key properties: ssh_certificate_authority_id: description: > the ssh certificate authority that is used to sign this ssh host certificate type: string public_key: description: > a public key in OpenSSH Authorized Keys format that this certificate signs type: string principals: description: > the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts. type: array items: type: string valid_after: description: > The time when the host certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified. type: string valid_until: description: > The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of one year in the future will be used. The OpenSSH certificates RFC calls this `valid_before`. type: string description: description: > human-readable description of this SSH Host Certificate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. type: string SSHHostCertificateUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this SSH Host Certificate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. type: string SSHHostCertificate: type: object properties: id: description: > unique identifier for this SSH Host Certificate type: string uri: description: > URI of the SSH Host Certificate API resource type: string created_at: description: > timestamp when the SSH Host Certificate API resource was created, RFC 3339 format type: string description: description: > human-readable description of this SSH Host Certificate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this SSH Host Certificate. optional, max 4096 bytes. type: string public_key: description: > a public key in OpenSSH Authorized Keys format that this certificate signs type: string key_type: description: > the key type of the `public_key`, one of `rsa`, `ecdsa` or `ed25519` type: string ssh_certificate_authority_id: description: > the ssh certificate authority that is used to sign this ssh host certificate type: string principals: description: > the list of principals included in the ssh host certificate. This is the list of hostnames and/or IP addresses that are authorized to serve SSH traffic with this certificate. Dangerously, if no principals are specified, this certificate is considered valid for all hosts. type: array items: type: string valid_after: description: > the time when the ssh host certificate becomes valid, in RFC 3339 format. type: string valid_until: description: > the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this `valid_before`. type: string certificate: description: > the signed SSH certificate in OpenSSH Authorized Keys format. this value should be placed in a `-cert.pub` certificate file on disk that should be referenced in your `sshd_config` configuration file with a `HostCertificate` directive type: string SSHHostCertificateList: type: object properties: ssh_host_certificates: description: > the list of all ssh host certificates on this account type: array items: $ref: "#/components/schemas/SSHHostCertificate" uri: description: > URI of the ssh host certificates list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string SSHUserCertificateCreate: type: object required: - ssh_certificate_authority_id - public_key properties: ssh_certificate_authority_id: description: > the ssh certificate authority that is used to sign this ssh user certificate type: string public_key: description: > a public key in OpenSSH Authorized Keys format that this certificate signs type: string principals: description: > the list of principals included in the ssh user certificate. This is the list of usernames that the certificate holder may sign in as on a machine authorizing the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user. type: array items: type: string critical_options: description: > A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: `force-command` and `source-address`. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. type: object extensions: description: > A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: `{"permit-pty": "", "permit-user-rc": ""}` OpenSSH understands a number of predefined extensions. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. type: object valid_after: description: > The time when the user certificate becomes valid, in RFC 3339 format. Defaults to the current time if unspecified. type: string valid_until: description: > The time when this host certificate becomes invalid, in RFC 3339 format. If unspecified, a default value of 24 hours will be used. The OpenSSH certificates RFC calls this `valid_before`. type: string description: description: > human-readable description of this SSH User Certificate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. type: string SSHUserCertificateUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this SSH User Certificate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. type: string SSHUserCertificate: type: object properties: id: description: > unique identifier for this SSH User Certificate type: string uri: description: > URI of the SSH User Certificate API resource type: string created_at: description: > timestamp when the SSH User Certificate API resource was created, RFC 3339 format type: string description: description: > human-readable description of this SSH User Certificate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this SSH User Certificate. optional, max 4096 bytes. type: string public_key: description: > a public key in OpenSSH Authorized Keys format that this certificate signs type: string key_type: description: > the key type of the `public_key`, one of `rsa`, `ecdsa` or `ed25519` type: string ssh_certificate_authority_id: description: > the ssh certificate authority that is used to sign this ssh user certificate type: string principals: description: > the list of principals included in the ssh user certificate. This is the list of usernames that the certificate holder may sign in as on a machine authorizing the signing certificate authority. Dangerously, if no principals are specified, this certificate may be used to log in as any user. type: array items: type: string critical_options: description: > A map of critical options included in the certificate. Only two critical options are currently defined by OpenSSH: `force-command` and `source-address`. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. type: object extensions: description: > A map of extensions included in the certificate. Extensions are additional metadata that can be interpreted by the SSH server for any purpose. These can be used to permit or deny the ability to open a terminal, do port forwarding, x11 forwarding, and more. If unspecified, the certificate will include limited permissions with the following extension map: `{"permit-pty": "", "permit-user-rc": ""}` OpenSSH understands a number of predefined extensions. See [the OpenSSH certificate protocol spec](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys) for additional details. type: object valid_after: description: > the time when the ssh host certificate becomes valid, in RFC 3339 format. type: string valid_until: description: > the time after which the ssh host certificate becomes invalid, in RFC 3339 format. the OpenSSH certificates RFC calls this `valid_before`. type: string certificate: description: > the signed SSH certificate in OpenSSH Authorized Keys Format. this value should be placed in a `-cert.pub` certificate file on disk that should be referenced in your `sshd_config` configuration file with a `HostCertificate` directive type: string SSHUserCertificateList: type: object properties: ssh_user_certificates: description: > the list of all ssh user certificates on this account type: array items: $ref: "#/components/schemas/SSHUserCertificate" uri: description: > URI of the ssh user certificates list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string TLSCertificateCreate: type: object required: - certificate_pem - private_key_pem properties: description: description: > human-readable description of this TLS certificate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. type: string certificate_pem: description: > chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/cloud-edge/endpoints#certificate-chains). type: string private_key_pem: description: > private key for the TLS certificate, PEM-encoded. See [Private Keys](https://ngrok.com/docs/cloud-edge/endpoints#private-keys). type: string TLSCertificateUpdate: type: object properties: id: description: n/a type: string description: description: > human-readable description of this TLS certificate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. type: string TLSCertificate: type: object properties: id: description: > unique identifier for this TLS certificate type: string uri: description: > URI of the TLS certificate API resource type: string created_at: description: > timestamp when the TLS certificate was created, RFC 3339 format type: string description: description: > human-readable description of this TLS certificate. optional, max 255 bytes. type: string metadata: description: > arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes. type: string certificate_pem: description: > chain of PEM-encoded certificates, leaf first. See [Certificate Bundles](https://ngrok.com/docs/cloud-edge/endpoints#certificate-chains). type: string subject_common_name: description: > subject common name from the leaf of this TLS certificate type: string subject_alternative_names: description: > subject alternative names (SANs) from the leaf of this TLS certificate $ref: "#/components/schemas/TLSCertificateSANs" issued_at: description: > timestamp (in RFC 3339 format) when this TLS certificate was issued automatically, or null if this certificate was user-uploaded type: string not_before: description: > timestamp when this TLS certificate becomes valid, RFC 3339 format type: string not_after: description: > timestamp when this TLS certificate becomes invalid, RFC 3339 format type: string key_usages: description: > set of actions the private key of this TLS certificate can be used for type: array items: type: string extended_key_usages: description: > extended set of actions the private key of this TLS certificate can be used for type: array items: type: string private_key_type: description: > type of the private key of this TLS certificate. One of rsa, ecdsa, or ed25519. type: string issuer_common_name: description: > issuer common name from the leaf of this TLS certificate type: string serial_number: description: > serial number of the leaf of this TLS certificate type: string subject_organization: description: > subject organization from the leaf of this TLS certificate type: string subject_organizational_unit: description: > subject organizational unit from the leaf of this TLS certificate type: string subject_locality: description: > subject locality from the leaf of this TLS certificate type: string subject_province: description: > subject province from the leaf of this TLS certificate type: string subject_country: description: > subject country from the leaf of this TLS certificate type: string TLSCertificateList: type: object properties: tls_certificates: description: > the list of all TLS certificates on this account type: array items: $ref: "#/components/schemas/TLSCertificate" uri: description: > URI of the TLS certificates list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string TLSCertificateSANs: type: object properties: dns_names: description: > set of additional domains (including wildcards) this TLS certificate is valid for type: array items: type: string ips: description: > set of IP addresses this TLS certificate is also valid for type: array items: type: string Tunnel: type: object properties: id: description: > unique tunnel resource identifier type: string public_url: description: > URL of the ephemeral tunnel's public endpoint type: string started_at: description: > timestamp when the tunnel was initiated in RFC 3339 format type: string metadata: description: > user-supplied metadata for the tunnel defined in the ngrok configuration file. See the tunnel [metadata configuration option](https://ngrok.com/docs/secure-tunnels/ngrok-agent/reference/config#common-tunnel-configuration-properties) In API version 0, this value was instead pulled from the top-level [metadata configuration option](https://ngrok.com/docs/secure-tunnels/ngrok-agent/reference/config#metadata). type: string proto: description: > tunnel protocol for ephemeral tunnels. one of `http`, `https`, `tcp` or `tls` type: string region: description: > identifier of tune region where the tunnel is running type: string tunnel_session: description: > reference object pointing to the tunnel session on which this tunnel was started $ref: "#/components/schemas/Ref" endpoint: description: > the ephemeral endpoint this tunnel is associated with, if this is an agent-initiated tunnel $ref: "#/components/schemas/Ref" labels: description: > the labels the tunnel group backends will match against, if this is a backend tunnel type: object backends: description: > tunnel group backends served by this backend tunnel type: array items: $ref: "#/components/schemas/Ref" forwards_to: description: > upstream address the ngrok agent forwards traffic over this tunnel to. this may be expressed as a URL or a network address. type: string TunnelList: type: object properties: tunnels: description: > the list of all online tunnels on this account type: array items: $ref: "#/components/schemas/Tunnel" uri: description: > URI of the tunnels list API resource type: string next_page_uri: description: > URI of the next page, or null if there is no next page type: string VaultCreate: type: object properties: name: description: > Name of vault type: string metadata: description: > Arbitrary user-defined metadata for this Vault type: string description: description: > description of Vault type: string VaultUpdate: type: object properties: id: description: > identifier for Vault type: string name: description: > Name of vault type: string metadata: description: > Arbitrary user-defined metadata for this Vault type: string description: description: > description of Vault type: string Vault: type: object properties: id: description: > identifier for Vault type: string uri: description: > URI of this Vault API resource type: string created_at: description: > Timestamp when the Vault was created (RFC 3339 format) type: string updated_at: description: > Timestamp when the Vault was last updated (RFC 3339 format) type: string name: description: > Name of vault type: string description: description: > description of Vault type: string metadata: description: > Arbitrary user-defined metadata for this Vault type: string created_by: description: > Reference to who created this Vault type: string last_updated_by: description: > Reference to who created this Vault type: string VaultList: type: object properties: vaults: description: > The list of Vaults for this account type: array items: $ref: "#/components/schemas/Vault" uri: description: n/a type: string next_page_uri: description: > URI of the next page of results, or null if there is no next page type: string