search_products
Find products in the Orvio catalog, or list them all. Returns identifiers to use with the other tools.
Ask for it in plain words#
Inputs#
| Name | Type | Required | What it does |
|---|---|---|---|
query | string | no | Words in a product's name or description. Leave it out to list the whole catalog. |
type | string | no | Only one kind of product: website, web-app or mobile-app. |
framework | string | no | Only one framework: static-html or react. |
category | string | no | Only one category, written as the catalog shows it (case does not matter). |
sort | string | no | name (default) or newest. |
limit | integer | no | How many products per page: 1 to 50, default 20. |
cursor | string | no | From the previous result's nextCursor, for the next page. |
Example#
The example ran over Orvio's synthetic test catalog (a product called Fixture Studio), so its names and values differ from the products you will see. The shape is exactly what the server returns.
Request
{ "query": "portfolio", "limit": 5 }
Result (shortened)
{ "products": [ { "identifier": "fixture-studio", "name": "Fixture Studio", "description": "Synthetic portfolio website for tests.", "version": "1.1.0", "type": "website", "framework": "static-html", "categories": [ "portfolio" ], "pages": 1, "components": 3, "url": "https://orvio.test/products/fixture-studio" } ], "total": 1, "nextCursor": null }
Left out of the example: release.
What comes back#
| Field | What it holds |
|---|---|
products | The products on this page, each with its identifier, name, description, version, type, framework, categories, page and component counts, and its address on the website. |
total | How many products matched in all. |
nextCursor | Pass it as cursor for the next page, or null on the last page. |
warnings | Heads-ups that do not stop the call, such as a membership payment problem. Usually empty. |
Every result also carries what the request needs to be checked: the release (product, version, published date), the licence and notes, when they apply.
Paging#
When nextCursor is not null, call again with cursor set to it. A cursor belongs to your account, to that call's inputs and to that release, and it expires after 60 minutes. After a new release it answers release_replaced. See Limits and pagination.
Errors#
| Code | Means | What to do |
|---|---|---|
invalid_input | The arguments do not match the tool's schema, or the cursor is not valid. | Fix the input and call the tool again. |
HTTP 401, 403 or 429 | Before the tool runs: the sign-in is not valid, the membership does not allow access, or there were too many requests. | See Errors and fixes. |
Every tool can also answer service_unavailable and integrity_error: try again in a few minutes.