---
title: "Creates an AIP"
method: POST
path: "/api/v2/aips"
tags: ["v2 aips"]
---

# Creates an AIP

`POST /api/v2/aips`

Creates a new AIP

## Query parameters

- `parent-aip-id` string
- `type` string

## Response `201`

Returns the new AIP

- AIP
  - `id` string
  - `parentId` string
  - `type` string
  - `state` 'CREATED' | 'INGEST_PROCESSING' | 'UNDER_APPRAISAL' | 'ACTIVE' | 'DELETED' | 'DESTROYED' | 'DESTROY_PROCESSING' | 'RESTORE_PROCESSING'
  - `instanceId` string
  - `permissions` Permissions
    - `users` object
    - `groups` object
  - `descriptiveMetadata` DescriptiveMetadata[]
    - `id` string
    - `aipId` string
    - `representationId` string
    - `type` string
    - `version` string
  - `representations` Representation[]
    - `aipId` string
    - `id` string
    - `original` boolean
    - `representationStates` string[]
    - `type` string
    - `instanceId` string
    - `hasShallowFiles` boolean
    - `createdOn` string, date-time
    - `createdBy` string
    - `updatedOn` string, date-time
    - `updatedBy` string
    - `descriptiveMetadata` DescriptiveMetadata[]
      - `id` string
      - `aipId` string
      - `representationId` string
      - `type` string
      - `version` string
  - `ingestSIPUUID` string
  - `ingestSIPIds` string[]
  - `ingestJobId` string
  - `ingestUpdateJobIds` string[]
  - `ghost` boolean
  - `hasShallowFiles` boolean
  - `format` AIPFormat
    - `name` string
    - `version` string
  - `relationships` Relationship[]
    - `relationType` string
    - `relationName` string
    - `relationObject` string
  - `createdOn` string, date-time
  - `createdBy` string
  - `updatedOn` string, date-time
  - `updatedBy` string
  - `disposal` DisposalAIPMetadata
    - `schedule` DisposalScheduleAIPMetadata
      - `id` string
      - `associatedBy` string
      - `associatedOn` string, date-time
      - `associationType` 'MANUAL' | 'RULES'
    - `holds` DisposalHoldAIPMetadata[]
      - `id` string
      - `associatedOn` string, date-time
      - `associatedBy` string
    - `transitiveHolds` DisposalTransitiveHoldAIPMetadata[]
      - `id` string
      - `fromAIPs` string[]
    - `confirmation` DisposalConfirmationAIPMetadata
      - `id` string
      - `confirmationOn` string
      - `confirmationBy` string
      - `destruction` DisposalDestructionAIPMetadata
        - `destructionOn` string, date-time
        - `destructionBy` string

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found

---

[API](https://skmtc.net/keeps/apis/roda-rest-api.md) · [All operations](https://skmtc.net/keeps/apis/roda-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/keeps/roda-rest-api/revisions/afc3c5bcc0d9/schema)
