Errors
Common Listano Control MCP errors and recovery guidance.
Listano Control MCP tools may return errors from authentication, permissions, validation, readiness checks, or backend fetch failures.
The safest recovery pattern is:
- inspect the error
- call
whoamiif permissions are unclear - call
get-offeringif the current draft state is unclear - fix only the specific invalid or missing data
- call
check-offering-publish-readinessagain before publishing
Permission errors
A permission error means the authenticated integration does not have the required scope.
| Operation | Required scope |
|---|---|
| list/read/check | catalog:read |
| create/update/translate/discard | catalog:write |
| publish/discontinue | catalog:publish |
Recovery:
- call
whoami - confirm granted scopes
- ask for the missing scope to be granted
Not found errors
An offering may not be found when:
- the
offeringIdis wrong - the offering belongs to another company
- the integration is authenticated for a different company
Recovery:
- call
list-offeringswith a title, SKU, or other known identifier - confirm the selected offering before mutating it
Validation errors
Validation errors usually mean the input shape or field value is invalid.
Common causes:
| Cause | Fix |
|---|---|
category_id without category_label | Provide both fields. |
| Invalid language code | Use get-supported-languages. |
| Main language included in translations | Remove the main language from the translation payload. |
| Invalid unit code | Use a valid 3-character unit code. |
Attribute has unit but non-number value | Use a numeric value. |
Attribute has valueLabel but non-string value | Use a string value. |
Attempt to change kind or language | Discard the draft and create a new offering. |
Publish readiness errors
check-offering-publish-readiness returns:
{
offeringId: string
publishable: boolean
errors: unknown[]
}When publishable is false, do not call publish-offering.
Common readiness problems:
- missing main-language title, description, or measure unit
- missing translations for supported non-main languages
- missing translated category labels
- missing attribute translations
- invalid attribute value/unit combination
- missing translated attribute descriptions or value labels
Recovery:
- fix the returned errors
- call
check-offering-publish-readinessagain - publish only when
publishableistrue
Draft lifecycle errors
If kind or language is wrong, do not try to patch it.
These fields are immutable. The correct recovery is to discard the draft with discard-offering-draft and create a new offering.
If an offering already has a published current version, discarding the draft does not remove the live version.
Publishing errors
publish-offering may fail if the draft is incomplete or invalid.
Recovery:
- call
check-offering-publish-readiness - fix the returned errors
- try publishing only after readiness passes
Backend fetch failures
A tool may return a fetch failure when the backend request fails before a valid response is returned.
Recovery:
- retry the same read-only operation if appropriate
- avoid repeating mutation calls unless the current state has been checked with
get-offering - report the error message if the failure persists