Listings

Submit a listing for review

Move a draft listing to in_review. naturali lists it in the marketplace or sends it back to draft. Any other state answers 409 invalid_listing_state.

post/v1/projects/{project_id}/listings/{listing_id}:submit

Request

  • Base URL: https://api.naturali.ai
  • URL: https://api.naturali.ai/v1/projects/{project_id}/listings/{listing_id}:submit
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://api.naturali.ai/authorize, token URL https://api.naturali.ai/token, scopes: mcp:access)

Response

Listing submitted.

idstring required
project_idstring required

The publishing project.

resource_type'tool' | 'agent' required

What the listing publishes.

resource_idstring required

The published tool or agent.

titlestring required
descriptionstring nullable required
state'draft' | 'in_review' | 'listed' | 'suspended' required

draft until submitted, in_review until naturali decides, listed in the marketplace, suspended when paused by its publisher or by naturali.

created_atstring date-time required
updated_atstring date-time required

Example response

{
  "id": "lst_V1StGXR8Z5jdHi6B",
  "project_id": "proj_V1StGXR8Z5jdHi6B",
  "resource_type": "tool",
  "resource_id": "tool_V1StGXR8Z5jdHi6B",
  "title": "Invoice OCR",
  "description": "Reads a scanned invoice and returns its fields.",
  "pricing": [
    {
      "component": "page",
      "unit": "count",
      "quantity": {
        "var": "response.page_count"
      },
      "unit_price_usd": 0.002
    }
  ],
  "pricing_next": {
    "effective_from": "2026-10-08T00:01:00.000Z",
    "pricing": [
      {
        "component": "page",
        "unit": "count",
        "quantity": {
          "var": "response.page_count"
        },
        "unit_price_usd": 0.002
      }
    ]
  },
  "state": "listed",
  "created_at": "2026-10-01T00:00:00.000Z",
  "updated_at": "2026-10-01T00:00:00.000Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.