Submission errors
On this page (9)
Every problem a check finds carries a code, such as PLG-RECORD-AFTER-TODAY, printed with its fix and a link to its entry below, by the tool and by the portal's "Copy issues" alike. This page is generated from the one catalog all of them read (shared/ts/src/data/plugin-store/checks.ts), so the words here are the words you saw. A code is never renamed or reused; one no longer used is marked retired and stays, so an old message still finds its page. Codes from the portal's own checks are listed as each one ships.
The manifest
Found in plugin.json, wherever contract 1 is checked: check, the portal, and the Server before every run.
PLG-INVALID
Not acceptable to contract 1. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Read the sentence: it names the field or line. Every rule is in the Reference.
PLG-MANIFEST-INVALID-JSON
plugin.json is not JSON. Error; since 2026-10-01.
It says: plugin.json could not be read as JSON: {detail}
What to do: Check for a trailing comma or an unquoted key. Your editor can validate it against plugin.schema.json.
PLG-MANIFEST-NOT-OBJECT
The manifest is not an object. Error; since 2026-10-01.
Its message names the field or the line.
What to do: plugin.json must hold one JSON object: { "contract": 1, "id": …, … }.
PLG-MANIFEST-UNKNOWN-KEY
A key contract 1 does not know. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Remove the key, or check its spelling against the Reference. Unknown keys are refused so a typo never passes silently.
PLG-MANIFEST-CONTRACT
Wrong contract. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Set "contract": 1.
PLG-MANIFEST-ID
The id is not allowed. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Use 2 to 48 lowercase letters, digits and hyphens, starting with a letter: "harbour-almanac". It is also the folder's name.
PLG-MANIFEST-NAME
A name is missing or too long. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Give each name per language, 80 characters or fewer: { "en": "Harbour Almanac", "es": "Almanaque del puerto" }.
PLG-MANIFEST-VERSION
The version is not major.minor.patch. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Use three numbers, such as 1.0.0, and raise it with every change you publish.
PLG-MANIFEST-TIMEZONE
Not a named time zone. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Use an IANA zone such as America/Santo_Domingo, never an offset like -04:00. It decides your plug-in's today.
PLG-MANIFEST-AUDIENCE
Unknown audience. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Use public, private or local.
PLG-MANIFEST-SCHEDULE
The schedule is not a five-field cron. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Write minute, hour, day of month, month and day of week, read in your time zone: "30 9 * * 1-5" is 09:30 on weekdays.
PLG-MANIFEST-BACKFILL
backfill is not all or a span. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Use "all", or a span such as "5y" or "90d": how far back your first run fills.
PLG-MANIFEST-SOURCES
A source is not declared correctly. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Each source needs a lowercase name, used once, and an https url; maxBytes is at most 20 MB. At most 16 sources.
PLG-MANIFEST-SOURCE-URL
A source is not an https URL. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Kanboombo downloads only https URLs with a lowercase host. {today}, {year} and {month} are filled in your time zone.
PLG-MANIFEST-SERIES
A series is not declared correctly. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Each series needs a key, a kind (value, event, item), a cadence, its dates (observation or publication) and a name. Only value series have fields.
PLG-MANIFEST-LINKS
links.hosts is not a list of host names. Error; since 2026-10-01.
Its message names the field or the line.
What to do: List the lowercase hosts your items may link to besides your sources' own, such as "www.bancentral.gov.do". At most 16.
PLG-MANIFEST-LIMITS
A limit is out of range. Error; since 2026-10-01.
Its message names the field or the line.
What to do: limits may only lower the defaults: seconds 1 to 120, megabytes 16 to 256.
PLG-MANIFEST-LICENCE
The licence block is incomplete. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Name the holder, the attribution shown beside your records (40 characters or fewer), the terms URL (or null) and whether the data may be kept: yes, no or unknown.
PLG-ID-RESERVED
That id is reserved. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Choose another id: words the store's own addresses use (store, publish, days…), and ids starting kanboombo, kb-, chk- or test-, are taken.
PLG-LISTING-INVALID
listing.json is not a listing. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Start from the listing in Reference › Listing: "listing": 1, then the keys it names and nothing else.
PLG-LISTING-ID
The listing is for another plug-in. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Set "plugin" to your manifest's id.
PLG-LISTING-PUBLISHER
No publisher domain. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Name the domain your organization verifies, such as { "domain": "bancodata.do" }. The store shows it beside your name.
PLG-LISTING-TAGLINE
The tagline is missing or too long. Error; since 2026-10-01.
Its message names the field or the line.
What to do: One line, 80 characters or fewer per language, that says what lands on your readers' days.
PLG-LISTING-DESCRIPTION
The description is missing or too long. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Plain text, 2,000 characters or fewer per language, paragraphs separated by a blank line. Your readers are short of time.
PLG-LISTING-LANGUAGE-MISSING
No English. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Write the tagline and description in English (en) too; add your other languages beside it.
PLG-LISTING-CATEGORY
Unknown category. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Pick the one category readers would look in first.
PLG-LISTING-KEYWORDS
Too many keywords. Error; since 2026-10-01.
Its message names the field or the line.
What to do: At most 12 words or short phrases a reader might search for, 30 characters each.
PLG-LISTING-LINK
A link is not https. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Every link in a listing is https.
PLG-NO-PRIVACY-POLICY
No privacy policy. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Link a page that says who you are and what your plug-in collects: with contract 1, nothing about your readers.
PLG-NO-SUPPORT-CONTACT
No way to reach you. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Give links.support a url, an email, or both.
PLG-LISTING-SOURCE
A listed source is wrong. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Describe only sources your manifest declares: a title, the page it comes from, and its licence.
PLG-LISTING-EXAMPLE
An example day is wrong. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Name 1 to 3 days your fixtures cover. The store draws each one from your plug-in's own output, so pick days that show what it does.
PLG-LISTING-ICON
The icon is not right. Error; since 2026-10-01.
Its message names the field or the line.
What to do: A 256×256 PNG, 64 KB or less, that still reads at 14 pixels.
A run's records
Found in what fetch.mjs prints. The Server refuses the whole batch on any of these; nothing from the run is written.
PLG-RECORD-TODAY
The run had no today. Error; since 2026-10-01.
Its message names the field or the line.
What to do: This is Kanboombo's side, not yours: the run context lacked a valid today. Run the checks again.
PLG-RECORD-TOO-MANY
Too many records in one run. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Print at most 250,000 records per run. A larger history fills over several runs: set backfill to a span.
PLG-RECORD-INVALID
A record breaks contract 1. Error; since 2026-10-01.
Its message names the field or the line.
What to do: The sentence names the line. Compare it with Reference › Records: every value is a finite number, every date YYYY-MM-DD.
PLG-RECORD-SERIES
A record for a series the manifest does not declare. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Print only the series plugin.json declares, each with its declared kind.
PLG-RECORD-UNKNOWN-KEY
A record has a key contract 1 does not know. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Each kind has its own keys (Reference › Records). Remove the extra one.
PLG-RECORD-AFTER-TODAY
A record dated after today. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Usually a time-zone mistake: date your records in the manifest's zone, never with toISOString(). Only a scheduled event may be in the future.
PLG-RECORD-LINK
An item links somewhere it may not. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Item links are https, to a source's host or one listed in links.hosts.
PLG-RECORD-REPEATED
The same record twice in one run. Error; since 2026-10-01.
Its message names the field or the line.
What to do: A record's key is its series, date and period (an event's or item's id). Print each once.
Your folder
Found by check (kanboombo-plugin.mjs or npm run plugin) on your machine, and again when you upload.
PLG-FOLDER-ID
The folder is not named after the id. Error; since 2026-10-01.
It says: The folder is named {folder}, but the manifest's id is {id}
What to do: Rename the folder, or the id: they must match.
PLG-FETCH-MISSING
No fetch.mjs. Error; since 2026-10-01.
It says: There is no fetch.mjs in the folder
What to do: The fetcher is always fetch.mjs at the top of the folder. kanboombo-plugin.mjs init writes one.
PLG-IMPORT-OUTSIDE
An import from outside the plug-in. Error; since 2026-10-01.
It says: {file} imports {spec}, outside the plug-in's folder
What to do: A plug-in is self-contained: copy what you need into the folder.
PLG-IMPORT-PACKAGE
An import of an undeclared package. Error; since 2026-10-01.
It says: {file} imports {spec}, which package.json does not declare
What to do: Import a Node builtin with its node: prefix (node:fs, never fs), or copy the code into the folder as a readable .mjs file.
PLG-FIXTURE-SOURCE-MISSING
A source has no fixture. Error; since 2026-10-01.
It says: There is no fixtures/sources/{source} for the source "{source}"
What to do: Save a real copy of each declared source in fixtures/sources/, named after it. Checks run on these, never on the network.
PLG-FIXTURE-CONTEXT-INVALID
fixtures/context.json is not valid. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Write { "now": "2026-10-01T13:30:00Z", "today": "2026-10-01" }, where today is now's date in your time zone.
PLG-FIXTURE-RECORDS-MISSING
No fixtures/records.jsonl. Error; since 2026-10-01.
It says: There is no fixtures/records.jsonl to compare with
What to do: Run check with --update once to write it, read it, and keep it.
PLG-FIXTURE-MISMATCH
The output differs from fixtures/records.jsonl. Error; since 2026-10-01.
Its message names the field or the line.
What to do: If the change is intended, run check with --update and read the difference before you keep it.
PLG-RUN-FAILED
The fetcher exited with an error. Error; since 2026-10-01.
It says: fetch.mjs exited {exit}: {reason}
What to do: The reason is the last line it wrote to stderr. Exit non-zero only when a source is not what you expect.
PLG-RUN-KILLED
The fetcher was stopped at its limits. Error; since 2026-10-01.
It says: fetch.mjs was stopped ({signal}) at its limits
What to do: It ran past its seconds or memory. Read the source once, stream large files, and print as you go.
PLG-RUN-NETWORK
The fetcher tried the network. Error; since 2026-10-01.
It says: {reason}
What to do: Plug-ins have no network. Declare the file as a source in plugin.json and read it from the path the context gives.
PLG-RUN-EXPECTED-FAILURE
A run that should fail did not fail as expected. Error; since 2026-10-01.
It says: fixtures/runs/{run} expects {expected}, but the fetcher {actual}
What to do: A broken source must stop the run, so nothing wrong is written: exit with expect.json's exit, and write a last stderr line that contains its reason. If it stopped and only the words differ, make the reason and that line agree.
PLG-RUN-READ-OUTSIDE
The fetcher read a file outside its folder. Error; since 2026-10-01.
It says: fetch.mjs tried to read {path}, outside its folder and its sources
What to do: Read only your own folder and the paths the run context gives in sources. On the Server nothing else is there to read.
The upload
Found when the portal reads your ZIP, before anything of it runs.
PLG-ID-TAKEN
Another publisher has that id. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Choose another id. An id belongs to the organization that first used it, and is never reused.
PLG-ID-RETIRED
That id was retired. Error; since 2026-10-01.
Its message names the field or the line.
What to do: A retired id stays retired: readers' records are kept under it. Choose a new id.
PLG-STORE-AUDIENCE
Store plug-ins are public. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Set "audience": "public". A private plug-in is set up for its readers at host.kanboombo.com, not published in the store.
PLG-LICENCE-TERMS-MISSING
No terms for the data. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Link the terms the data is published under in licence.terms. The store shows them, and review reads them.
PLG-SCHEDULE-TOO-FREQUENT
It would run too often. Error; since 2026-10-01.
Its message names the field or the line.
What to do: A plug-in may run at most 24 times a day. Most sources change once or twice a day: match yours.
PLG-QUOTA-UPLOADS
Too many uploads today. Error; since 2026-10-01.
Its message names the field or the line.
What to do: An organization uploads at most 20 versions a day. Check locally with kanboombo-plugin.mjs check first; it runs the same checks.
PLG-ZIP-TOO-LARGE
The archive is too large. Error; since 2026-10-01.
It says: The archive is {size}; an upload may be at most {limit}
What to do: Leave out what the plug-in does not need: trim large fixtures to the rows your checks read, and never include node_modules/.
PLG-ZIP-NOT-ZIP
Not a ZIP archive. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Upload the .zip that kanboombo-plugin.mjs pack writes, or compress the plug-in's folder. If the upload was cut short, try again.
PLG-ZIP-PREPENDED
Something before the archive. Error; since 2026-10-01.
It says: Something comes before the archive's first file, as in a self-extracting archive or a file with a ZIP glued on
What to do: Upload a plain .zip: compress the plug-in's folder, or use kanboombo-plugin.mjs pack.
PLG-ZIP-MULTI-DISK
A split archive. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Make one .zip file, not a split or spanned archive. A plug-in is small enough for one.
PLG-ZIP-ZIP64
A ZIP64 archive. Error; since 2026-10-01.
Its message names the field or the line.
What to do: A plug-in is small enough for a plain ZIP. Compress the folder with your system's own tool, or with kanboombo-plugin.mjs pack, rather than streaming it through zip.
PLG-ZIP-ENCRYPTED
An encrypted file. Error; since 2026-10-01.
It says: {name} is encrypted
What to do: Upload the archive without a password. Nothing in a plug-in is secret: a person reads every file before it is published.
PLG-ZIP-METHOD
A compression Kanboombo does not read. Error; since 2026-10-01.
It says: {name} is compressed with method {method}; Kanboombo reads deflate (8) and stored (0) only
What to do: Compress with deflate, what every common zip tool uses by default; turn off bzip2, LZMA or deflate64.
PLG-ZIP-TOO-MANY-ENTRIES
Too many files. Error; since 2026-10-01.
It says: The archive has {count} entries; the most is {limit}
What to do: Keep a few fixtures that show each case rather than every day's file.
PLG-ZIP-UNCOMPRESSED-TOO-LARGE
The archive unpacks too large. Error; since 2026-10-01.
It says: The archive unpacks to {size}; the most is {limit}
What to do: Trim your fixtures to the rows your checks read. The Server downloads the real sources; the archive only carries samples.
PLG-ZIP-RATIO
A file compresses suspiciously well. Error; since 2026-10-01.
It says: {name} unpacks to {ratio} times its compressed size; the most is {limit} times
What to do: That is how a ZIP bomb looks. If the file is real, shorten it: very repetitive sample files can keep only the rows your checks read.
PLG-ZIP-DAMAGED
A damaged archive. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Compress the folder again and upload the new file. If it keeps happening, use kanboombo-plugin.mjs pack, which writes archives Kanboombo always reads.
PLG-ZIP-PATH
A file name Kanboombo does not accept. Error; since 2026-10-01.
It says: {name}: {detail}
What to do: Name files and folders with letters, digits, ".", "_", "-" and "$", each part starting with a letter, a digit or "$": no "..", no leading "/", no "\", at most 200 characters and 8 parts.
PLG-ZIP-DUPLICATE
One name used twice. Error; since 2026-10-01.
It says: {name} clashes with {other}: the same name twice, names that differ only in case, or a file where a folder is
What to do: Keep one of them. Names that differ only in case are one file on a Mac or a Windows computer, so they can never both be what you tested.
PLG-ZIP-SYMLINK
A symbolic link. Error; since 2026-10-01.
It says: {name} is a symbolic link
What to do: Put the file itself in the folder. What runs must be what was reviewed, and a link can point anywhere.
PLG-ZIP-NOT-A-FILE
Something that is not a plain file. Error; since 2026-10-01.
It says: {name} is {kind}
What to do: A plug-in holds plain files and folders only. Compress the folder again from a normal copy of it.
PLG-ZIP-NO-MANIFEST
No plugin.json. Error; since 2026-10-01.
It says: The archive has no plugin.json at its top, or in one folder that holds everything else
What to do: Compress the plug-in's folder itself, so plugin.json is at the top of the archive or inside a single folder named after your id.
PLG-ZIP-DROPPED
Files your computer adds were left out. Note; since 2026-10-01.
It says: Left out what your computer adds: {names}
What to do: Nothing to do: __MACOSX/ and .DS_Store are never part of a plug-in.
PLG-ZIP-CODE-TOO-LARGE
The code is too large. Error; since 2026-10-01.
It says: Your code is {size}; the most is {limit}
What to do: Code is everything outside fixtures/, listing/, listing.json, review.json and README files. Keep fetchers small and readable, and move sample data into fixtures/.
PLG-FILE-HIDDEN
A hidden file. Error; since 2026-10-01.
It says: {name} is hidden: its name starts with a dot
What to do: Leave out hidden files such as .env, .git/ or .npmrc. Nothing secret belongs in a plug-in, and a reviewer must see every file.
PLG-FILE-TYPE
A kind of file the code may not hold. Error; since 2026-10-01.
It says: {name} is not a .mjs, .json, .md or .txt file or a LICENSE
What to do: Your code is readable ES modules (.mjs), JSON, text and a licence. Sample data goes in fixtures/, the icon in listing/.
PLG-DEPENDENCIES
Packages in a store plug-in. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Copy what you need into the folder as readable .mjs files (plugins/dop-economy/xlsx.mjs reads XLSX that way), remove node_modules/, and declare no dependencies.
PLG-VERSION-NOT-GREATER
Not newer than what is published. Error; since 2026-10-01.
It says: Version {version} is not greater than {published}, which is already published
What to do: Raise the version in plugin.json above every published one, then upload again.
The locked room
Found when the Server runs your fixtures, twice, and each fixtures/runs case, in the locked room.
PLG-CHECK-INFRA
The Server could not finish the checks. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Kanboombo's side, not yours: run the checks again. If it keeps happening, write to support.
PLG-ROOM-RUN-FAILED
It failed in the locked room. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Run kanboombo-plugin.mjs check on the same fixtures. The room has no network, Node 24, and only your folder and its sources.
PLG-ROOM-MISMATCH
In the locked room it printed something else. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Your fetcher depends on something the room does not have: the time, an environment variable, a file outside the folder. Print only what the sources say.
PLG-ROOM-NONDETERMINISTIC
Two runs printed different records. Error; since 2026-10-01.
Its message names the field or the line.
What to do: The same sources must print the same records: no clock, no randomness. Snapshot windows compare runs, so a changing output would revise records every run.
PLG-ROOM-EXPECTED-FAILURE
A broken source did not stop the run. Error; since 2026-10-01.
Its message names the field or the line.
What to do: A run on a broken source must exit non-zero with a reason, so nothing wrong is written.
PLG-EXAMPLE-MISMATCH
An example day is not what the locked room printed. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Your review information says what a reader sees on each example day; the room ran your fixtures and printed something else. Correct the example, or the fetcher, so the two agree.
The live sources
Found when the Server downloads your real sources once, and asks each page your listing links to.
PLG-SOURCE-UNREACHABLE
A source did not answer. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Check the URL from outside your network; then run the checks again. A source that needs a login cannot be a source: contract 1 has no secrets.
PLG-PROBE-RUN-FAILED
It failed on today's real sources. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Your fixtures pass, but the real file is different now. Download it, add it to fixtures, and read it the way it is.
PLG-PROBE-EXAMPLE-DIFFERS
Today's source says something else for an example day. Warning; since 2026-10-01.
Its message names the field or the line.
What to do: Sources revise. If the new figure is right, update your example days and fixtures.
PLG-LINK-UNREACHABLE
A page you link to did not answer. Warning; since 2026-10-01.
Its message names the field or the line.
What to do: Readers and reviewers follow these links: your privacy policy, support page, homepage, and each source's page and terms. Make sure each answers with a page over https.
Submitting
Found when you submit for review.
PLG-REVIEW-EXAMPLES
Five example days are needed. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Give five days your plug-in puts something on, each with its series and the values a reader sees there. The checks run your plug-in and compare.
PLG-REVIEW-NEGATIVES
Three cases where nothing should appear are needed. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Give three: a day with no record (a holiday), a day showing the value in force (a weekend), and at least one broken source from fixtures/runs/<case>/ (with an expect.json) that must stop the run.
PLG-REVIEW-SOURCE-TERMS
A source's terms are missing. Error; since 2026-10-01.
Its message names the field or the line.
What to do: For each source, name its holder, link its terms, and say on what basis you publish it: an open licence, permission (with where it was given), the public domain or your own data.
PLG-REVIEW-RELEASE-NOTES
Release notes are needed for an update. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Write a sentence or two, said to your readers, on what this version adds or fixes: 500 characters or fewer per language.
PLG-REVIEW-INFO
The review information is not acceptable. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Notes for the reviewer are plain text of 2,000 characters or fewer, and a video link is https.
PLG-ATTESTATIONS-MISSING
Not every statement is confirmed. Error; since 2026-10-01.
It says: Confirm: {missing}
What to do: Read each statement and tick it. A version goes to review only when all of them hold.
PLG-AGREEMENT-NOT-ACCEPTED
The Developer Agreement is not accepted. Error; since 2026-10-01.
Its message names the field or the line.
What to do: An owner or admin accepts it at kanboombo://publish › Publisher. A new version is accepted again before your next submission.
PLG-PUBLISHER-NOT-VERIFIED
Your domain is not verified. Error; since 2026-10-01.
It says: Your organization's domain is {status}
What to do: Verify your domain at kanboombo://publish › Publisher, with a DNS record or a file on your site. Until then you can upload and run checks, but not submit or publish.
PLG-INTAKE-NOT-INVITED
Submissions are by invitation. Error; since 2026-10-01.
It says: Kanboombo is taking plug-ins from invited organizations first, and yours is not invited yet
What to do: Ask Kanboombo for an invitation. Meanwhile you can upload, run checks and prepare your review information.
Your organization
Found when your organization verifies its domain in the portal.
PLG-PUBLISHER-DOMAIN-INVALID
Not a domain name. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Type the domain your organization's site is on, such as bancodata.do: no https://, no path, no port.
PLG-PUBLISHER-DOMAIN-IP
An IP address. Error; since 2026-10-01.
It says: {domain} is an IP address, not a domain name
What to do: Verify a domain name. Readers recognise a name; an address proves nothing about who you are.
PLG-PUBLISHER-DOMAIN-SINGLE-LABEL
A name with no dot. Error; since 2026-10-01.
It says: {domain} is not a public domain name
What to do: Use the full domain, such as bancodata.do.
PLG-PUBLISHER-DOMAIN-SHARED
A shared host. Error; since 2026-10-01.
It says: {domain} is on {suffix}, where anyone can have a site
What to do: Verify a domain your organization owns. A site on a shared host proves only that you have an account there.
PLG-PUBLISHER-DOMAIN-TAKEN
Another organization verified this domain. Error; since 2026-10-01.
It says: {domain} is verified by another organization
What to do: If the domain is yours, ask whoever verified it to release it, or write to Kanboombo. One domain publishes for one organization.
PLG-PUBLISHER-DNS-NO-RECORD
No verification record yet. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Add the TXT record exactly as shown. DNS can take an hour to reach everyone; then check again.
PLG-PUBLISHER-DNS-TIMEOUT
DNS did not answer. Error; since 2026-10-01.
It says: {name} did not answer within {seconds} seconds
What to do: Check again in a few minutes. If it keeps happening, ask whoever runs your DNS.
PLG-PUBLISHER-DNS-FAILED
DNS refused the question. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Check that the domain exists and its DNS answers, then check again.
PLG-PUBLISHER-FILE-UNREACHABLE
The verification file could not be read. Error; since 2026-10-01.
Its message names the field or the line.
What to do: Put the file at https://<your domain>/.well-known/kanboombo-verify.txt, served over https with a valid certificate and no sign-in.
PLG-PUBLISHER-FILE-MISMATCH
The verification file does not hold your token. Error; since 2026-10-01.
Its message names the field or the line.
What to do: The file holds one line: kanboombo-verify= and your token, exactly as shown.
In the store
Found when you unpublish a plug-in, list it again or retire it in the portal.
PLG-LISTING-NOT-PUBLISHED
Not in the store yet. Error; since 2026-10-07.
It says: {plugin} has no version published through the portal
What to do: Publish a version first. Unpublish, List again and Retire act on a plug-in that is in the store.
PLG-LISTING-HELD
Kanboombo has it off the shelf. Error; since 2026-10-07.
It says: Kanboombo took {plugin} off the store's shelf itself, so it is not yours to unpublish or list again
What to do: Ask Kanboombo, who unlisted it, to list it again. You can still retire it.
PLG-LISTING-TAKEN-DOWN
Kanboombo took it down. Error; since 2026-10-07.
It says: Kanboombo took {plugin} down, so only Kanboombo can bring it back
What to do: Read the message Kanboombo sent your owners and admins, fix what it names and answer it. Kanboombo restores the same code, or a new version goes through review.
PLG-LISTING-RETIRED
It is retired. Error; since 2026-10-07.
It says: {plugin} is retired: its runs stopped for good and its id is never used again
What to do: Nothing brings a retired plug-in back. Publish what replaces it under a new id.
PLG-RETIRE-CONFIRM
Type the id to retire it. Error; since 2026-10-07.
It says: To retire it, type its id, {plugin}, exactly
What to do: Retiring stops its runs for good and its id is never used again, so you type the id to say you mean it: lowercase, with its dashes.