---
title: "Look up a published, BlueFox-hosted signup form by its public slug"
method: GET
path: "/v1/signup-forms/slug/{slug}"
tags: ["Subscriptions"]
---

# Look up a published, BlueFox-hosted signup form by its public slug

`GET /v1/signup-forms/slug/{slug}`

## Request

- Base URL: `https://api.bluefox.email`
- URL: `https://api.bluefox.email/v1/signup-forms/slug/{slug}`
- Auth: HTTP bearer

Not API-key authenticated - requires a whitelisted Origin header instead, restricted to BlueFox's own app domain (the APP_URL this deployment is configured with) since this endpoint only ever backs the bluefox.email/signup/{slug} page and takes no project-level whitelist. Only returns forms with published: true (404 otherwise, including for a valid slug on an unpublished form). Returns the same self-contained, ready-to-render HTML (styling, markup, and captcha/submit JS included) as GET .../signup-forms/{id}/embed - never the raw form config, so there is no secret-leak surface. Also includes the owning project's name and logoUrl for page branding.

## Path parameters

- `slug` string, required

## Response `200`

OK

- object
  - `status` integer
  - `result` object
    - `name` string
    - `pageHeadline` string: The heading to show on the hosted page. Falls back to the project name when not set.
    - `pageDescription` string: The description to show under the heading on the hosted page.
    - `formLayout` string: The form's layout ("row" or "column") - the hosted page uses this to size its own container appropriately, since a row-laid-out form needs more width than a column one.
    - `html` string
    - `project` object
      - `name` string
      - `logoUrl` string

## Other responses

- `403`: Missing or invalid API key
- `404`: Signup form not found

---

[API](https://skmtc.dev/bluefox/apis/bluefox-email-public-api.md) · [All operations](https://skmtc.dev/bluefox/apis/bluefox-email-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bluefox/apis/bluefox-email-public-api/revisions/fa1a0a835c7f?raw)
