openapi: 3.1.0 info: title: Ngrok Abuse Reports SSH Credentials API description: The ngrok API provides programmatic access to all of ngrok's resources. The API is REST-ish. It follows most of the conventions of a REST API but diverges slightly when the REST model does not fit well. The API listens only on port 443 to help avoid any accidental unencrypted requests. All API access requires an API key. version: 2.0.0 contact: name: Ngrok url: https://ngrok.com license: name: Proprietary url: https://ngrok.com/tos servers: - url: https://api.ngrok.com description: Ngrok API Production Server security: - bearerAuth: [] - apiKeyAuth: [] tags: - name: SSH Credentials description: SSH Credentials are public keys for authenticating SSH tunnel sessions. paths: /ssh_credentials: post: operationId: createSshCredential summary: Ngrok Create SSH Credential description: Create a new SSH credential for authenticating to ngrok tunnels. tags: - SSH Credentials requestBody: required: true content: application/json: schema: type: object required: - public_key properties: description: type: string metadata: type: string acl: type: array items: type: string public_key: type: string description: The PEM-encoded public key of the SSH credential. owner_id: type: string responses: '201': description: SSH credential created. content: application/json: schema: $ref: '#/components/schemas/SshCredential' get: operationId: listSshCredentials summary: Ngrok List SSH Credentials description: List all SSH credentials on this account. tags: - SSH Credentials parameters: - $ref: '#/components/parameters/BeforeId' - $ref: '#/components/parameters/Limit' responses: '200': description: List of SSH credentials. content: application/json: schema: $ref: '#/components/schemas/SshCredentialList' /ssh_credentials/{id}: get: operationId: getSshCredential summary: Ngrok Get SSH Credential description: Get the details of an SSH credential by ID. tags: - SSH Credentials parameters: - $ref: '#/components/parameters/Id' responses: '200': description: SSH credential details. content: application/json: schema: $ref: '#/components/schemas/SshCredential' patch: operationId: updateSshCredential summary: Ngrok Update SSH Credential description: Update attributes of an SSH credential by ID. tags: - SSH Credentials parameters: - $ref: '#/components/parameters/Id' requestBody: required: true content: application/json: schema: type: object properties: description: type: string metadata: type: string acl: type: array items: type: string responses: '200': description: SSH credential updated. content: application/json: schema: $ref: '#/components/schemas/SshCredential' delete: operationId: deleteSshCredential summary: Ngrok Delete SSH Credential description: Delete an SSH credential by ID. tags: - SSH Credentials parameters: - $ref: '#/components/parameters/Id' responses: '204': description: SSH credential deleted. components: parameters: Id: name: id in: path required: true schema: type: string description: A unique identifier for the resource. BeforeId: name: before_id in: query required: false schema: type: string description: An ID to use for pagination. Results returned will be before this ID. Limit: name: limit in: query required: false schema: type: string description: The maximum number of results to return. Maximum is 100. schemas: SshCredentialList: type: object properties: ssh_credentials: type: array items: $ref: '#/components/schemas/SshCredential' uri: type: string next_page_uri: type: string SshCredential: type: object properties: id: type: string uri: type: string created_at: type: string format: date-time description: type: string metadata: type: string public_key: type: string acl: type: array items: type: string owner_id: type: string securitySchemes: bearerAuth: type: http scheme: bearer description: Use an ngrok API key as a Bearer token. Create API keys from the ngrok dashboard or via the API Keys endpoints. apiKeyAuth: type: apiKey in: header name: Authorization description: Pass the API key in the Authorization header prefixed with 'Bearer '.