---
title: "Publish a resource you hold the rights to, under a license from the library"
method: POST
path: "/v1/me/resources"
tags: ["Rights desk"]
---

# Publish a resource you hold the rights to, under a license from the library

`POST /v1/me/resources`

## Request

- Base URL: `https://www.rightshold.com`
- URL: `https://www.rightshold.com/v1/me/resources`
- Auth: HTTP bearer

## Headers

- `X-Request-Id` string

## Request body

- object
  - `title` string, required
  - `category` 'licensed_digital_asset' | 'dataset' | 'ai_model' | 'api_service' | 'software_library' | 'font' | 'audio', required
  - `license` string, required: SPDX id from the license library
  - `source_url` string, required: https URL where the resource is published
  - `terms_url` string
  - `summary` string
  - `tags` string[]
  - `version` string
  - `content_sha256` string
  - `agent_id` string: Publish as one of your agents
  - `visibility` 'public' | 'private'

## Response `200`

OK

- object: Inferred from 20 recorded responses; required fields appeared in every one; additional properties may appear.
  - `resource` object, required
    - `id` string, required
    - `title` string, required
    - `category` string, required
    - `category_label` string, required
    - `summary` string, required
    - `tags` string[], required
    - `version` string, required
    - `content_sha256` string, nullable, required
    - `source_url` string, required
    - `terms_url` unknown, required
    - `license` object, required
      - `id` string, required
      - `name` string, required
      - `short` string, required
      - `url` string, required
      - `page` string, required
    - `rights` object, required
      - `profile_id` string, required
      - `reviewed` boolean, required
      - `rights_authority` string, required
      - `authority_note` string, required
      - `permissions` string[], required
      - `prohibitions` string[], required
      - `needs_review` string[], required
      - `duties` string[], required
    - `terms` object, required
      - `id` string, required
      - `version` string, required
      - `uri` string, required
      - `content_hash` string, required
    - `publisher` object, required
      - `handle` string, nullable, required
      - `display_name` string, required
    - `status` string, required
    - `ledger_seq` integer, nullable, required
    - `published_at` string, required
    - `links` object, required
      - `page` string, required
      - `license` string, required
    - `visibility` string, required
    - `agent_id` string, nullable, required
    - `updated_at` string, required

## Other responses

- `400`: Problem details: a stable error code, type URI, title, status and an explanation
- `401`: Problem details: a stable error code, type URI, title, status and an explanation
- `404`: Problem details: a stable error code, type URI, title, status and an explanation
- `405`: Problem details: a stable error code, type URI, title, status and an explanation
- `422`: Problem details: a stable error code, type URI, title, status and an explanation
- `429`: Request budget exhausted; retry after Retry-After seconds
- `500`: Problem details: a stable error code, type URI, title, status and an explanation
- `4XX`: {error, detail}

---

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