APIs.io Engineering Platform Secret Scanner API

The **Secret Scanner** endpoints enable you to manage the secrets detected by Postman's [Secret Scanner](https://learning.postman.com/docs/administration/secret-scanner/). These endpoints are only available on [**Enterprise** plans](https://www.postman.com/pricing/#enterprise-solutions) with the **Advanced Security Administration** add-on feature.

Documentation

Specifications

Other Resources

🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1ab188a6-cc1f-490d-9413-9c6da20918d0?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-0e94f581-cbc1-48e0-b594-1f6b3d07a328?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4517d93a-e7f7-4dc2-b572-06762bbe14de?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-88f9ddbb-3115-47dc-b6e5-7fc6f1d2a190?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-3a12caae-4945-4df4-8ab9-bb6219ba7a9f?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-863b18f0-c2f2-4e32-a5fa-0d1e6ccf77a9?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-189876d1-f207-49a2-a4bc-5c67ae78cd19?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c1e74fd9-3f84-4d95-943d-d645d6cb82f7?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b002164d-6e8a-4b6d-b409-4929476e7818?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-508660fd-30b8-4c9c-aede-8edbac8a514d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-da35e0ba-f1a9-42fe-a77a-56ff0a47e341?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1d4df7d0-9c92-4fa8-946f-2110c2b3b48d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-2af6f54f-d259-46c0-8f86-78856f5885cd?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-cc203f31-e7f6-42ec-ad34-c5c4cde58904?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-f19285da-48dd-4691-bbdf-f7d6bec157a3?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa69cacc-4bbf-4724-a1d4-78cdad57fee8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-a5858f86-04d3-4e15-ae11-b42c7516688b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c2052341-766c-43c7-b1dc-ed4985e4606b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa777c90-8271-4809-8eac-3ec39a9a899c?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4d5957dc-df05-4216-a5fc-d46b3ba811d8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-28d97617-fdba-46a5-ac3e-40f3d2e0fa57?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-7429b451-d812-4abc-b497-b763372cf5c5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b0eafdd0-adaa-48a2-a855-6a31beb86d83?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-209f34ef-13c1-400c-bca8-fcddb304aff5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-fb2bbbb8-d4cc-48b1-a660-c8e158bfbbea?action=share&creator=35240

OpenAPI Specification

engineering-platform-secret-scanner-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: "1.0.0"
  x-release: v4
  title: APIs.io Engineering Platform Amazon API Gateway 2014 11 13 Secret Scanner API
  description: <fullname>Amazon API Gateway</fullname> <p>Amazon API Gateway helps developers deliver robust, secure, and scalable mobile and web application back ends. API Gateway allows developers to securely connect mobile and web applications to APIs that run on AWS Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS.</p>
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
    backgroundColor: '#FFFFFF'
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: mike.ralphson@gmail.com
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: apigateway
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/apigateway-2015-07-09.normal.json
    converter:
      url: https://github.com/mermade/aws2openapi
    x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
  - cloud
  x-preferred: true
servers:
- url: http://apigateway.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The Amazon API Gateway multi-region endpoint
- url: https://apigateway.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The Amazon API Gateway multi-region endpoint
- url: http://apigateway.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Amazon API Gateway endpoint for China (Beijing) and China (Ningxia)
- url: https://apigateway.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Amazon API Gateway endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: Secret Scanner
  description: The **Secret Scanner** endpoints enable you to manage the secrets detected by Postman's [Secret Scanner](https://learning.postman.com/docs/administration/secret-scanner/). These endpoints are only available on [**Enterprise** plans](https://www.postman.com/pricing/#enterprise-solutions) with the **Advanced Security Administration** add-on feature.
paths:
  /detected-secrets-queries:
    post:
      summary: APIs.io Engineering Platform Search detected secrets
      description: Returns all secrets detected by Postman's [Secret Scanner](https://learning.postman.com/docs/administration/secret-scanner/), grouped by workspace. If you pass an empty request body, this endpoint returns all results.
      operationId: detectedSecretsQueries
      x-postman-plan: Enterprise
      tags:
      - Secret Scanner
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/include'
      - $ref: '#/components/parameters/since'
      - $ref: '#/components/parameters/until'
      requestBody:
        $ref: '#/components/requestBodies/detectedSecretsQueries'
      responses:
        '200':
          $ref: '#/components/responses/detectedSecretsQueries'
        '400':
          $ref: '#/components/responses/secretScanner400Error'
        '401':
          $ref: '#/components/responses/secretScanner401Error'
        '403':
          $ref: '#/components/responses/secretScanner403ErrorAndFeatureUnavailable'
        '500':
          $ref: '#/components/responses/secretScanner500Error'
  /detected-secrets/{secretId}:
    parameters:
    - $ref: '#/components/parameters/secretId'
    put:
      summary: APIs.io Engineering Platform Update detected secret resolution status
      description: Updates the resolution status of a secret detected in a workspace.
      operationId: updateDetectedSecretResolutions
      x-postman-plan: Enterprise
      tags:
      - Secret Scanner
      requestBody:
        $ref: '#/components/requestBodies/updateSecretResolutions'
      responses:
        '200':
          $ref: '#/components/responses/updateSecretResolutions'
        '400':
          $ref: '#/components/responses/secretScanner400InvalidResolutionError'
        '401':
          $ref: '#/components/responses/secretScanner401Error'
        '403':
          $ref: '#/components/responses/secretScanner403ErrorAndFeatureUnavailable'
        '500':
          $ref: '#/components/responses/secretScanner500Error'
  /detected-secrets/{secretId}/locations:
    parameters:
    - $ref: '#/components/parameters/secretId'
    get:
      summary: APIs.io Engineering Platform Get detected secrets locations
      description: Gets the locations of secrets detected by Postman's [Secret Scanner](https://learning.postman.com/docs/administration/secret-scanner/).
      operationId: getDetectedSecretsLocations
      x-postman-plan: Enterprise
      tags:
      - Secret Scanner
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/workspaceIdQueryTrue'
      - $ref: '#/components/parameters/since'
      - $ref: '#/components/parameters/until'
      responses:
        '200':
          $ref: '#/components/responses/getSecretsLocations'
        '400':
          $ref: '#/components/responses/secretScanner400Error'
        '401':
          $ref: '#/components/responses/secretScanner401Error'
        '403':
          $ref: '#/components/responses/secretScanner403ErrorAndFeatureUnavailable'
        '500':
          $ref: '#/components/responses/secretScanner500Error'
  /secret-types:
    get:
      summary: APIs.io Engineering Platform Get secret types
      description: Gets the metadata of the secret types supported by Postman's [Secret Scanner](https://learning.postman.com/docs/administration/secret-scanner/). You can use a secret type's ID in the response to query data with the POST `/detected-secrets/{secretId}` endpoint.
      operationId: getSecretTypes
      x-postman-plan: Enterprise
      tags:
      - Secret Scanner
      responses:
        '200':
          $ref: '#/components/responses/getSecretTypes'
        '401':
          $ref: '#/components/responses/secretScanner401Error'
        '403':
          $ref: '#/components/responses/secretScanner403ErrorAndFeatureUnavailable'
        '500':
          $ref: '#/components/responses/secretScanner500Error'
components:
  schemas:
    sinceDateTime:
      type: string
      format: date-time
      example: '2022-06-01T00:00:00.000Z'
    updateSecretResolutionsRequest:
      title: Update Secret Resolution Request
      required:
      - resolution
      - workspaceId
      type: object
      properties:
        resolution:
          type: string
          description: 'The secret''s updated resolution status:

            - `FALSE_POSITIVE` — The discovered secret is not an actual secret.

            - `REVOKED` — The secret is valid, but the user rotated their key to resolve the issue.

            - `ACCEPTED_RISK` — The Secret Scanner found the secret, but user accepts the risk of publishing it.

            '
          enum:
          - FALSE_POSITIVE
          - REVOKED
          - ACCEPTED_RISK
          example: ACCEPTED_RISK
        workspaceId:
          type: string
          description: The ID of the workspace that contains the secret.
          example: e361eeb4-00dd-4225-9774-6146a2555999
    secretScanner403Error:
      title: Forbidden
      type: object
      properties:
        instance:
          type: string
          description: The URI reference that identifies the specific occurrence of the problem.
          example: ''
        status:
          type: number
          format: http-status-code
          description: The error's HTTP status code.
          example: 403
        title:
          type: string
          description: A short summary of the problem.
          example: Only members with Superadmin, Admin, or Workspace Admin roles can view the detected secrets.
        type:
          type: string
          description: The type of error.
          example: FORBIDDEN
    detectedSecretsQueriesRequest:
      title: Detected Secrets Query Request
      type: object
      properties:
        resolved:
          type: boolean
          description: If true, return secrets with a `resolved` status.
          example: true
        secretTypes:
          type: array
          description: A list of secrets types to query. For a list of valid IDs, use the GET `/secret-types` endpoint.
          items:
            type: string
            description: The secret type ID.
            example: 1a7ec5d1-dcba-4ec7-8220-3c1ee490416b
        statuses:
          type: array
          description: A list of the types of resolution statuses to query.
          items:
            type: string
            description: 'The secret resolution status type:

              - `FALSE_POSITIVE` — The discovered secret is not an actual secret.

              - `REVOKED` — The secret is valid, but the user rotated their key to resolve the issue.

              - `ACCEPTED_RISK` — The Secret Scanner found the secret, but user accepts the risk of publishing it.

              '
            enum:
            - FALSE_POSITIVE
            - ACCEPTED_RISK
            - REVOKED
            example: ACCEPTED_RISK
        workspaceIds:
          type: array
          description: A list of workspaces IDs to query.
          items:
            type: string
            description: The workspace ID.
            example: 0fe6c2f2-022d-48f7-8e7e-3244369445b0
        workspaceVisiblities:
          type: array
          description: A list of workspace [visibility settings](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/managing-workspaces/#changing-workspace-visibility) to query. This currently supports the `team` and `public` settings.
          items:
            type: string
            description: The type of visibility setting.
            enum:
            - team
            - public
            example: team
    updateSecretResolutions:
      title: Successful Response
      type: object
      properties:
        secretHash:
          type: string
          description: The SHA-256 hash of the detected secret.
          example: 50dbd2...
        workspaceId:
          type: string
          description: The ID of the workspace that contains the secret.
          example: 1f0df51a-8658-4ee8-a2a1-d2567dfa09a9
        resolution:
          type: string
          description: 'The secret''s current resolution status:

            - `ACTIVE` — The secret is active.

            - `FALSE_POSITIVE` — The discovered secret is not an actual secret.

            - `REVOKED` — The secret is valid, but the user rotated their key to resolve the issue.

            - `ACCEPTED_RISK` — The Secret Scanner found the secret, but user accepts the risk of publishing it.

            '
          example: FALSE_POSITIVE
          enum:
          - FALSE_POSITIVE
          - ACCEPTED_RISK
          - REVOKED
          - ACTIVE
        history:
          type: array
          description: The history of the secret's resolution status changes.
          items:
            type: object
            properties:
              actor:
                type: number
                description: The ID of the user that updated the secret's resolution status.
                example: 12345678
              createdAt:
                type: string
                format: date-time
                description: The date and time at which the resolution status was updated.
                example: '2024-09-18T18:46:26.000Z'
              resolution:
                type: string
                description: 'The secret''s updated resolution status:

                  - `ACTIVE` — The secret is active.

                  - `FALSE_POSITIVE` — The discovered secret is not an actual secret.

                  - `REVOKED` — The secret is valid, but the user rotated their key to resolve the issue.

                  - `ACCEPTED_RISK` — The Secret Scanner found the secret, but user accepts the risk of publishing it.

                  '
                enum:
                - FALSE_POSITIVE
                - ACCEPTED_RISK
                - REVOKED
                - ACTIVE
                example: FALSE_POSITIVE
    secretScanner500Error:
      title: Internal Server Error
      type: object
      properties:
        instance:
          type: string
          description: The URI reference that identifies the specific occurrence of the problem.
          example: ''
        status:
          type: number
          format: http-status-code
          description: The error's HTTP status code.
          example: 500
        title:
          type: string
          description: A short summary of the problem.
          example: An error occurred
        type:
          type: string
          description: The type of error.
          example: SERVER_ERROR
    getSecretsLocations:
      title: Successful Response
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            description: Information about the secret finding locations.
            properties:
              isResourceDeleted:
                type: boolean
                description: If true, the resource in which the secret was found was deleted.
                example: false
              leakedBy:
                type: integer
                description: The ID of the user who exposed the secret.
                example: 12345678
              location:
                type: string
                description: The location where the secret was found.
                example: Headers
              occurrences:
                type: integer
                description: The number of times the secret occurs in the location.
                example: 1
              parentResourceId:
                type: string
                format: uid
                description: The parent resource's unique ID. If the resource is a request, folder, or example, this value is a collection ID. If the resource is a collection, globals, or environment, this is the resource's ID.
                example: 12345678-14728df4-c7af-424f-b665-5047b7d25866
              resourceId:
                type: string
                format: uid
                description: The unique ID of the resource where the secret was detected.
                example: 12345678-e0df25e0-d245-40dd-89b5-68720d186d3f
              resourceType:
                type: string
                description: The type of resource in which the secret was detected.
                enum:
                - collection
                - folder
                - request
                - example
                - environment
                - globals
                - api
                example: example
              detectedAt:
                type: string
                format: date-time
                description: The date and time at which the secret was detected.
                example: '2023-04-25T08:13:48.000Z'
              url:
                type: string
                description: The URL to the resource that contains the secret.
                example: https://go.postman-beta.co/build/workspace/80ab14ae-c17d-4fd6-88d5-99bf13f0b7f0/example/12345678-e0df25e0-d245-40dd-89b5-68720d186d3f
        meta:
          type: object
          properties:
            activityFeed:
              type: array
              description: The history of the secret's resolution status changes.
              items:
                type: object
                properties:
                  resolvedAt:
                    type: string
                    format: date-time
                    description: The date and time at which the resolution status was last updated.
                    example: '2023-04-25T11:18:07.000Z'
                  resolvedBy:
                    type: integer
                    description: The ID of the user that updated the secret's resolution status.
                    example: 12345678
                  status:
                    type: string
                    description: 'The secret''s current resolution status:

                      - `ACTIVE` — The secret is active.

                      - `FALSE_POSITIVE` — The discovered secret is not an actual secret.

                      - `REVOKED` — The secret is valid, but the user rotated their key to resolve the issue.

                      - `ACCEPTED_RISK` — The Secret Scanner found the secret, but user accepts the risk of publishing it.

                      '
                    enum:
                    - FALSE_POSITIVE
                    - ACCEPTED_RISK
                    - REVOKED
                    - ACTIVE
                    example: FALSE_POSITIVE
            cursor:
              type: string
              description: The pointer to the first record of the set of paginated results.
              example: MTIyNjY5Nw==
            limit:
              type: integer
              description: The maximum number of rows to return in the response.
              example: 2
            nextCursor:
              type: string
              nullable: true
              description: The Base64-encoded value that points to the next record in the results set.
              example: null
            obfuscatedSecret:
              type: string
              description: The secret's obfuscated value.
              example: PMAK-644781584627df042afa6655-******ba
            secretHash:
              type: string
              description: The secret's SHA-256 hash.
              example: 0096b35ef6621d7571f106fefee5b10e8ed360cc9bf04f343f267ca4ff65bb5d
            secretType:
              type: string
              description: The type of thesecret.
              example: Postman API Key
            total:
              type: integer
              description: The total number of discovered secret locations.
              example: 3
    secretScanner401Error:
      title: Unauthorized
      type: object
      properties:
        instance:
          type: string
          description: The URI reference that identifies the specific occurrence of the problem.
          example: ''
        status:
          type: number
          format: http-status-code
          description: The error's HTTP status code.
          example: 401
        title:
          type: string
          description: A short summary of the problem.
          example: Unauthorized. Please try again with valid credentials.
        type:
          type: string
          description: The type of error.
          example: UNAUTHORIZED
    workspaceId:
      type: string
      example: 1f0df51a-8658-4ee8-a2a1-d2567dfa09a9
    featureUnavailable403Error:
      title: Feature Unavailable
      type: object
      properties:
        type:
          type: string
          format: uri-reference
          description: The [URI reference](https://www.rfc-editor.org/rfc/rfc3986) that identifies the type of problem.
          example: https://api.postman.com/problems/forbidden
        title:
          type: string
          description: A short summary of the problem.
          example: Forbidden
        detail:
          type: string
          description: Information about the error.
          example: This feature isn't available in your region.
        status:
          type: integer
          format: http-status-code
          description: The error's HTTP status code.
          example: 403
    limit:
      type: integer
      default: 10
      example: 10
    cursor:
      type: string
      example: RnJpIEZlYiAyNCAyMDIzIDEzOjI0OjA5IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=
    getSecretTypes:
      title: Successful Response
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            description: Information about the secret type.
            properties:
              name:
                type: string
                description: The name of the secret type.
                example: Postman Collection Key
              id:
                type: string
                description: The ID of the secret type.
                example: 04084949-0dda-4735-ace5-f83038f7b200
              type:
                type: string
                description: 'The origin of the secret type:

                  - `DEFAULT` — Supported by default in Postman.

                  - `TEAM_REGEX` — A custom regex added by an Admin or Super Admin user in the **Configure Alerts** section of the [**Team Settings**](https://learning.postman.com/docs/administration/team-settings/) interface.

                  '
                enum:
                - DEFAULT
                - TEAM_REGEX
                example: TEAM_REGEX
        meta:
          type: object
          properties:
            total:
              type: integer
              description: The total number of supported secrets.
              example: 4
    include:
      type: string
      example: meta.total
    untilDateTime:
      type: string
      format: date-time
      example: '2022-06-15T00:00:00.000Z'
    secretId:
      type: string
      example: MTc0ODA0Mw==
    detectedSecretsQueries:
      title: Search Detected Secrets Request
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            description: Information about the secret finding.
            properties:
              obfuscatedSecret:
                type: string
                description: The secret's obfuscated value.
                example: keyTF2WAH******
              occurrences:
                type: number
                description: The number of times the secret was found in the workspace.
                example: 3
              resolution:
                type: string
                description: 'The secret''s current status:

                  - `ACTIVE` — The secret is active.

                  - `FALSE_POSITIVE` — The discovered secret is not an actual secret.

                  - `REVOKED` — The secret is valid, but the user rotated their key to resolve the issue.

                  - `ACCEPTED_RISK` — The Secret Scanner found the secret, but user accepts the risk of publishing it.

                  '
                enum:
                - FALSE_POSITIVE
                - ACCEPTED_RISK
                - REVOKED
                - ACTIVE
                example: FALSE_POSITIVE
              secretHash:
                type: string
                description: The SHA-256 hash of the detected secret.
                example: 07afd1f787f3555d441b04870dbe1025db8309fbeb31f25b3a20f2f1241478b3
              secretId:
                type: string
                description: The detected secret's ID.
                example: OTI3OTYx
              secretType:
                type: string
                description: The type of the secret.
                example: Airtable API Key
              detectedAt:
                type: string
                format: date-time
                example: '2023-05-19T02:45:31.000Z'
                description: The date and time at which the secret was first detected.
              workspaceId:
                type: string
                description: The ID of the workspace that contains the secret.
                example: e361eeb4-00dd-4225-9774-6146a2555999
              workspaceVisibility:
                type: string
                description: The workspace's [visibility setting](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/managing-workspaces/#changing-workspace-visibility).
                enum:
                - personal
                - private
                - team
                - public
                example: team
        meta:
          type: object
          description: The response's meta information for paginated results.
          properties:
            limit:
              type: number
              description: The maximum number of records in the paginated response.
              example: 2
            nextCursor:
              type: string
              nullable: true
              format: base64
              description: The pagination cursor that points to the next record in the results set.
              example: M2JmMWI2YWJiNTFlMjIyOGRiZTk4OWEzNjNjZmMxYjI4YjUxNTRjZGJiMmFiMTk4YTNjMjc2YjU4ZDVlODJiZHw1Y2M1MDZmNS0xMWQzLTQxM2QtYjBmNy1jZjk1OTIxZjRlNDE=
            total:
              type: number
              description: The number of records that match the defined criteria. This will only be present if the `include` query parameter is specified with the `meta.total` value.
              example: 20
    secretScanner400Error:
      title: Bad Request
      type: object
      properties:
        instance:
          type: string
          description: The URI reference that identifies the specific occurrence of the problem.
          example: ''
        status:
          type: number
          format: http-status-code
          description: The error's HTTP status code.
          example: 400
        title:
          type: string
          description: A short summary of the problem.
          example: limit specified is invalid
        type:
          type: string
          description: The type of error.
          example: BAD_REQUEST
  requestBodies:
    updateSecretResolutions:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/updateSecretResolutionsRequest'
          example:
            resolution: ACCEPTED_RISK
            workspaceId: e361eeb4-00dd-4225-9774-6146a2555999
    detectedSecretsQueries:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/detectedSecretsQueriesRequest'
          example:
            secretTypes:
            - 1a7ec5d1-dcba-4ec7-8220-3c1ee490416b
            - 3b6ec9d2-dabc-5e67-1220-6coie490416b
            resolved: true
            statuses:
            - ACCEPTED_RISK
            - REVOKED
            workspaceIds:
            - 0fe6c2f2-022d-48f7-8e7e-3244369445b0
            - 80ab14ae-c17d-4fd6-88d5-99bf13f0b7f0
            workspaceVisiblities:
            - team
  parameters:
    include:
      name: include
      in: query
      description: The additional fields to be included as a part of the request.
      schema:
        $ref: '#/components/schemas/include'
    workspaceIdQueryTrue:
      name: workspaceId
      in: query
      required: true
      description: The workspace's ID.
      schema:
        $ref: '#/components/schemas/workspaceId'
    since:
      name: since
      in: query
      description: Return only results created since the given time, in [ISO 8601](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format. This value cannot be later than the `until` value.
      schema:
        $ref: '#/components/schemas/sinceDateTime'
    cursor:
      name: cursor
      in: query
      description: The pointer to the first record of the set of paginated results. To view the next response, use the `nextCursor` value for this parameter.
      schema:
        $ref: '#/components/schemas/cursor'
    limit:
      name: limit
      in: query
      description: The maximum number of rows to return in the response.
      schema:
        $ref: '#/components/schemas/limit'
    secretId:
      name: secretId
      in: path
      required: true
      description: The secret's ID.
      schema:
        $ref: '#/components/schemas/secretId'
    until:
      name: until
      in: query
      description: Return only results created until this given time, in [ISO 8601](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format. This value cannot be earlier than the `since` value.
      schema:
        $ref: '#/components/schemas/untilDateTime'
  responses:
    secretScanner400Error:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/secretScanner400Error'
          example:
            instance: ''
            status: 400
            title: limit specified is invalid
            type: BAD_REQUEST
    getSecretsLocations:
      description: Successful Response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getSecretsLocations'
          example:
            data:
            - isResourceDeleted: false
              leakedBy: 12345678
              location: Headers
              occurrences: 1
              parentResourceId: 12345678-14728df4-c7af-424f-b665-5047b7d25866
              resourceId: 12345678-e0df25e0-d245-40dd-89b5-68720d186d3f
              resourceType: example
              detectedAt: '2023-04-25T08:13:48.000Z'
              url: https://go.postman-beta.co/build/workspace/80ab14ae-c17d-4fd6-88d5-99bf13f0b7f0/example/12345678-e0df25e0-d245-40dd-89b5-68720d186d3f
            meta:
              activityFeed:
              - resolvedBy: 12345678
                status: ACTIVE
                resolvedAt: '2023-04-25T11:18:07.000Z'
              cursor: MTIyNjY5Nw==
              limit: 2
              nextCursor: null
              obfuscatedSecret: PMAK-644781584627df042afa6655-******ba
              secretHash: 0096b35ef6621d7571f106fefee5b10e8ed360cc9bf04f343f267ca4ff65bb5d
              secretType: Postman API Key
              total: 3
    secretScanner400InvalidResolutionError:
      description: Invalid Resolution Type
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/secretScanner400Error'
          example:
            type: BAD_REQUEST
            title: '`resolution` must be one of FALSE_POSITIVE, ACCEPTED_RISK, REVOKED, ACTIVE'
            instance: TEST
            status: 400
    secretScanner500Error:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/secretScanner500Error'
          example:
            instance: ''
            status: 500
            title: An error occurred
            type: SERVER_ERROR
    updateSecretResolutions:
      description: Successful Response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/updateSecretResolutions'
          example:
            secretHash: 50dbd2...
            workspaceId: 1f0df51a-8658-4ee8-a2a1-d2567dfa09a9
            resolution: ACCEPTED_RISK
            history:
            - actor: 12345678
              createdAt: '2024-09-18T18:46:26.000Z'
              resolution: FALSE_POSITIVE
            - actor: 12345678
              createdAt: '2024-09-18T18:43:11.000Z'
              resolution: ACCEPTED_RISK
    getSecretTypes:
      description: Successful Response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getSecretTypes'
          example:
            meta:
              total

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/apis-io-engineering-platform/refs/heads/main/openapi/engineering-platform-secret-scanner-api-openapi.yml