---
title: "stage an object's metadata for the given branch"
method: PUT
path: "/repositories/{repository}/branches/{branch}/objects"
tags: ["internal"]
deprecated: true
---

# stage an object's metadata for the given branch

`PUT /repositories/{repository}/branches/{branch}/objects`

> **Deprecated.**

## Request body

- ObjectStageCreation
  - `physical_address` string, required
  - `checksum` string, required
  - `size_bytes` integer, required
  - `mtime` integer — Unix Epoch in seconds
  - `metadata` ObjectUserMetadata
  - `content_type` string — Object media type
  - `force` boolean

## Response `201`

object metadata

- ObjectStats
  - `path` string, required
  - `path_type` 'common_prefix' | 'object', required
  - `physical_address` string, required — The location of the object on the underlying object store. Formatted as a native URI with the object store type as scheme ("s3://...", "gs://...", etc.) Or, in the case of presign=true, will be an HTTP URL to be consumed via regular HTTP GET
  - `physical_address_expiry` integer — If present and nonzero, physical_address is a pre-signed URL and will expire at this Unix Epoch time. This will be shorter than the pre-signed URL lifetime if an authentication token is about to expire. This field is *optional*.
  - `checksum` string, required
  - `size_bytes` integer — The number of bytes in the object. lakeFS always populates this field when returning ObjectStats. This field is optional _for the client_ to supply, for instance on upload.
  - `mtime` integer, required — Unix Epoch in seconds
  - `metadata` ObjectUserMetadata
  - `content_type` string — Object media type

## Other responses

- `400` — Validation Error
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Resource Not Found
- `429` — too many requests
- `default` — Internal Server Error

## Changes

- **2025-07-29** `27799ffec9a5` — 2 info
  - added the non-success response with the status `429`
  - removed the non-success response with the status `420`
- **2024-09-17** `3b10653a8013` — 2 info
  - added the non-success response with the status `420`
  - removed the non-success response with the status `429`

[Change history](https://skmtc.dev/treeverse/apis/lakefs-api/changes/repositories/:repository/branches/:branch/objects/put.md)

---

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