API Reference
Build custom integrations, automate workflows, and connect Goose.re with your existing tools using our RESTful API.
Introduction
The Goose.re API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
Base URL
https://api.goose.re/api/v1
Authentication
The Goose.re API uses API keys to authenticate requests. You can view and manage your API keys in the dashboard under your Team Settings.
Authentication to the API is performed via HTTP Bearer Auth. Provide your API key as the bearer token value.
Example Request
curl https://api.goose.re/api/v1/links \
-H "Authorization: Bearer goose_live_xxxxxxxxxxxxxxxxx"
AI Agents & Tooling
Machine ReadableGoose.re provides structured documentation optimized for Large Language Models, autonomous agents, and internal developer platforms.
OpenAPI Specification
Download the full, machine-readable OpenAPI 3.0 specification file.
View openapi.json →System Instructions
Use our optimized context prompt to feed directly into your agent's system prompt.
View llms.txt →Links
/api/v1/links
Shorten a new URL. You can apply custom slugs, custom domains, and organizational folders directly during creation.
Parameters
| Parameter | Type | Description |
|---|---|---|
| destination * | string | The long destination URL to shorten. |
| slug | string | Custom alias / suffix for the shortened link. Auto-generated if omitted. |
| domain_id | string (UUID) | Target custom domain ID. |
| folder_id | string (UUID) | Organize into this specific folder ID. |
| title | string | Friendly label for your links in the dashboard. |
/api/v1/links
Retrieve a paginated, searchable list of your team's shortened links.
Parameters
| Parameter | Type | Description |
|---|---|---|
| limit | integer |
Number of results to return. Default:
50 |
| offset | integer | Number of results to skip. |
| search | string | Search term filtering by title, slug, or destination URL. |
/api/v1/links/{id}
Retrieve details of a specific shortened link using its unique identifier.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | The unique identifier of the link. |
/api/v1/links/{id}
Update an existing shortened link's properties (e.g. changing its destination URL or title).
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | The unique identifier of the link to update. |
| destination | string | New target URL destination. |
| title | string | Updated link title. |
/api/v1/links/{id}
Permanently delete a shortened link from the database.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | The unique identifier of the link to delete. |
Bio Pages
/api/v1/pages
Retrieve a list of your team's active link-in-bio page URLs and details.
Parameters
| Parameter | Type | Description |
|---|---|---|
| folder_id | string (UUID) | Filter by a specific folder ID. Pass empty string to filter for pages with no folder. |
| sort_by | string | Sort field: `created_at`, `title`, `slug`, or `total_clicks`. |
| sort_order | string | Sort direction: `asc` or `desc`. |
/api/v1/pages
Create a new interactive web portal / link-in-bio page under your profile.
Parameters
| Parameter | Type | Description |
|---|---|---|
| slug * | string | The unique public URL slug. |
| title * | string | Headline title displayed at the top of the bio page. |
| description | string | Brief description or bio subtitle text. |
| theme | string | Preset theme name (e.g. `default`, `dark`, `glass`). |
| theme_accent_1 | string (Hex Color) | Primary brand color hex string (e.g., `#ff0055`). |
| theme_accent_2 | string (Hex Color) | Secondary brand/accent color hex string. |
| domain_id | string (UUID) | Custom domain configuration ID. |
| folder_id | string (UUID) | Target folder ID. |
/api/v1/pages/{id}
Retrieve full page layout config, including all inner bio links and configuration for active plugins.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Unique ID of the bio page. |
/api/v1/pages/{id}
Modify the theme styling, title, descriptions, css overrides, and meta properties of the bio page.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Unique ID of the page to update. |
| slug | string | New URL slug. |
| title | string | Updated title display. |
| description | string | Bio layout subtitle text. |
| profile_image | string (URL) | Avatar profile image URL. |
| background_image | string (URL) | Layout background image URL. |
| favicon | string (URL) | Custom favicon URL. |
| theme | string | Active theme presets. |
| theme_accent_1 | string (Hex) | Primary theme brand color. |
| theme_accent_2 | string (Hex) | Secondary theme brand color. |
| custom_css | string | CSS overrides code injected into the bio page template. |
/api/v1/pages/{id}
Permanently delete the page layout. All inner bio links and plugin registrations are deleted recursively.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Unique ID of the page to delete. |
/api/v1/pages/{id}/links
Append a redirect action link element to the portal grid.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Target bio page ID. |
| label * | string | Title tag printed on the button. |
| url * | string (URL) | Destination link redirection target URL. |
| icon | string | FontAwesome icon identifier class. |
| color | string (Hex) | Label font color code (default: `#333333`). |
| bg_color | string (Hex) | Button background color code. |
| animation | string | Visual entrance / loop animation trigger (e.g. `bounce`, `none`). |
| sort_order | integer | Layout order layout placement index. |
/api/v1/pages/{id}/links/{linkId}
Edit specific properties of an existing link element.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Target bio page ID. |
| linkId * | string (Path Parameter) | Target link element ID. |
| label | string | Redefine button label. |
| url | string (URL) | Modify redirection target. |
| icon | string | FontAwesome icon name. |
| color | string (Hex) | Label font color. |
| bg_color | string (Hex) | Button background. |
| animation | string | Hover/Attention animation. |
/api/v1/pages/{id}/links/{linkId}
Remove an interactive action button link from the layout.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Target bio page ID. |
| linkId * | string (Path Parameter) | Link ID to delete. |
/api/v1/pages/{id}/plugins
Install an active layout extension widget (e.g. email capture newsletters, social widgets).
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Target page ID. |
| type * | string | The type identifier of the plugin widget (e.g. `newsletter`, `socials`, `spotify`). |
| config | object | Dynamic key/value schema parameters for plugin rendering configuration. |
| sort_order | integer | Rendering order position. |
/api/v1/pages/{id}/plugins/{pluginId}
Update configuration settings parameters for an installed plugin.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Target page ID. |
| pluginId * | string (Path Parameter) | Target plugin widget ID. |
| config * | object | New key/value parameters replacing config properties. |
| sort_order | integer | Sort rendering placement. |
/api/v1/pages/{id}/plugins/{pluginId}
Remove the plugin widget from the layout.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Target page ID. |
| pluginId * | string (Path Parameter) | Plugin ID to delete. |
/api/v1/pages/{id}/reorder
Reorder multiple components (both link buttons and plugin blocks) sequentially with a single post request.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | Target page ID. |
| items * | array of objects | List of page items. Each item must supply `id` (UUID), `type` (`link` or `plugin`), and `sort_order` (integer). |
Analytics
/api/v1/analytics
Fetch aggregated click analytics across all links for your team, grouped by timeseries, device, or country.
Parameters
| Parameter | Type | Description |
|---|---|---|
| start_date | string (YYYY-MM-DD) | ISO-8601 formatted start date. |
| end_date | string (YYYY-MM-DD) | ISO-8601 formatted end date. |
| groupBy | string | Grouping interval: `day`, `week`, or `month`. |
QR Codes
/api/v1/qrcodes
Retrieve a list of QR codes created for your team with filtering and pagination.
Parameters
| Parameter | Type | Description |
|---|---|---|
| search | string | Filter QR codes by name, short code, or destination URL. |
| folder_id | string (UUID) | Filter by a specific folder ID. |
| sort_by | string | Sort field: `created_at`, `name`, or `total_clicks`. |
| sort_order | string | Sort direction: `asc` or `desc`. |
| limit | integer |
Number of results to return. Default:
50 |
| offset | integer | Number of results to skip. |
/api/v1/qrcodes
Generate a new custom-designed QR code. You can connect it to an existing link or provide a URL to auto-generate a new shortlink.
Parameters
| Parameter | Type | Description |
|---|---|---|
| name * | string | The name of the QR code. |
| design_config * | object / JSON string | Color and styling configuration for the QR code. |
| url | string | Destination URL. If provided and link_id is empty, a new shortlink is auto-created. |
| link_id | string (UUID) | Connect the QR code directly to an existing shortlink. |
| folder_id | string (UUID) | Place the QR code under a specific folder. |
/api/v1/qrcodes/{id}
Retrieve the details of a specific QR code by ID.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | The unique identifier of the QR code. |
/api/v1/qrcodes/{id}
Update the name, design config, or associated link/folder for a QR code.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | The unique identifier of the QR code to update. |
| name | string | Updated name of the QR code. |
| design_config | object / JSON string | Updated color/style config. |
| link_id | string (UUID) | Update the connected shortlink. |
| folder_id | string (UUID) | Update the folder location. |
/api/v1/qrcodes/{id}
Permanently delete a QR code.
Parameters
| Parameter | Type | Description |
|---|---|---|
| id * | string (Path Parameter) | The unique identifier of the QR code to delete. |
Folders
/api/v1/folders
Retrieve all organizational link folders configured in your account.
No request body or query parameters required.
/api/v1/folders
Create a new organizational folder to group links together.
Parameters
| Parameter | Type | Description |
|---|---|---|
| name * | string | The name of the folder. |