Skip to content
OpenSmartRoute
Documentation
Hosted platformREST API reference

Marketplace

Browse, publish, install and rate agents, skills, personas, prompts, templates and tools.

Hosted platformAPI version 2.1.0

Each listing has a validated manifest the router can load; `GET /registry/{slug}/manifest` is what `registry://` references resolve to.

get/api/v1/me/installs

My Installs

Requires an API key

Parameters

NameInTypeDefaultDescription
x-goog-api-keyheaderstring | null

Responses

200Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s "$OSR_URL/api/v1/me/installs" \
  -H "Authorization: Bearer $OSR_API_KEY"

get/api/v1/me/listings

My Listings

Requires an API key

Parameters

NameInTypeDefaultDescription
x-goog-api-keyheaderstring | null

Responses

200Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s "$OSR_URL/api/v1/me/listings" \
  -H "Authorization: Bearer $OSR_API_KEY"

get/api/v1/registry

Search

No authentication

Parameters

NameInTypeDefaultDescription
qquerystring""
kindquerystring | null
tagquerystring | null
pricequerystring | null
featuredqueryboolean | null
sortquerystring"popular"
limitqueryinteger24
offsetqueryinteger0

Responses

200Successful Response
422Validation ErrorHTTPValidationError
Requestbash
curl -s "$OSR_URL/api/v1/registry?q=&sort=popular"

post/api/v1/registry

Create

Requires an API key

Parameters

NameInTypeDefaultDescription
x-goog-api-keyheaderstring | null

Request bodyListingIn

FieldTypeDefaultDescription
domainsstring[]
kind(required)string
licensestring"Apache-2.0"
manifestobject
name(required)string
price_usdnumber0
readmestring""
slugstring | null
submitbooleanfalse
summarystring""
tagsstring[]
versionstring"1.0.0"

Responses

201Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s -X POST "$OSR_URL/api/v1/registry" \
  -H "Authorization: Bearer $OSR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "kind": "string", "name": "default" }'
Bodyjson
{
  "kind": "string",
  "name": "default"
}

get/api/v1/registry/kinds

Kinds

No authentication

Responses

200Successful Response
Requestbash
curl -s "$OSR_URL/api/v1/registry/kinds"

get/api/v1/registry/sitemap

Sitemap

slug and updated_at of the published listings worth indexing, for the XML sitemap (no auth, cheap to page): native listings and imported ones with substance - a README, an install, a rating or a mark.

No authentication

Parameters

NameInTypeDefaultDescription
limitqueryinteger5000
offsetqueryinteger0

Responses

200Successful Response
422Validation ErrorHTTPValidationError
Requestbash
curl -s "$OSR_URL/api/v1/registry/sitemap?limit=5000&offset=0"

get/api/v1/registry/{slug}

Get Listing

Requires an API key

Parameters

NameInTypeDefaultDescription
slug(required)pathstring

Responses

200Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s "$OSR_URL/api/v1/registry/<slug>" \
  -H "Authorization: Bearer $OSR_API_KEY"

patch/api/v1/registry/{slug}

Patch

Requires an API key

Parameters

NameInTypeDefaultDescription
slug(required)pathstring
x-goog-api-keyheaderstring | null

Request bodyListingPatch

FieldTypeDefaultDescription
domainsstring[] | null
licensestring | null
manifestobject | null
namestring | null
price_usdnumber | null
readmestring | null
summarystring | null
tagsstring[] | null

Responses

200Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s -X PATCH "$OSR_URL/api/v1/registry/<slug>" \
  -H "Authorization: Bearer $OSR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "domains": [], "license": "string", "manifest": {}, "name": "default", "price_usd": 0.5, "readme": "string", "summary": "string", "tags": [] }'
Bodyjson
{
  "domains": [],
  "license": "string",
  "manifest": {},
  "name": "default",
  "price_usd": 0.5,
  "readme": "string",
  "summary": "string",
  "tags": []
}

post/api/v1/registry/{slug}/archive

Archive

Requires an API key

Parameters

NameInTypeDefaultDescription
slug(required)pathstring
x-goog-api-keyheaderstring | null

Responses

200Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s -X POST "$OSR_URL/api/v1/registry/<slug>/archive" \
  -H "Authorization: Bearer $OSR_API_KEY"

post/api/v1/registry/{slug}/install

Install

Requires an API key

Parameters

NameInTypeDefaultDescription
slug(required)pathstring
x-goog-api-keyheaderstring | null

Responses

200Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s -X POST "$OSR_URL/api/v1/registry/<slug>/install" \
  -H "Authorization: Bearer $OSR_API_KEY"

get/api/v1/registry/{slug}/manifest

Manifest

No authentication

Parameters

NameInTypeDefaultDescription
slug(required)pathstring
versionquerystring | null

Responses

200Successful Response
422Validation ErrorHTTPValidationError
Requestbash
curl -s "$OSR_URL/api/v1/registry/<slug>/manifest"

get/api/v1/registry/{slug}/reviews

Reviews

No authentication

Parameters

NameInTypeDefaultDescription
slug(required)pathstring

Responses

200Successful Response
422Validation ErrorHTTPValidationError
Requestbash
curl -s "$OSR_URL/api/v1/registry/<slug>/reviews"

put/api/v1/registry/{slug}/reviews

Review

Requires an API key

Parameters

NameInTypeDefaultDescription
slug(required)pathstring
x-goog-api-keyheaderstring | null

Request bodyReviewIn

FieldTypeDefaultDescription
bodystring""
rating(required)integer
titlestring""

Responses

200Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s -X PUT "$OSR_URL/api/v1/registry/<slug>/reviews" \
  -H "Authorization: Bearer $OSR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "rating": 1 }'
Bodyjson
{
  "rating": 1
}

delete/api/v1/registry/{slug}/reviews

Delete Review

Requires an API key

Parameters

NameInTypeDefaultDescription
slug(required)pathstring
x-goog-api-keyheaderstring | null

Responses

204Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s -X DELETE "$OSR_URL/api/v1/registry/<slug>/reviews" \
  -H "Authorization: Bearer $OSR_API_KEY"

post/api/v1/registry/{slug}/submit

Submit

Requires an API key

Parameters

NameInTypeDefaultDescription
slug(required)pathstring
x-goog-api-keyheaderstring | null

Responses

200Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s -X POST "$OSR_URL/api/v1/registry/<slug>/submit" \
  -H "Authorization: Bearer $OSR_API_KEY"

post/api/v1/registry/{slug}/unarchive

Unarchive

Requires an API key

Parameters

NameInTypeDefaultDescription
slug(required)pathstring
x-goog-api-keyheaderstring | null

Responses

200Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s -X POST "$OSR_URL/api/v1/registry/<slug>/unarchive" \
  -H "Authorization: Bearer $OSR_API_KEY"

post/api/v1/registry/{slug}/versions

Add Version

Requires an API key

Parameters

NameInTypeDefaultDescription
slug(required)pathstring
x-goog-api-keyheaderstring | null

Request bodyVersionIn

FieldTypeDefaultDescription
changelogstring""
manifest(required)object
version(required)string

Responses

201Successful Response
422Validation ErrorHTTPValidationError
401Missing, invalid or revoked API key
Requestbash
curl -s -X POST "$OSR_URL/api/v1/registry/<slug>/versions" \
  -H "Authorization: Bearer $OSR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "manifest": {}, "version": "string" }'
Bodyjson
{
  "manifest": {},
  "version": "string"
}

Something wrong or out of date on this page? Tell us - the page is named for you, so a one-line note is enough.