{"owner":"owasp-amass","repo":"amass","hasSpec":true,"specFile":"docs/swagger.yaml","branch":"HEAD","format":"yaml","version":"2.0 (YAML)","title":"amass","description":"","endpoints":[],"spec":"basePath: /api/v1\ndefinitions:\n  config.Credentials:\n    properties:\n      apikey:\n        type: string\n      password:\n        type: string\n      secret:\n        type: string\n      username:\n        type: string\n    type: object\n  config.DataSource:\n    properties:\n      creds:\n        additionalProperties:\n          $ref: '#/definitions/config.Credentials'\n        type: object\n      name:\n        type: string\n      ttl:\n        type: integer\n    type: object\n  config.DataSourceConfig:\n    properties:\n      datasources:\n        items:\n          $ref: '#/definitions/config.DataSource'\n        type: array\n      global_options:\n        additionalProperties:\n          type: integer\n        type: object\n    type: object\n  config.Database:\n    properties:\n      db_name:\n        description: Name of the database\n        type: string\n      host:\n        description: Host of the database\n        type: string\n      options:\n        description: Extra options used while connecting to the database\n        type: string\n      password:\n        description: Password for authentication\n        type: string\n      port:\n        description: Port of the database\n        type: string\n      primary:\n        description: Whether this database is the primary store\n        type: boolean\n      system:\n        description: Database system type (Postgres, MySQL, etc.)\n        type: string\n      url:\n        description: Full URI to the database\n        type: string\n      username:\n        description: Username for authentication\n        type: string\n    type: object\n  config.Scope:\n    properties:\n      asns:\n        description: ASNs specified as in scope\n        items:\n          type: integer\n        type: array\n      blacklist:\n        description: A blacklist of subdomain names that will not be investigated\n        items:\n          type: string\n        type: array\n      cidrs:\n        description: CIDR IPNET\n        items:\n          $ref: '#/definitions/net.IPNet'\n        type: array\n      domains:\n        description: The root domain names that the enumeration will target\n        items:\n          type: string\n        type: array\n      ips:\n        description: IP Net.IP\n        items:\n          items:\n            format: int32\n            type: integer\n          type: array\n        type: array\n      ports:\n        description: The ports checked for certificates\n        items:\n          type: integer\n        type: array\n    type: object\n  config.Transformation:\n    properties:\n      confidence:\n        type: integer\n      exclude:\n        items:\n          type: string\n        type: array\n      priority:\n        type: integer\n      ttl:\n        type: integer\n    type: object\n  github_com_owasp-amass_amass_v5_config.Config:\n    properties:\n      active:\n        description: Determines if zone transfers will be attempted\n        type: boolean\n      alt_worldlist:\n        items:\n          type: string\n        type: array\n      alterations:\n        description: Will discovered subdomain name alterations be generated?\n        type: boolean\n      brute_force:\n        description: Will the enumeration including brute forcing techniques\n        type: boolean\n      database:\n        description: The graph databases used by the system / enumerations\n        items:\n          $ref: '#/definitions/config.Database'\n        type: array\n      datasource_config:\n        allOf:\n        - $ref: '#/definitions/config.DataSourceConfig'\n        description: The data source configurations\n      resolvers:\n        description: Resolver settings\n        items:\n          type: string\n        type: array\n      rigid_boundaries:\n        description: Determines rigidness of the enumeration\n        type: boolean\n      scope:\n        allOf:\n        - $ref: '#/definitions/config.Scope'\n        description: Scope struct that contains ASN, CIDR, Domain, IP, and ports in\n          scope\n      seed:\n        allOf:\n        - $ref: '#/definitions/config.Scope'\n        description: Seed struct that contains the provided names and CIDRs\n      transformations:\n        additionalProperties:\n          $ref: '#/definitions/config.Transformation'\n        description: The Transformations map will contain incoming assets, and what\n          handlers should be called.\n        type: object\n      trusted_resolvers:\n        items:\n          type: string\n        type: array\n      wordlist:\n        description: The list of words to use when generating names\n        items:\n          type: string\n        type: array\n    type: object\n  net.IPNet:\n    properties:\n      ip:\n        description: network number\n        items:\n          format: int32\n          type: integer\n        type: array\n      mask:\n        description: network mask\n        items:\n          format: int32\n          type: integer\n        type: array\n    type: object\n  v1.AddAssetResponse:\n    properties:\n      entityID:\n        type: string\n    type: object\n  v1.BulkAddAssetsRequest:\n    properties:\n      items:\n        items:\n          items:\n            format: int32\n            type: integer\n          type: array\n        type: array\n    type: object\n  v1.BulkAddAssetsResponse:\n    properties:\n      failed:\n        type: integer\n      ingested:\n        type: integer\n      stored:\n        type: integer\n    type: object\n  v1.CreateSessionResponse:\n    properties:\n      sessionToken:\n        type: string\n    type: object\n  v1.ErrorResponse:\n    properties:\n      code:\n        type: integer\n      details:\n        type: string\n      error:\n        type: string\n    type: object\n  v1.HealthCheckResponse:\n    properties:\n      result:\n        type: string\n    type: object\n  v1.ListSessionsResponse:\n    properties:\n      sessionTokens:\n        items:\n          type: string\n        type: array\n    type: object\n  v1.ScopeResponse:\n    properties:\n      data:\n        items:\n          items:\n            format: int32\n            type: integer\n          type: array\n        type: array\n    type: object\n  v1.SessionStatsResponse:\n    properties:\n      workItemsCompleted:\n        type: integer\n      workItemsTotal:\n        type: integer\n    type: object\ninfo:\n  contact:\n    name: OWASP Amass Project\n    url: https://github.com/owasp-amass/amass\n  description: |-\n    HTTP API for managing Amass Engine sessions and submitting Open Asset Model (OAM) assets.\n    Create a session with an engine config, query session stats/scope, and ingest typed OAM assets (single or bulk).\n    Includes a WebSocket endpoint for streaming session logs.\n  license:\n    name: Apache 2.0\n    url: https://www.apache.org/licenses/LICENSE-2.0\n  termsOfService: https://owasp.org/www-project-amass/\n  title: Amass Engine API (v1)\n  version: \"1.0\"\npaths:\n  /health:\n    get:\n      description: Returns a simple health indicator that the Amass Engine API is\n        running.\n      produces:\n      - application/json\n      responses:\n        \"200\":\n          description: OK\n          schema:\n            $ref: '#/definitions/v1.HealthCheckResponse'\n      summary: Health check\n      tags:\n      - system\n  /sessions:\n    post:\n      consumes:\n      - application/json\n      description: Creates a new Amass engine session using the provided configuration\n        JSON.\n      parameters:\n      - description: Engine configuration\n        in: body\n        name: config\n        required: true\n        schema:\n          $ref: '#/definitions/github_com_owasp-amass_amass_v5_config.Config'\n      produces:\n      - application/json\n      responses:\n        \"201\":\n          description: Created\n          schema:\n            $ref: '#/definitions/v1.CreateSessionResponse'\n        \"400\":\n          description: Invalid JSON or invalid configuration\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"500\":\n          description: Failed to create session\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n      summary: Create a new engine session\n      tags:\n      - sessions\n  /sessions/{session_token}:\n    delete:\n      description: Cancels an active session. Returns no content on success.\n      parameters:\n      - description: Session token (UUID)\n        in: path\n        name: session_token\n        required: true\n        type: string\n      responses:\n        \"204\":\n          description: No Content\n        \"400\":\n          description: Invalid session token\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"404\":\n          description: Session not found\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n      summary: Terminate a session\n      tags:\n      - sessions\n  /sessions/{session_token}/assets/{asset_type}:\n    post:\n      consumes:\n      - application/json\n      description: Submits a single OAM asset to the session. The asset type is provided\n        in the URL path; the request body is a raw OAM JSON object without a 'type'\n        field.\n      parameters:\n      - description: Session token (UUID)\n        in: path\n        name: session_token\n        required: true\n        type: string\n      - description: Asset type (e.g., autonomous_system, fqdn, ipaddress, netblock,\n          location, organization)\n        in: path\n        name: asset_type\n        required: true\n        type: string\n      - description: Raw OAM JSON object (without 'type')\n        in: body\n        name: asset\n        required: true\n        schema:\n          items:\n            format: int32\n            type: integer\n          type: array\n      produces:\n      - application/json\n      responses:\n        \"200\":\n          description: OK\n          schema:\n            $ref: '#/definitions/v1.AddAssetResponse'\n        \"400\":\n          description: Invalid session token, invalid JSON, or invalid asset object\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"404\":\n          description: Session not found\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"500\":\n          description: Failed to submit the asset\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n      summary: Add a single asset (typed by path)\n      tags:\n      - assets\n  /sessions/{session_token}/assets/{asset_type}:bulk:\n    post:\n      consumes:\n      - application/json\n      description: Submits multiple OAM assets to the session in one request. The\n        asset type is provided in the URL path. Each item in 'items' is a raw OAM\n        JSON object without a 'type' field.\n      parameters:\n      - description: Session token (UUID)\n        in: path\n        name: session_token\n        required: true\n        type: string\n      - description: Asset type (e.g., autonomous_system, fqdn, ipaddress, netblock,\n          location, organization)\n        in: path\n        name: asset_type\n        required: true\n        type: string\n      - description: Bulk add request payload\n        in: body\n        name: request\n        required: true\n        schema:\n          $ref: '#/definitions/v1.BulkAddAssetsRequest'\n      produces:\n      - application/json\n      responses:\n        \"200\":\n          description: OK\n          schema:\n            $ref: '#/definitions/v1.BulkAddAssetsResponse'\n        \"400\":\n          description: Invalid session token, invalid JSON, empty items, or no valid\n            items\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"404\":\n          description: Session not found\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"413\":\n          description: Too many items in bulk request\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"500\":\n          description: Server failure (response includes ingested/stored/failed)\n          schema:\n            $ref: '#/definitions/v1.BulkAddAssetsResponse'\n      summary: Add assets in bulk (typed by path)\n      tags:\n      - assets\n  /sessions/{session_token}/scope/{asset_type}:\n    get:\n      description: Returns the scoped assets for the given session and asset type\n        as an array of raw OAM JSON objects.\n      parameters:\n      - description: Session token (UUID)\n        in: path\n        name: session_token\n        required: true\n        type: string\n      - description: Asset type (e.g., autonomoussystem, fqdn, ipaddress, netblock,\n          location, organization)\n        in: path\n        name: asset_type\n        required: true\n        type: string\n      produces:\n      - application/json\n      responses:\n        \"200\":\n          description: Response contains a 'data' array of raw OAM JSON\n          schema:\n            $ref: '#/definitions/v1.ScopeResponse'\n        \"400\":\n          description: Invalid session token\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"404\":\n          description: Session not found or scope not found for asset type\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n      summary: Get session scope for an asset type\n      tags:\n      - scope\n  /sessions/{session_token}/stats:\n    get:\n      description: Returns the current runtime statistics for a session.\n      parameters:\n      - description: Session token (UUID)\n        in: path\n        name: session_token\n        required: true\n        type: string\n      produces:\n      - application/json\n      responses:\n        \"200\":\n          description: OK\n          schema:\n            $ref: '#/definitions/v1.SessionStatsResponse'\n        \"400\":\n          description: Invalid session token\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"404\":\n          description: Session not found\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n      summary: Get session statistics\n      tags:\n      - sessions\n  /sessions/{session_token}/ws/logs:\n    get:\n      description: |-\n        Upgrades the HTTP connection to a WebSocket and streams session log lines as UTF-8 text frames.\n        The server sends periodic ping frames (~30s) and expects pong responses; idle connections may be closed.\n      parameters:\n      - description: Session token (UUID)\n        in: path\n        name: session_token\n        required: true\n        type: string\n      responses:\n        \"101\":\n          description: Switching Protocols (WebSocket upgrade)\n          headers:\n            Connection:\n              description: Upgrade\n              type: string\n            Upgrade:\n              description: websocket\n              type: string\n        \"400\":\n          description: Invalid session token\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n        \"404\":\n          description: Session not found\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n      summary: Stream session logs (WebSocket)\n      tags:\n      - sessions\n  /sessions/list:\n    get:\n      description: Returns the session tokens for all currently active sessions.\n      produces:\n      - application/json\n      responses:\n        \"200\":\n          description: OK\n          schema:\n            $ref: '#/definitions/v1.ListSessionsResponse'\n        \"404\":\n          description: Zero sessions found\n          schema:\n            $ref: '#/definitions/v1.ErrorResponse'\n      summary: List active sessions\n      tags:\n      - sessions\nswagger: \"2.0\"\ntags:\n- description: System endpoints (health, etc.)\n  name: system\n- description: Create, list, inspect, and terminate engine sessions.\n  name: sessions\n- description: Read-only access to the scoped assets loaded into a session.\n  name: scope\n- description: Submit typed OAM assets to a session (single or bulk).\n  name: assets\n- description: WebSocket endpoints (e.g., session log streaming).\n  name: ws\n"}