---
title: "Retrieve artifacts by IDs"
method: GET
path: "/artifacts"
tags: ["Artifacts"]
---

# Retrieve artifacts by IDs

`GET /artifacts`

Fetches multiple evidential artifacts by their IDs. Supports up to 100 IDs per request.

## Query parameters

- `id` string[], required

## Headers

- `Antimetal-Version` string

## Response `200`

- union[]
  - union
    - MetricArtifactDto
      - `id` string, required
      - `provider` 'datadog' | 'github' | 'slack' | 'antimetal' | 'sentry' | 'kubernetes' | 'incident-io' | 'prometheus' | 'grafana-tempo' | 'loki' | 'gcp' | 'cloudwatch' | 'user', required
      - `providerUrl` string, nullable, required
      - `summary` string, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `type` 'metric', required
      - `data` union, required
        - object
          - `metricType` 'gauge', required
          - `name` string, required
          - `description` string, required
          - `unit` string, required
          - `dataPoints` object[], required
            - `attributes` MetricArtifactDtoSchema0[]
              - …
            - `startTimeUnixNano` string
            - `timeUnixNano` string
            - `asDouble` union
              - …
            - `asInt` string
            - `exemplars` object[]
              - …
            - `flags` number
        - object
          - `metricType` 'sum', required
          - `name` string, required
          - `description` string, required
          - `unit` string, required
          - `dataPoints` object[], required
            - `attributes` MetricArtifactDtoSchema0[]
              - …
            - `startTimeUnixNano` string
            - `timeUnixNano` string
            - `asDouble` union
              - …
            - `asInt` string
            - `exemplars` object[]
              - …
            - `flags` number
        - object
          - `metricType` 'histogram', required
          - `name` string, required
          - `description` string, required
          - `unit` string, required
          - `dataPoints` object[], required
            - `attributes` MetricArtifactDtoSchema0[]
              - …
            - `startTimeUnixNano` string
            - `timeUnixNano` string
            - `count` string
            - `sum` union
              - …
            - `bucketCounts` string[]
            - `explicitBounds` union[]
              - …
            - `exemplars` object[]
              - …
            - `flags` number
            - `min` union
              - …
            - `max` union
              - …
    - TraceArtifactDto
      - `id` string, required
      - `provider` 'datadog' | 'github' | 'slack' | 'antimetal' | 'sentry' | 'kubernetes' | 'incident-io' | 'prometheus' | 'grafana-tempo' | 'loki' | 'gcp' | 'cloudwatch' | 'user', required
      - `providerUrl` string, nullable, required
      - `summary` string, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `type` 'trace', required
      - `data` object, required
        - `traces` object[], required
          - `traceId` string, required
          - `spans` object[], required
            - `traceId` string
            - `spanId` string
            - `parentSpanId` string
            - `name` string
            - `timestampStartUnixNano` number, required
            - `timestampEndUnixNano` number, required
    - LogArtifactDto
      - `id` string, required
      - `provider` 'datadog' | 'github' | 'slack' | 'antimetal' | 'sentry' | 'kubernetes' | 'incident-io' | 'prometheus' | 'grafana-tempo' | 'loki' | 'gcp' | 'cloudwatch' | 'user', required
      - `providerUrl` string, nullable, required
      - `summary` string, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `type` 'log', required
      - `data` object, required
        - `logs` object[], required
          - `timestamp` string, required
          - `body` string, required
          - `severity` string, required
          - `attributes` object
    - FileArtifactDto
      - `id` string, required
      - `provider` 'datadog' | 'github' | 'slack' | 'antimetal' | 'sentry' | 'kubernetes' | 'incident-io' | 'prometheus' | 'grafana-tempo' | 'loki' | 'gcp' | 'cloudwatch' | 'user', required
      - `providerUrl` string, nullable, required
      - `summary` string, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `type` 'file', required
      - `data` object, required
        - `content` string, required — The text content of the file
        - `metadata` object, required
          - `fileName` string, required — The name of the file
          - `filePath` string, required — The path to the file
          - `language` string, required — The programming language of the code
          - `lineStart` integer — The start line of the code snippet, inclusive
          - `lineEnd` integer — The end line of the code snippet, inclusive
    - EventArtifactDto
      - `id` string, required
      - `provider` 'datadog' | 'github' | 'slack' | 'antimetal' | 'sentry' | 'kubernetes' | 'incident-io' | 'prometheus' | 'grafana-tempo' | 'loki' | 'gcp' | 'cloudwatch' | 'user', required
      - `providerUrl` string, nullable, required
      - `summary` string, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `type` 'event', required
      - `data` object, required
        - `events` object[], required
          - `eventId` string, required
          - `timestampUnixNano` number, required
          - `title` string, required
          - `message` string
          - `service` string
    - TopologyArtifactDto
      - `id` string, required
      - `provider` 'datadog' | 'github' | 'slack' | 'antimetal' | 'sentry' | 'kubernetes' | 'incident-io' | 'prometheus' | 'grafana-tempo' | 'loki' | 'gcp' | 'cloudwatch' | 'user', required
      - `providerUrl` string, nullable, required
      - `summary` string, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `type` 'topology', required
      - `data` object

## Other responses

- `400` — Validation error or bad request
- `401` — Authentication required
- `403` — Insufficient permissions
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/antimetal/apis/antimetal-external-api.md) · [All operations](https://skmtc.net/antimetal/apis/antimetal-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/antimetal/antimetal-external-api/versions/0539acd362bf/schema)
