---
title: "Get an event"
method: GET
path: "/events/{eventId}"
tags: ["Events"]
---

# Get an event

`GET /events/{eventId}`

## Request

- Base URL: `https://public.escape.tech/v3`
- URL: `https://public.escape.tech/v3/events/{eventId}`
- Auth: API key in header `X-ESCAPE-API-KEY`

Get an event by ID (including attachments)

## Path parameters

- `eventId` string, required: The event ID

## Response `200`

OK

- object
  - `id` string, uuid, required: The id of the event
  - `createdAt` string, required: The date and time the event was created
  - `description` string, required: The description of the event
  - `attachments` object[]: The attachments of the event
    - `id` string, uuid, required: The id of the attachment
    - `createdAt` string, required: The date and time the attachment was created
    - `agentToolCall` object, nullable: The agent tool call of the attachment
      - `id` string, uuid, required: The id of the agent tool call
      - `key` string, required: The key of the agent tool call
      - `name` string, required: The name of the agent tool call
      - `kind` 'GENERIC' | 'REPORT_ISSUE' | 'SUB_AGENT', required: The kind of the agent tool call
      - `status` 'FAILED' | 'RUNNING' | 'SUCCESS', required: The status of the agent tool call
      - `durationMs` number, nullable, required: The duration of the agent tool call in milliseconds
      - `arguments` unknown
      - `resultText` string, nullable, required: The text result of the agent tool call
      - `resultJson` unknown
    - `exchange` object, nullable: The exchange of the attachment
      - `createdAt` string, required: The date and time the exchange was created
      - `curl` string, required: The curl of the exchange
      - `duration` number, required: The duration of the exchange
      - `id` string, uuid, required: The id of the exchange
      - `inferredScalars` object[], required: The inferred scalars of the exchange
        - `confidence` number, required: The confidence of the inferred scalar
        - `kind` string, required: The kind of the inferred scalar
        - `name` string, required: The name of the inferred scalar
      - `responseBody` string, required: The response body of the exchange
      - `responseHeaders` object[], required: The response headers of the exchange
        - `name` string, required: The name of the http header
        - `values` string[], required: The values of the http header
      - `responseStatusCode` number, required: The response status code of the exchange
      - `url` string, required: The url of the exchange
    - `generatedOpenapiSpec` object, nullable: The generated openapi spec of the attachment
      - `id` string, uuid, required: The id of the generated openapi spec
      - `createdAt` string, required: The date and time the generated openapi spec was created
      - `temporarySignedUrl` string, required: The temporary signed url of the generated openapi spec
    - `graph` object, nullable: The graph of the attachment
      - `id` string, uuid, required: The id of the graph
      - `createdAt` string, required: The date and time the graph was created
      - `temporarySignedUrl` string, required: The temporary signed url of the graph
    - `screenshot` object, nullable: The screenshot of the attachment
      - `alt` string, nullable, required: The alt of the screenshot
      - `createdAt` string, required: The date and time the screenshot was created
      - `id` string, uuid, required: The id of the screenshot
      - `temporarySignedUrl` string, required: The temporary signed url of the screenshot
    - `snippet` object, nullable: The snippet of the attachment
      - `createdAt` string, required: The date and time the snippet was created
      - `id` string, uuid, required: The id of the snippet
      - `language` string, required: The language of the snippet
      - `name` string, required: The name of the snippet
      - `snippet` string, required: The snippet of the snippet
      - `url` string, nullable, required: The url of the snippet
    - `target` object, nullable: The target of the attachment
      - `createdAt` string, required: The date and time the target was created
      - `aiExplorationSummary` string, nullable: AI-generated summary of the exploration results for the target
      - `aiPentestingSummary` string, nullable: AI-generated pentesting summary for the target
      - `apiRoute` object, nullable: The api route of the target
        - `blacklisted` boolean, required: Whether the api route is blacklisted
        - `createdAt` string, required: The date and time the api route was created
        - `displayName` string, required: The display name of the api route
        - `id` string, uuid, required: The id of the api route
        - `name` string, required: The name of the api route
        - `operation` string, required: The operation of the api route
        - `parameters` object, nullable: The parameters of the api route
        - `requestCount` number, required: The request count of the api route
        - `meanDuration` number, nullable: Mean HTTP duration for this route in milliseconds, when available
        - `coverage` 'BROKEN_PIPE' | 'NOT_FOUND' | 'OK' | 'RATE_LIMIT' | 'REDIRECTION' | 'REPEATER_ERROR' | 'SERVER_ERROR' | 'TIMEOUT' | 'UNAUTHORIZED' | 'UNKNOWN' | 'VALIDATION_ERROR' | 'null', nullable, required: Coverage status for this REST endpoint (e.g. OK, UNAUTHORIZED, BLOCKLISTED)
        - `coverageByUser` object[], nullable: Per-user or per-session coverage breakdown when available
          - `name` string, required: User or session label associated with this target entry
          - `coverage` 'BROKEN_PIPE' | 'NOT_FOUND' | 'OK' | 'RATE_LIMIT' | 'REDIRECTION' | 'REPEATER_ERROR' | 'SERVER_ERROR' | 'TIMEOUT' | 'UNAUTHORIZED' | 'UNKNOWN' | 'VALIDATION_ERROR', required: Coverage status for that user/session
        - `returnType` string, nullable: The return type of the api route
        - `source` 'SOURCE_INFERRED' | 'SOURCE_SPECIFICATION', required: The source of the api route
      - `codeFile` object, nullable: The code file of the target
        - `id` string, uuid, required: The id of the code file
        - `language` string, required: The language of the code file
        - `path` string, required: The path of the code file
      - `graphqlResolver` object, nullable: The graphql resolver of the target
        - `blacklisted` boolean, required: Whether the graphql resolver is blacklisted
        - `createdAt` string, required: The date and time the graphql resolver was created
        - `displayName` string, required: The display name of the graphql resolver
        - `id` string, uuid, required: The id of the graphql resolver
        - `name` string, required: The name of the graphql resolver
        - `parameters` object, nullable: The parameters of the graphql resolver
        - `requestCount` number, required: The request count for this resolver
        - `meanDuration` number, nullable: Mean duration for this resolver in milliseconds, when available
        - `coverage` 'BROKEN_PIPE' | 'NOT_FOUND' | 'OK' | 'RATE_LIMIT' | 'REDIRECTION' | 'REPEATER_ERROR' | 'SERVER_ERROR' | 'TIMEOUT' | 'UNAUTHORIZED' | 'UNKNOWN' | 'VALIDATION_ERROR' | 'null', nullable, required: Coverage status for this GraphQL field (e.g. OK, UNAUTHORIZED, BLOCKLISTED)
        - `coverageByUser` object[], nullable: Per-user or per-session coverage breakdown when available
          - `name` string, required: User or session label associated with this target entry
          - `coverage` 'BROKEN_PIPE' | 'NOT_FOUND' | 'OK' | 'RATE_LIMIT' | 'REDIRECTION' | 'REPEATER_ERROR' | 'SERVER_ERROR' | 'TIMEOUT' | 'UNAUTHORIZED' | 'UNKNOWN' | 'VALIDATION_ERROR', required: Coverage status for that user/session
        - `parent` string, required: GraphQL parent type (query, mutation, or subscription)
        - `returnType` string, nullable: The return type of the graphql resolver
        - `source` 'SOURCE_INFERRED' | 'SOURCE_SPECIFICATION', required: The source of the resolver (specification vs inferred)
      - `id` string, uuid, required: The id of the target
      - `port` object, nullable: The port of the target
        - `id` string, uuid, required: The id of the port
        - `port` number, required: The port of the port
        - `protocol` string, required: The protocol of the port
      - `webPage` object, nullable: The web page of the target
        - `id` string, uuid, required: The id of the web page
        - `url` string, required: The URL of the web page
        - `visits` number, required: How many times the scanner visited the page
      - `webCrawledUrl` object, nullable: The crawled URL of the target
        - `id` string, uuid, required: The id of the crawled URL
        - `url` string, required: The crawled URL
        - `visits` number, required: How many times the scanner visited the URL
      - `cve` object, nullable: The CVE of the target
        - `id` string, uuid, required: The id of the CVE target
        - `cveId` string, required: The CVE identifier, e.g. CVE-2024-1234
  - `issues` object[]: The issues of the event (summarized). Hydrate with GET /v3/issues/:issueId for full payload (remediation, CVSS, compliances, full asset details).
    - `id` string, uuid, required: The id of the issue
    - `name` string, required: The name of the issue
    - `fullName` string, required: The full name of the issue
    - `category` 'ACCESS_CONTROL' | 'CONFIGURATION' | 'CUSTOM' | 'INFORMATION_DISCLOSURE' | 'INJECTION' | 'PROTOCOL' | 'REQUEST_FORGERY' | 'RESOURCE_LIMITATION' | 'SCHEMA' | 'SENSITIVE_DATA', required: The category of the issue
    - `severity` 'CRITICAL' | 'HIGH' | 'INFO' | 'LOW' | 'MEDIUM', required: The severity level of the issue
    - `manualSeverity` boolean, required: Whether the severity has been manually overridden
    - `status` 'FALSE_POSITIVE' | 'IGNORED' | 'MANUAL_REVIEW' | 'OPEN' | 'RESOLVED', required: The current status of the issue
    - `context` string, required: The context of the issue
    - `risks` string[], required: Array of risk types associated with the issue
    - `alertUid` string, required: Unique identifier for the alert
    - `createdAt` string, required: When the issue was first created
    - `asset` object, required: The asset of the issue
      - `id` string, uuid, required: The id of the asset
      - `class` 'API_SERVICE' | 'CDN' | 'CLOUD_COMPONENT' | 'CLOUD_HOSTING' | 'CODE_PROJECT' | 'CSPM' | 'DEV_TOOLS' | 'FRONTEND' | 'HOST' | 'MOBILE_APP' | 'NETWORK' | 'REPOSITORY' | 'SCHEMA' | 'SOURCE_CODE_MANAGEMENT' | 'TECHNOLOGY', required: The class of the asset
      - `type` 'APK' | 'AWS_LAMBDA' | 'BITBUCKET_REPOSITORY' | 'BURPSUITE_EXPORT' | 'CODE_PROJECT' | 'DNS' | 'GITHUB_REPOSITORY' | 'GITLAB_REPOSITORY' | 'GRAPHQL' | 'GRAPHQL_SCHEMA' | 'GRPC' | 'HAR_EXPORT' | 'INSOMNIA' | 'IPV4' | 'IPV4_RANGE' | 'IPV6' | 'MCP' | 'OPENAPI' | 'PACKAGE' | 'POSTMAN_COLLECTION' | 'POSTMAN_ENVIRONMENT' | 'REST' | 'SOAP' | 'SOFTWARE' | 'WEBAPP' | 'WEBSOCKET' | 'WP_JSON', required: The type of the asset
      - `name` string, required: The name of the asset
      - `externalUrl` string, nullable, required: The external url of the asset
      - `faviconUrl` string, nullable, required: The favicon url of the asset
      - `createdAt` string, required: The date and time the asset was created
      - `lastSeenAt` string, required: The date and time the asset was last seen
      - `scheduledForDeletionAt` string, nullable, required: The date and time the asset is scheduled for deletion
      - `status` 'DEPRECATED' | 'FALSE_POSITIVE' | 'MONITORED' | 'OUT_OF_SCOPE' | 'THIRD_PARTY', required: The status of the asset
      - `tags` object[], required: The tags of the asset
        - `id` string, uuid, required: The id of the tag
        - `name` string, required: The name of the tag
        - `color` string, required: The color of the tag
      - `risks` string[], required: The risks of the asset
      - `projectIds` string[], required: IDs of the projects this asset is assigned to
      - `owners` string[]: Email addresses of the owners of this asset.
      - `service` object, nullable, required: The service of the asset
        - `url` string, required: The url of the asset service
        - `type` 'GRAPHQL' | 'GRPC' | 'MCP' | 'REST' | 'SOAP' | 'WEBSOCKET', required: The type of the asset service
      - `frontend` object, nullable, required: The frontend of the asset
        - `url` string, required: The url of the asset frontend
        - `type` 'WEBAPP', required: The type of the asset frontend
      - `host` object, nullable, required: The host of the asset
        - `address` string, required: The address of the asset host
        - `type` 'DNS' | 'IPV4' | 'IPV6', required: The type of the asset host
      - `technology` object, nullable, required: Technology metadata for PACKAGE and SOFTWARE assets
        - `type` 'PACKAGE' | 'SOFTWARE', required: Whether this is a PACKAGE or SOFTWARE asset
        - `technologyKey` string, required: Versionless technology identifier (e.g. vendor/product or ecosystem/name)
        - `version` string, nullable, required: Detected version, if known
        - `cpe` string, nullable, required: Common Platform Enumeration identifier, if known
      - `mobileApp` object, nullable, required: Mobile app metadata for APK assets
        - `type` 'APK', required: The type of the mobile app
        - `filename` string, nullable, required: Original uploaded filename
        - `bundleId` string, nullable, required: Android package name, if known
      - `links` object, required: The links of the asset
        - `assetOverview` string, required: The url to view the asset overview in the platform
    - `lastSeenScanId` string, nullable, required: ID of the last scan where this issue was seen
    - `lastSeenScan` object, nullable, required: The last scan in which this issue was observed
      - `id` string, uuid, required: The id of the scan
      - `profileId` string, uuid, nullable, required: The id of the profile that ran the scan
      - `assetId` string, uuid, nullable, required: The id of the asset that was scanned, if any
      - `status` string, required: The status of the scan
      - `createdAt` string, required: The date and time the scan was created
      - `finishedAt` string, nullable, required: The date and time the scan was finished
      - `score` number, nullable, required: The score of the scan
      - `coverage` number, nullable, required: Aggregate API coverage ratio for this scan (0–1), when the scan has finished with coverage data
      - `duration` number, required: The duration of the scan
      - `progressRatio` number, required: The progress ratio of the scan
      - `initiator` string, required: The initiator of the scan
      - `kind` string, required: The kind of the scan
      - `commitHash` string, nullable, required: The commit hash of the scan
      - `commitBranch` string, nullable, required: The commit branch of the scan
      - `links` object, required: The links of the scan
        - `scanIssues` string, required: The url to view the scan issues in the platform
    - `firstSeenScanId` string, nullable, required: ID of the first scan where this issue was seen
    - `customRuleId` string, nullable, required: ID of the custom rule if this is a custom issue
    - `links` object, required
      - `issueOverview` string, required: URL to view the issue overview in the platform
  - `issuesCount` number, required: The number of issues of the event
  - `level` 'DEBUG' | 'ERROR' | 'INFO' | 'WARNING', required: The level of the event
  - `scan` object, nullable, required: The scan of the event
    - `id` string, uuid, required: The id of the scan
    - `status` string, required: The status of the scan
    - `createdAt` string, required: The date and time the scan was created
    - `updatedAt` string, required: The date and time the scan was updated
    - `finishedAt` string, nullable, required: The date and time the scan was finished
    - `score` number, nullable, required: The score of the scan
    - `coverage` number, nullable, required: Aggregate API coverage ratio for this scan (0–1), when the scan has finished with coverage data
    - `duration` number, required: The duration of the scan
    - `progressRatio` number, required: The progress ratio of the scan
    - `initiator` string, required: The initiator of the scan
    - `kind` string, required: The kind of the scan
    - `profileId` string, required: The id of the profile of the scan
    - `organizationId` string, required: The id of the organization of the scan
    - `commitHash` string, nullable, required
    - `commitBranch` string, nullable, required
    - `commitAuthor` string, nullable, required
    - `commitLink` string, nullable, required
    - `commitAuthorProfilePictureLink` string, nullable, required
    - `ignored` boolean: Whether the scan is ignored. Only returned by the scan detail endpoint.
    - `executiveSummary` string, nullable: AI-generated executive summary of the scan. Credentials and secrets are redacted. Only returned by the scan detail endpoint.
    - `scopeSummary` string, nullable: AI-generated summary of the scanned scope. Credentials and secrets are redacted. Only returned by the scan detail endpoint.
    - `problems` object[]: Validation problems surfaced by the scanner during this scan. Only returned by the scan detail endpoint.
      - `id` string, uuid, required: The id of the problem
      - `code` 'AUTH_FAILURE' | 'BLOCKED_BY_CORS' | 'BLOCKED_BY_WAF' | 'CAPTCHA_HIT' | 'CONFIGURATION_IMPROVEMENT' | 'HIGH_NUMBER_OF_ERROR_ENDPOINTS' | 'INTEGRATION_ERROR' | 'NO_AUTHENTICATION_CONFIGURED' | 'NO_SCHEMA_FOUND' | 'PL_FAILURE' | 'RATE_LIMIT_EXCEEDED' | 'SCHEMA_IMPROVEMENT' | 'TIMEOUT' | 'UNEXPECTED_ERROR' | 'UNREACHABLE_ASSET', required: The problem code
      - `message` string, required: The problem message
      - `severity` 'ERROR' | 'INFO' | 'WARNING', required: The problem severity
      - `createdAt` string, required: The date and time the problem was created
    - `artefacts` object[]: Files produced by this scan, such as executive reports. Only returned by the scan detail endpoint.
      - `id` string, uuid, required: The id of the artefact
      - `kind` 'AUDITOR_REPORT' | 'EVENTS_ARCHIVE' | 'EXCHANGES_ARCHIVE' | 'EXECUTIVE_REPORT' | 'EXPORT_JOB_RESULT', required: The kind of the artefact
      - `name` string, required: The name of the artefact
      - `signedUrl` string, required: Time-limited HTTPS download URL for the artefact
      - `createdAt` string, required: The date and time the artefact was created
      - `updatedAt` string, required: The date and time the artefact was updated
    - `links` object, required
      - `scanIssues` string, required: URL to view the scan issues in the platform
  - `scanId` string, nullable, required: The id of the scan of the event
  - `stage` 'AGENT_ACTION' | 'AGENT_REASONING' | 'CONFIGURATION' | 'EXECUTION', required: The stage of the event
  - `title` string, required: The title of the event

## Other responses

- `404`: Not found

---

[API](https://skmtc.dev/escape/apis/escape-public-api.md) - [All operations](https://skmtc.dev/escape/apis/escape-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/escape/apis/escape-public-api/revisions/2eab35df40c7?raw)
