Slugs
When you manage multiple puzzles in a series, each one needs a way to be uniquely identified — something stable that doesn’t change even if the title or content does. This is what slugs are for.
Slugs connect each puzzle to its URL, embed code, and APIs, making it easier to organize and access puzzles across the Dashboard.
What is a slug?
A slug is the only unique identifier for a puzzle within a series.
No two puzzles in the same series can have the same slug. It acts as the puzzle’s permanent ID, used by the system to locate and load the correct puzzle across all parts of the platform.
For example, in a Daily Crossword series, your puzzles might have slugs such as:
- daily-crossword-20251030
- daily-crossword-20251031
- daily-crossword-20251101
Each slug points to one specific puzzle. Even if you rename the puzzle later, its slug remains the same.
Where slugs are used
Slugs appear wherever a puzzle is identified or referenced:
- Puzzle URLs and embed codes - Example: - https://xyz.com/crossword?set=series-code&id=<slug>- The - idparameter here is the puzzle’s slug. When players share a link, that slug is part of the shared URL.
- APIs - You can use puzzle slugs to fetch data for specific puzzles using the Puzzles API and Plays API. 
Why use slugs
Slugs make puzzle management simpler and more structured. They help you:
- Identify puzzles quickly in the dashboard with descriptive names like quiz-17-novemberormonday-crossword-template.
- Maintain predictable embed URLs, such as daily-crossword-20251030,daily-crossword-20251031ormonthly-quiz-novemberandmonthly-quiz-december.
- Automate embedding, publishing, or API queries when slugs follow a consistent format.
What makes a valid slug
A slug must follow these rules:
- Length: 1–35 characters
- Allowed characters: letters (a–z, A–Z), digits (0–9), underscores (_), and hyphens (-)
- Must be unique within a series
Slugs are case-sensitive
Setting a slug
A slug can only be set when creating a new puzzle, using one of the following methods.
If no slug is specified at creation, a random string will be automatically assigned. Defining clear, predictable slugs during creation makes later embedding and automation much easier.
Creator form
You can set the slug via the creator form while manually creating a puzzle:
- Go to the PuzzleMe™ dashboard.
- Click Create > New game.
- Choose the game type and select your series.
- In the Content tab, enter your desired Slug.
- Fill in any other fields and click Create Game to save and create your puzzle.
Once a puzzle is created, its slug cannot be edited (including in the editor form or quick edit).
Upload flow
You can set the slug when uploading a puzzle only by naming your file in a special way:
- Name your file as <prefix>_<YYYYMMDD>.<ext>(for example,sample-crossword_20250729.puz).
- The <prefix>(before the underscore) can contain only letters, digits, and hyphens (no spaces or special characters).
When you upload such a file:
- PuzzleMe will automatically set the slug (e.g., sample-crossword_20250729) and the publish date (to midnight of the given date).
- If the file name does not follow this pattern, a random slug is assigned.
For more information, see Embed automation.
Clone flow
If you have already created or imported a puzzle and need a different slug, clone the puzzle. Cloning creates a new puzzle with the same content/settings, and you can set a new slug during this process.
- In the dashboard, hover over the puzzle and click on Clone.
- In the clone pop-up, enter your new Slug (and adjust other fields if needed).
- Confirm to create the cloned puzzle. This creates a new puzzle with the copied content but a different slug.