---
title: "Create an Object."
method: POST
path: "/v1/objects"
tags: ["objects"]
---

# Create an Object.

`POST /v1/objects`

Create a new Object with content and metadata. The Object will be assigned a unique ID.

## Request body

- ObjectCreateParameters — Parameters required to create a new Object.
  - `name` string, required — The name of the Object.
  - `content_type` 'unspecified' | 'text' | 'binary' | 'gzip' | 'tar' | 'tgz', required
  - `metadata` object, nullable — User defined metadata to attach to the object for organization.

## Response `200`

Object created successfully. Returns the Object with metadata.

- ObjectView — An Object represents a stored data entity with metadata.
  - `id` string, required — The unique identifier of the Object.
  - `name` string, required — The name of the Object.
  - `state` string, required — The current state of the Object.
  - `size_bytes` integer, nullable — The size of the Object content in bytes (null until uploaded).
  - `content_type` 'unspecified' | 'text' | 'binary' | 'gzip' | 'tar' | 'tgz', required
  - `upload_url` string, nullable — Presigned URL for uploading content to S3 (only present on create).

## Other responses

- `400` — Bad request. Invalid content or parameters.
- `401` — Unauthorized. Invalid or missing authentication.
- `403` — Forbidden. Account does not have devbox capability.
- `500` — Internal server error.

---

[API](https://skmtc.dev/runloopai/apis/runloop-api.md) · [All operations](https://skmtc.dev/runloopai/apis/runloop-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/runloopai/runloop-api/revisions/d1cc15eb5ef9/schema)
