# Beaconstac

Beaconstac provides a platform for creating and managing QR codes and beacons, enabling businesses to engage customers through proximity marketing and track analytics.

- **Category:** marketing
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 21
- **Triggers:** 0
- **Slug:** `BEACONSTAC`
- **Version:** 20260227_00

## Tools

### Create Place

**Slug:** `BEACONSTAC_CREATE_PLACE`

Tool to create a new place for location-based assets. Use when you need to register a new physical place under an organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the place. |
| `address` | string | Yes | Physical address of the place. |
| `latitude` | string | Yes | Latitude coordinate of the place. |
| `longitude` | string | Yes | Longitude coordinate of the place. |
| `organization` | integer | Yes | ID of the organization this place belongs to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create QR Template

**Slug:** `BEACONSTAC_CREATE_QR_TEMPLATE`

Creates a new QR Code template with customizable design attributes. QR Code templates allow you to define reusable design presets for QR codes in your organization. You can customize colors, patterns, shapes, gradients, logos, frames, and more. Once created, templates can be applied to multiple QR codes for consistent branding. Use this when you need to: - Create branded QR code designs for your organization - Set up reusable design presets for QR code campaigns - Define custom styling including colors, patterns, logos, and frames

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `meta` | object | No | Arbitrary metadata for the QR Code template |
| `name` | string | Yes | Name of the QR Code template |
| `margin` | integer | No | Margin to apply around the QR Code (in pixels) |
| `default` | boolean | No | Whether to set this template as the default for the organization |
| `dotScale` | number | No | Scale factor for the QR Code dots (0-1) |
| `colorDark` | string | No | Hex color code for dark modules (e.g., '#000000' for black) |
| `frameText` | string | No | Text displayed within the frame (e.g., 'SCAN ME') |
| `logoImage` | string | No | URL of the logo image |
| `logoScale` | number | No | Scale factor for the logo (0.1-0.6) |
| `colorLight` | string | No | Hex color code for light background (e.g., '#FFFFFF' for white) |
| `frameColor` | string | No | Hex color code for frame (e.g., '#000000') |
| `frameStyle` | string ("none" | "banner-top" | "box-top" | "box-bottom" | "banner-bottom" | "balloon-top" | "balloon-bottom" | "circular") | No | Style of the QR Code frame (banner, box, balloon, or circular) |
| `dataPattern` | string ("square" | "circle" | "kite" | "left-diamond" | "right-diamond") | No | Pattern style for data modules |
| `eyeBallColor` | string | No | Hex color code for eye-ball modules (e.g., '#FF0000') |
| `eyeBallShape` | string ("square" | "circle" | "rounded" | "left-leaf" | "right-leaf" | "left-diamond" | "right-diamond") | No | Shape of the eye-ball modules |
| `gradientType` | string ("none" | "linear" | "radial" | "vertical") | No | Gradient type for the QR Code (none, linear, radial, vertical) |
| `organization` | integer | Yes | ID of the organization to which this template belongs |
| `eyeFrameColor` | string | No | Hex color code for eye-frame modules (e.g., '#00FF00') |
| `eyeFrameShape` | string ("square" | "circle" | "rounded" | "left-leaf" | "right-leaf") | No | Shape of the eye-frame modules (outer part of QR code positioning patterns) |
| `frameTextColor` | string | No | Hex color code for frame text (e.g., '#FFFFFF') |
| `backgroundColor` | string | No | Hex color code for background (e.g., '#FFFFFF') |
| `backgroundImage` | string | No | URL of the background image |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Tag

**Slug:** `BEACONSTAC_CREATE_TAG`

Tool to create a new tag for organizing QR Codes and other objects. Use when you need to categorize QR Codes under a specific organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the tag. Must not exceed 128 characters. Supports Unicode characters including emoji. |
| `organization` | integer | Yes | ID of the organization this tag belongs to. Use BEACONSTAC_LIST_ORGANIZATIONS to get valid organization IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create User

**Slug:** `BEACONSTAC_CREATE_USER`

Tool to create a new User. Use when onboarding a new user under your organization (Reseller plan and above).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address of the User. |
| `password` | string | No | Password for the User. Uses default if not provided. |
| `username` | string | Yes | Username used to login. |
| `last_name` | string | No | Last name of the User. |
| `first_name` | string | No | First name of the User. |
| `organization` | integer | Yes | ID of the organization to which the user belongs. |
| `billing_email` | string | No | Billing email for the User. If not provided, defaults to username@example.com. |
| `customer_plan` | string ("ST" | "LT" | "BA" | "PR" | "RE" | "WL" | "EN") | Yes | Customer plan for the user: ST=Starter, LT=Lite, BA=Basic, PR=Premium, RE=Reseller, WL=Whitelabel, EN=Enterprise. |
| `profile_picture` | string | No | URL to the User's profile picture. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete QR Code

**Slug:** `BEACONSTAC_DELETE_QR_CODE`

Tool to delete a QR Code by its ID. Use when you need to remove an existing QR Code after validation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the QR Code to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete QR Code Template

**Slug:** `BEACONSTAC_DELETE_QR_TEMPLATE`

Tool to delete a QR Code template by its ID. Use when you need to permanently remove a QR Code template that is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the QR Code template to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Tag

**Slug:** `BEACONSTAC_DELETE_TAG`

Tool to delete a tag by its ID. Use when you need to remove an existing Tag after validation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | integer | Yes | Unique identifier of the Tag to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Bulk QR Code Collections

**Slug:** `BEACONSTAC_LIST_BULK_QR_CODES`

Tool to list Bulk QR Code collections. Use when you need to filter, search, or order your bulk QR Code collections.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based index). |
| `search` | string | No | Full-text search on collection names. |
| `ordering` | string | No | Field to order results by. Prefix with '-' for descending. Allowed fields: name, created, updated. |
| `page_size` | integer | No | Number of collections per page, must be between 1 and 100. |
| `qr_data_type` | integer | No | Filter by QR data type: 1=Website, 2=SMS, 3=Phone, 4=Email, 5=vCard, 6=Text. |
| `name__icontains` | string | No | Filter collections by name containing this substring (case-insensitive). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Organizations

**Slug:** `BEACONSTAC_LIST_ORGANIZATIONS`

List all organizations accessible to the authenticated account. Use this tool when you need to: - Get a list of all organizations the user has access to - Retrieve organization details including IDs, names, and configuration - Access organization feature permissions and account limits - Check subscription status and owner information The response includes comprehensive organization data with pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. Use this to navigate through multiple pages of results. |
| `page_size` | integer | No | Number of organizations to return per page. Controls the pagination size. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Places

**Slug:** `BEACONSTAC_LIST_PLACES`

Tool to list your Places. Use when you need to browse or search your account's Places with filtering and ordering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter by place name. Supports exact match. |
| `page` | integer | No | Page number to retrieve, must be >= 1. |
| `search` | string | No | Search for place names matching this value (case-insensitive partial match). |
| `ordering` | string | No | Comma-separated ordering fields; prefix with '-' for descending. Fields: name, created, updated, address. |
| `page_size` | integer | No | Number of places per page, must be between 1 and 100. |
| `name__icontains` | string | No | Filter by place name (case-insensitive contains). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List QR Templates

**Slug:** `BEACONSTAC_LIST_QR_TEMPLATES`

Tool to list all QR code templates in your account. Use when you need to filter and paginate templates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based index). |
| `page_size` | integer | No | Number of items per page. |
| `organization` | integer | Yes | ID of the organization to list templates for. |
| `name__icontains` | string | No | Case-insensitive substring to filter template names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tags

**Slug:** `BEACONSTAC_LIST_TAGS`

Tool to list all tags with optional filtering and pagination. Use when you need to browse or search tags in your account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, must be >= 1. |
| `ordering` | string | No | Field by which to order results. Prefix with '-' for descending. |
| `page_size` | integer | No | Number of tags per page, must be between 1 and 100. |
| `name__icontains` | string | No | Filter tags by name containing this substring. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Users

**Slug:** `BEACONSTAC_LIST_USERS`

Tool to list all users with optional filtering, searching, ordering, and pagination. Use when you need to retrieve user records across your organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, must be >= 1. |
| `search` | string | No | Full-text search across username, email, user_group, first_name, and last_name. |
| `ordering` | string | No | Comma-separated ordering fields. Supported: username, email, date_joined, user_group, first_name, last_name. Prefix with '-' for descending order. |
| `page_size` | integer | No | Number of users per page, must be between 1 and 100. |
| `email__exact` | string | No | Filter by email exact match. |
| `organization` | integer | No | Filter by organization ID exact match. |
| `customer_plan` | string | No | Filter by customer plan exact match. |
| `date_joined__gt` | string | No | Filter by date joined greater than this ISO 8601 timestamp. |
| `date_joined__lt` | string | No | Filter by date joined less than this ISO 8601 timestamp. |
| `username__exact` | string | No | Filter by username exact match. |
| `date_joined__gte` | string | No | Filter by date joined greater than or equal to this ISO 8601 timestamp. |
| `date_joined__lte` | string | No | Filter by date joined less than or equal to this ISO 8601 timestamp. |
| `email__icontains` | string | No | Filter by email case-insensitive substring. |
| `last_name__exact` | string | No | Filter by last name exact match. |
| `first_name__exact` | string | No | Filter by first name exact match. |
| `subscription_state` | string | No | Filter by subscription state exact match. |
| `username__icontains` | string | No | Filter by username case-insensitive substring. |
| `last_name__icontains` | string | No | Filter by last name case-insensitive substring. |
| `first_name__icontains` | string | No | Filter by first name case-insensitive substring. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Period Overview

**Slug:** `BEACONSTAC_PERIOD_OVERVIEW`

Tool to get period overview analytics for products including counts, impressions, and conversion percentage. Use after specifying the product_type and time interval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization` | integer | Yes | Organization ID for which analytics overview is requested. |
| `product_type` | string ("beacon" | "nfc" | "qr" | "geofence") | Yes | Type of product to fetch overview analytics for. |
| `to_timestamp` | integer | Yes | End time in EPOCH milliseconds. |
| `from_timestamp` | integer | Yes | Start time in EPOCH milliseconds. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Product Overview

**Slug:** `BEACONSTAC_PRODUCT_OVERVIEW`

Tool to get analytics overview for a specified product type over a given time interval. Use after specifying the product type and time range to obtain summary metrics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organization` | integer | Yes | Organization ID for which overview is requested. |
| `product_type` | string ("beacon" | "nfc" | "qr" | "geofence") | Yes | Type of product to fetch overview for. |
| `to_timestamp` | integer | Yes | End time in EPOCH milliseconds. |
| `from_timestamp` | integer | Yes | Start time in EPOCH milliseconds. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve QR Code

**Slug:** `BEACONSTAC_RETRIEVE_QR_CODE`

Retrieve detailed information about a specific QR Code by its ID. Returns QR code properties including name, type (static/dynamic), short URL, encoded data, design attributes, scan count, organization, and timestamps. Use this when you need to fetch, verify, or inspect QR Code details after creation or update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the QR Code to retrieve. Must be a positive integer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve User

**Slug:** `BEACONSTAC_RETRIEVE_USER`

Tool to retrieve the details of an existing User by ID. Use when you need to fetch a user's profile after confirming its existence.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the User to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Place

**Slug:** `BEACONSTAC_UPDATE_PLACE`

Tool to update the specified Place by ID. Use after retrieving the Place to modify its details, such as name, address, or coordinates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | New name for the Place. |
| `address` | string | No | Address of the Place. |
| `latitude` | number | No | Latitude coordinate of the Place. |
| `place_id` | integer | Yes | Unique identifier of the Place to update. |
| `longitude` | number | No | Longitude coordinate of the Place. |
| `organization` | integer | Yes | Organization ID this Place belongs to. |
| `business_color` | string | No | Business color as 6-character hex code without '#' (e.g., 'FF5733' for red-orange, used in NearBee). |
| `business_icon_url` | string | No | Business icon URL (used in NearBee). |
| `business_cover_url` | string | No | Business cover URL (used in NearBee). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update QR Code

**Slug:** `BEACONSTAC_UPDATE_QR_CODE`

Update an existing QR Code by its ID. Modify QR Code properties like name, design attributes, tags, and content. Returns the complete updated QR Code object. Important: When updating qr_type, you must also provide the corresponding content: - For static QR codes (qr_type=1): Include fields_data with qr_type and content (e.g., url) - For dynamic QR codes (qr_type=2): Include campaign with content_type and custom_url

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `meta` | object | No | Metadata associated with the QR Code |
| `name` | string | No | New name for the QR Code |
| `tags` | array | No | List of tag IDs to associate with the QR Code |
| `place` | integer | No | ID of the place where the QR Code is deployed |
| `qr_type` | integer | No | QR type: 1=Static, 2=Dynamic. If provided, must include fields_data (for static) or campaign (for dynamic). |
| `campaign` | object | No | Campaign configuration for dynamic QR Codes. Required when qr_type=2. Example: {'content_type': 0, 'custom_url': 'https://example.com'} |
| `qrcode_id` | integer | Yes | ID of the QR Code to update |
| `attributes` | object | No | Design attributes for the QR Code (colors, logos, etc.) |
| `fields_data` | object | No | Fields data for static QR Codes. Required when qr_type=1. Example: {'qr_type': 1, 'url': 'https://example.com'} |
| `organization` | integer | No | ID of the organization the QR Code belongs to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Tag

**Slug:** `BEACONSTAC_UPDATE_TAG`

Tool to update an existing tag by its ID. Use when you need to modify a tag's name or color after confirming its ID via list_tags.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the tag. |
| `color` | string | No | Hex color code for the tag, e.g., '#ff0000'. |
| `tag_id` | integer | Yes | Unique identifier of the tag to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update User

**Slug:** `BEACONSTAC_UPDATE_USER`

Tool to update an existing User. Use when you need to modify profile details or organization of a User by their ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | Unique identifier of the User to update |
| `last_name` | string | No | New last name; leave unset to retain existing |
| `first_name` | string | No | New first name; leave unset to retain existing |
| `organization` | integer | No | Organization ID to assign; leave unset to retain existing |
| `profile_picture` | string | No | URL to the User's profile picture; leave unset to retain existing |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
