---
title: "Create skill import"
method: POST
path: "/skill-imports"
tags: ["Skill Imports"]
---

# Create skill import

`POST /skill-imports`

## Request

- Base URL: `https://api.metorial.com`
- URL: `https://api.metorial.com/skill-imports`
- Auth: HTTP bearer

Queues a skill import from a repository or uploaded file.

## Headers

- `Metorial-Version` string

## Request body

- BodyRequest56
  - `source` union, required
    - object
      - `type` 'public', required
      - `repository_url` string, required
      - `ref` string
    - object
      - `type` 'origin', required
      - `repository_id` string, required
      - `ref` string
      - `path` string
    - object
      - `type` 'file', required
      - `file_id` string, required

## Response `200`

Successful response

- SkillImport
  - `object` 'skill.import', required
  - `id` string, required
  - `status` 'pending' | 'processing' | 'completed' | 'failed', required
  - `source` union, required
    - object
      - `type` 'public', required
      - `repository_url` string, required
      - `repository_name` string, nullable, required
      - `ref` string, nullable, required
    - object
      - `type` 'scm', required
      - `repository_id` string, required
      - `repository_name` string, nullable, required
      - `ref` string, nullable, required
      - `path` string, nullable, required
    - object
      - `type` 'file', required
      - `file_id` string, nullable, required
      - `file_name` string, required
      - `format` 'zip' | 'markdown', required
  - `error` string, nullable, required
  - `items` Item31[], required
    - `object` 'skill.import.item', required
    - `id` string, required
    - `status` 'pending' | 'processing' | 'completed' | 'failed', required
    - `path` string, required
    - `error` string, nullable, required
    - `skill` object, nullable, required
      - `id` string, required
      - `name` string, required
      - `description` string, nullable, required
    - `started_at` string, date-time, nullable, required
    - `completed_at` string, date-time, nullable, required
    - `created_at` string, date-time, required
  - `started_at` string, date-time, nullable, required
  - `completed_at` string, date-time, nullable, required
  - `created_at` string, date-time, required

## Other responses

- `400`: Invalid parameters or action
- `401`: Missing or invalid API key
- `403`: The key lacks permission for this resource
- `404`: No such resource
- `422`: Validation failed
- `429`: Rate limit exceeded
- `500`: Unexpected server error

---

[API](https://skmtc.dev/metorial/apis/metorial-api.md) - [All operations](https://skmtc.dev/metorial/apis/metorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metorial/apis/metorial-api/revisions/10ccc89f3eac?raw)
