Discover capabilities
const url = 'http://127.0.0.1:8080/api/v1/capabilities';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://127.0.0.1:8080/api/v1/capabilitiesUnauthenticated requests return product, API compatibility, interactive sign-in methods, and sign-in features only. auth.native_sign_in means a native app can complete OIDC, SAML, and managed sign-in through begin-native-provider-login and finish-native-provider-login. auth.native_link means a signed-in native app can link an OIDC or SAML identity through create-native-link-ticket, begin-native-provider-login, and finish-native-provider-link. auth.managed_session means a managed provider is configured and its web and native sign-in use short-lived, tenant-audienced grants after PKCE code redemption. auth.managed_native_session means a native client can redeem a scoped hosting grant through finish-managed-native-login for an ordinary local session. Authenticated requests add registered formats, optional features, and enforced bounds. recipes.search.ingredient means ingredient: queries match indexed ingredient names, including optional and alternative names, with original-line fallback only when the name is absent. All words in one qualifier must match the same ingredient. Capabilities describe availability, not a grant of authorization. Schema version 1 permits additive optional fields and new IDs; clients ignore unknown IDs. Cache for the current session and refresh after reconnect or configuration changes.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”OK
object
object
object
object
object
Most recipes one printed document holds, when printing is available
Examplegenerated
{ "api_major": 1, "auth_enabled": true, "auth_features": [ "example" ], "auth_methods": [ { "id": "example", "kind": "example", "name": "example" } ], "event_types": [ "example" ], "exporters": [ { "collection": true, "extensions": [ "example" ], "id": "example", "input_kinds": [ "example" ], "media_types": [ "example" ], "name": "example", "version": "example" } ], "features": [ "example" ], "importers": [ { "collection": true, "extensions": [ "example" ], "id": "example", "input_kinds": [ "example" ], "media_types": [ "example" ], "name": "example", "version": "example" } ], "limits": { "artifact_hours": 1, "async_items": 1, "bulk_items": 1, "export_artifact_bytes": 1, "export_recipes": 1, "grocery_addition_items": 1, "import_file_bytes": 1, "lookup_items": 1, "pantry_entries": 1, "print_recipes": 1, "request_body_bytes": 1, "retry_receipt_hours": 1, "suggestion_items": 1 }, "product": "example", "schema_version": 1, "sref_read": [ "example" ], "sref_write": [ "example" ], "version": "example"}The credential sent is invalid (invalid-credentials).
object
Examplegenerated
{ "code": "example", "detail": "example", "status": 1, "title": "example", "type": "example"}default
Section titled “default”Error
object
Stable application error code; clients may also use the problem type suffix.
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
Structured context for the stable error code.
object
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
object
object
Example
{ "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}