---
title: "Create full scan from archive"
method: POST
path: "/orgs/{org_slug}/full-scans/archive"
tags: ["full-scans"]
---

# Create full scan from archive

`POST /orgs/{org_slug}/full-scans/archive`

Create a full scan by uploading one or more archives. Supported archive formats include **.tar**, **.tar.gz/.tgz**, and **.zip**.

Each uploaded archive is extracted server-side and any supported manifest files (like package.json, package-lock.json, pnpm-lock.yaml, etc.) are ingested for the scan. If you upload multiple archives in a single request, the manifests from every archive are merged into one full scan. The response includes any files that were ignored.

The maximum combined number of files extracted from your upload is 10000 and each extracted file can be no bigger than 268 MB.

This endpoint consumes 1 unit of your quota.

This endpoint requires the following org token scopes:
- full-scans:create

## Path parameters

- `org_slug` string, required

## Query parameters

- `repo` string, required
- `workspace` string
- `branch` string
- `commit_message` string
- `commit_hash` string
- `pull_request` integer
- `committers` string
- `integration_type` 'api' | 'github' | 'gitlab' | 'bitbucket' | 'azure' | 'web'
- `integration_org_slug` string
- `make_default_branch` boolean
- `set_as_pending_head` boolean
- `tmp` boolean
- `scan_type` string

## Response `201`

The details of the created full scan.

- object
  - `id` string
  - `created_at` string
  - `updated_at` string
  - `organization_id` string
  - `organization_slug` string
  - `repository_id` string
  - `repository_slug` string
  - `branch` string, nullable
  - `commit_message` string, nullable
  - `commit_hash` string, nullable
  - `pull_request` integer, nullable
  - `committers` string[]
  - `html_url` string, nullable
  - `api_url` string, nullable
  - `workspace` string
  - `repo` string
  - `html_report_url` string
  - `integration_type` string, nullable
  - `integration_repo_url` string, nullable
  - `integration_branch_url` string, nullable
  - `integration_commit_url` string, nullable
  - `integration_pull_request_url` string, nullable
  - `scan_type` string, nullable
  - `scan_state` 'pending' | 'precrawl' | 'resolve' | 'scan', nullable — The current processing status of the SBOM
  - `unmatchedFiles` string[]

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Insufficient max_quota for API method
- `404` — Resource not found
- `429` — Insufficient quota for API route

---

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