---
title: "Op Create V2"
method: POST
path: "/v2/{entity}/{project}/ops"
tags: ["V2 -- Ops"]
---

# Op Create V2

`POST /v2/{entity}/{project}/ops`

Create an op object.

## Path parameters

- `entity` string, required
- `project` string, required

## Request body

- OpCreateV2Body — Request body for creating an Op object via REST API. This model excludes project_id since it comes from the URL path in RESTful endpoints.
  - `name` string, nullable — The name of this op. Ops with the same name will be versioned together.
  - `source_code` string, nullable — Complete source code for this op, including imports

## Response `200`

Successful Response

- OpCreateV2Res — Response model for creating an Op object.
  - `digest` string, required — The digest of the created op
  - `object_id` string, required — The ID of the created op
  - `version_index` integer, required — The version index of the created op

## Other responses

- `422` — Validation Error

## Changes

- **2025-11-06** `e0fa7a1a394a` — 1 info
  - api operation id `op_create_v2_v2__entity___project__ops_post` removed and replaced with `op_create_v2`
- **2025-11-05** `d93d10582b06` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/wandb/apis/fastapi/changes/v2/:entity/:project/ops/post.md)

---

[API](https://skmtc.dev/wandb/apis/fastapi.md) · [All operations](https://skmtc.dev/wandb/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/wandb/fastapi/revisions/148dfd663d45/schema)
