Skip to content
looot docs
Esc
↑↓navigate↵open⌘Jpreview

Search the public catalog

Pages through the published catalog, filtered by text, capability, category or provider. Items are redacted for public reading and pages stay stable between calls. No bearer token needed: the catalog is the same for every caller.

GET/v1/public-catalog
Query parameters
textstring

At most 800 UTF-8 bytes; control characters rejected

min length 1 · max length 200
qstring

Alias for text; cannot be combined with text

min length 1 · max length 200
capabilitystring
matches ^[a-z][a-z0-9_-]{2,127}$
categorystring
matches ^[a-z][a-z0-9_-]{2,127}$
providerstring
matches ^[a-z][a-z0-9_-]{2,127}$
operationIdstring
matches ^[a-z][a-z0-9_-]{2,127}$
limitinteger
min 1 · max 100 · default: 25
cursorstring
min length 1 · max length 4096
signalsany

1 also returns unsuppliedJobs and warnings when no public endpoint does the query's job; without it that page is items: [] with the three base keys

Allowed:1
Responses
200

Stable public catalog page

itemsPublicCatalogItem[]required
max items 100
Show properties
Array of PublicCatalogItem
catalogItemIdstringrequired
matches ^[a-z][a-z0-9_-]{2,127}$
revisionintegerrequired
min 1 · max 9007199254740991
providerIdstringrequired
matches ^[a-z][a-z0-9_-]{2,127}$
operationIdstringrequired
matches ^[a-z][a-z0-9_-]{2,127}$
titlestringrequired
min length 1 · max length 160
descriptionstringrequired
min length 1 · max length 2000
categoriesstring[]required
min items 1 · max items 30
capabilitiesstring[]required
max items 30
inputSchemaDigeststringrequired
matches ^sha256:[a-f0-9]{64}$
outputSchemaDigeststringrequired
matches ^sha256:[a-f0-9]{64}$
methodstring | nullrequired
Allowed:GETPOSTPUTPATCHDELETEnull
pathTemplatestring | nullrequired
min length 1 · max length 1024
parametersobject[]required
max items 100
Show properties
Array of object
namestringrequired
min length 1 · max length 120
locationanyrequired
Allowed:querypathheaderbody
requiredbooleanrequired
descriptionstring
min length 1 · max length 500
schemaDigeststring
matches ^sha256:[a-f0-9]{64}$
verificationobjectrequired
Show properties
stateanyrequired
Allowed:unverifiedfixture_verifiedauthenticated_verifiedstale
verifiedAtstring<date-time> | nullrequired
responseCaptureobjectrequired
Show properties
availablebooleanrequired
digeststring | nullrequired
matches ^sha256:[a-f0-9]{64}$
referencesobject[]required
max items 20
Show properties
Array of object
kindanyrequired
Allowed:documentationpricing
urlstring<uri>required
max length 2048
pricePublicCatalogPricerequired
Show properties
One of:
object
stateanyrequired
amountMicrosintegerrequired
min 0 · max 9007199254740991
currencystringrequired
matches ^[A-Z]{3}$
unitstringrequired
min length 1 · max length 80
effectiveAtstring<date-time>required
comparisonBasisobject
Show properties
canonicalMeterstringrequired
matches ^[a-z][a-z0-9_-]{2,127}$
billingBasisanyrequired
Allowed:per_callper_resultper_unit
tierstringrequired
min length 1 · max length 80
minimumMicrosintegerrequired
min 0 · max 9007199254740991
roundinganyrequired
Allowed:exactceilfloor
object
stateanyrequired
Allowed:unknownuncomputable
reasonstringrequired
min length 1 · max length 300
publishedAtstring<date-time>required
itemDigeststringrequired
matches ^sha256:[a-f0-9]{64}$
provenanceTieranyrequired
Allowed:officialverified_partnercommunityprivateunverified
catalogDigeststringrequired
matches ^sha256:[a-f0-9]{64}$
nextCursorstring | nullrequired
min length 1 · max length 2000
unsuppliedJobsstring[]

Sent only with signals=1 and together with warnings: best-matching job ids no public endpoint is filed under

min items 1 · max items 20
warningsobject[]

Sent only with signals=1, when no public endpoint does the query's job; items is then empty

min items 1 · max items 5
Show properties
Array of object
codeanyrequired
jobIdstringrequired
min length 1 · max length 200
jobTitlestringrequired
min length 1 · max length 300
messagestringrequired
min length 1 · max length 1000
400

Invalid, repeated, or malformed query/cursor

401

Only returned for a malformed request; no bearer token is required

403

Catalog read scope required

409

catalog_cursor_stale: cursor no longer matches the query or catalog snapshot

Try it
Server
Parameters
Request
curl -X GET "https://api.looot.ai/v1/public-catalog"
Response
{
  "items": [
    {
      "catalogItemId": "string",
      "revision": 1,
      "providerId": "string",
      "operationId": "string",
      "title": "string",
      "description": "string",
      "categories": [
        "string"
      ],
      "capabilities": [
        "string"
      ],
      "inputSchemaDigest": "string",
      "outputSchemaDigest": "string",
      "method": "GET",
      "pathTemplate": "string",
      "parameters": [
        {
          "name": "string",
          "location": "query",
          "required": true,
          "description": "string",
          "schemaDigest": "string"
        }
      ],
      "verification": {
        "state": "unverified",
        "verifiedAt": "2019-08-24T14:15:22Z",
        "responseCapture": {
          "available": true,
          "digest": "string"
        }
      },
      "references": [
        {
          "kind": "documentation",
          "url": "http://example.com"
        }
      ],
      "price": {
        "state": "known",
        "amountMicros": 0,
        "currency": "string",
        "unit": "string",
        "effectiveAt": "2019-08-24T14:15:22Z",
        "comparisonBasis": {
          "canonicalMeter": "string",
          "billingBasis": "per_call",
          "tier": "string",
          "minimumMicros": 0,
          "rounding": "exact"
        }
      },
      "publishedAt": "2019-08-24T14:15:22Z",
      "itemDigest": "string",
      "provenanceTier": "official"
    }
  ],
  "catalogDigest": "string",
  "nextCursor": "string",
  "unsuppliedJobs": [
    "string"
  ],
  "warnings": [
    {
      "code": "no_supply_for_job",
      "jobId": "string",
      "jobTitle": "string",
      "message": "string"
    }
  ]
}