List the services
Call the service search endpoint without a search phrase.Get every page
- The default page size is 50. The maximum is 100.
- Send a GET request to the
nextURL. Continue until the response has nonextfield. - A relative
nextURL resolves againsthttps://api.inflowpay.ai. - Treat the
nextURL as opaque. Do not build it or change its cursor.
List the services with the Node SDK
https://directory.offeringprotocol.org, and you cannot change this URL. For the sandbox, use createDirectoryClient({ environment: "sandbox" }).
Fields that the SDK leaves out
The directory SDK leaves out these service document fields, because its parser does not validate them.branding, mcp, http, odp_version, payment_origins, search_capabilities
To get one of these fields, call the API directly, or read the live Service Document of the service.
SDKs for other languages
Each ODP SDK includes directory support. The method names and the iteration APIs differ by language. Each repository documents its directory client.Keep a local copy in sync
For a small directory, use this approach.1
Get the full list on a schedule
Read every page of the list at a regular interval.
2
Key each entry by its origin
Store or update each entry with
service_origin as the key.3
Replace the old copy only after a full read
Replace the previous copy only when every page loads with no rejected entries. Only then remove the entries that are missing from the new list.
4
Keep the old copy on failure
If a request fails, keep the previous copy.
Read the catalog of a service
The directory entry is cached discovery metadata. To read the current catalog, connect to the service at itsservice_origin with the ODP agent SDK.
If
getOffering cannot resolve the attributes, read the returned issues. Do not assume that the offering has no attributes.
Use only the advertised operations
A service withoutlist-offerings and get-offering does not have an empty catalog. Some services use search or collections instead. Check the advertised operations. Then use searchOfferings(), listCollections(), or listCollectionOfferings(collectionId) as the service supports.
Catalogs can need authentication or payment
The directory API is public, but the catalog operations of a service can need authentication or payment. Before you read a catalog, check theauthentication value of each operation and the advertised payment protocols. Authenticated or paid access needs its own code.
These calls only read data. They do not invoke the actions of an offering or buy anything.
The agent SDK also supports authentication, pagination, caching, and action resolution. See the packages/agent folder in offering-protocol/odp-node.
Related pages
The InFlow directory
Read what a listing shows, and search the directory with the CLI.
Discovery with ODP
Read how services, collections, offerings, and actions fit together.