openapi: 3.1.0 info: title: Ngrok Abuse Reports API Keys 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: API Keys description: API Keys are used to authenticate to the ngrok API. paths: /api_keys: post: operationId: createApiKey summary: Ngrok Create API Key description: Create a new API key. tags: - API Keys requestBody: required: true content: application/json: schema: type: object properties: description: type: string metadata: type: string owner_id: type: string description: The ID of the owner resource. responses: '201': description: API key created. content: application/json: schema: $ref: '#/components/schemas/ApiKey' get: operationId: listApiKeys summary: Ngrok List API Keys description: List all API keys on this account. tags: - API Keys parameters: - $ref: '#/components/parameters/BeforeId' - $ref: '#/components/parameters/Limit' responses: '200': description: List of API keys. content: application/json: schema: $ref: '#/components/schemas/ApiKeyList' /api_keys/{id}: get: operationId: getApiKey summary: Ngrok Get API Key description: Get the details of an API key by ID. tags: - API Keys parameters: - $ref: '#/components/parameters/Id' responses: '200': description: API key details. content: application/json: schema: $ref: '#/components/schemas/ApiKey' patch: operationId: updateApiKey summary: Ngrok Update API Key description: Update attributes of an API key by ID. tags: - API Keys parameters: - $ref: '#/components/parameters/Id' requestBody: required: true content: application/json: schema: type: object properties: description: type: string metadata: type: string responses: '200': description: API key updated. content: application/json: schema: $ref: '#/components/schemas/ApiKey' delete: operationId: deleteApiKey summary: Ngrok Delete API Key description: Delete an API key by ID. tags: - API Keys parameters: - $ref: '#/components/parameters/Id' responses: '204': description: API key deleted. components: schemas: ApiKeyList: type: object properties: keys: type: array items: $ref: '#/components/schemas/ApiKey' uri: type: string next_page_uri: type: string ApiKey: type: object properties: id: type: string uri: type: string description: type: string metadata: type: string created_at: type: string format: date-time token: type: string description: Only present in create response. owner_id: type: string 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. 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 '.