# Codereadr

CodeREADr is a mobile data collection and barcode scanning platform that enables businesses to create and manage services for data capture, validation, and reporting.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 16
- **Triggers:** 0
- **Slug:** `CODEREADR`
- **Version:** 20260319_00

## Tools

### Collect Data With Questions

**Slug:** `CODEREADR_COLLECT_DATA_WITH_QUESTIONS`

Create and attach custom questions to a CodeREADr service for data collection after scans. Use this to configure forms that collect additional information from users after each barcode scan. Requires a valid service ID from CODEREADR_RETRIEVE_SERVICES or CODEREADR_CREATE_SERVICE.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `questions` | array | Yes | List of questions to create and/or link to the service. Minimum 1 question required. |
| `service_id` | string | Yes | Numeric ID of the service to attach questions to. Get this from CODEREADR_RETRIEVE_SERVICES. |

#### 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 |

### Configure CodeREADr Connector

**Slug:** `CODEREADR_CONFIGURE_CONNECTOR`

Helper to guide configuring the CodeREADr Connector for Google Sheets. There is no public API to programmatically create connector configurations. This tool validates your API connectivity (optional) and returns clear steps to proceed via the Google Sheets Add-on UI: https://www.codereadr.com/knowledgebase/codereadr-connector-add-on/

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note` | string | No | Optional note to include in the resulting guidance message (for testing/logging). |
| `include_legacy_probe` | boolean | No | If true, also attempt a legacy section/action probe as a secondary check. |
| `perform_connectivity_check` | boolean | No | If true, perform a lightweight API call to validate connectivity and API key. |

#### 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 CodeREADr Service

**Slug:** `CODEREADR_CREATE_SERVICE`

Creates a new CodeREADr service (barcode scanning workflow configuration). A service defines how barcode scans are processed - whether they're simply recorded, validated against a database, forwarded to an external URL, or display web content. Each validation_method type has different required parameters: 'database'/'ondevicedatabase' require database_id, 'postback' requires postback_url, 'webview' requires description (URL/HTML).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enableGPS` | integer ("0" | "1") | No | Enable GPS location tracking for scans. 0 = disabled, 1 = enabled. Default is 0. |
| `database_id` | string | No | Required when validation_method is 'database' or 'ondevicedatabase'. The ID of the database to validate scans against. |
| `description` | string | No | Service description. For 'webview' validation_method, this should be the URL or HTML content to display after a scan. |
| `symbologies` | string | No | Comma-separated list of barcode type IDs to accept. If omitted, all barcode types are accepted. |
| `postback_url` | string | No | Required when validation_method is 'postback'. The URL to forward scan data to in real-time. |
| `service_name` | string | No | Human-readable name for the service. If omitted, defaults to 'Service N'. |
| `duplicate_value` | integer ("0" | "1") | No | For database services: controls duplicate scan behavior. 0 = reject duplicates, 1 = allow duplicates. Default is 1. |
| `validation_method` | string ("record" | "ondevicerecord" | "database" | "ondevicedatabase" | "webview" | "postback") | Yes | The type of service to create. Options: 'record' - Simple scan recording to cloud, 'ondevicerecord' - Scan recording stored on device, 'database' - Validate scans against cloud database, 'ondevicedatabase' - Validate scans against on-device database, 'webview' - Display web content after scan, 'postback' - Forward scans to external URL in real-time. |

#### 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 CodeREADr Database

**Slug:** `CODEREADR_DELETE_DATABASE`

Delete a CodeREADr validation database by its ID. This permanently removes the database and all its barcode values. Use with caution. Note: A database cannot be deleted if it is currently linked to one or more services. You must unlink those services from the database first. Example: "Delete database with ID 1340798"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_id` | string | Yes | The numeric ID of the database to delete. Use CODEREADR_RETRIEVE_DATABASES to find available database 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 |

### Delete Device

**Slug:** `CODEREADR_DELETE_DEVICE`

Tool to delete a device from CodeREADr. Uses the CodeREADr legacy API with section=devices and action=delete parameters. Note: Device deletion may have limited support in the CodeREADr API - only 'retrieve' and 'update' actions are officially documented for devices.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `device_id` | string | Yes | The numeric ID of the device to delete (integer format, e.g. '123') |

#### 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 Custom Question

**Slug:** `CODEREADR_DELETE_QUESTION`

Permanently deletes one or more custom questions from your CodeREADr account. Questions are used to collect additional data after scans. Once deleted, the question and all associated answer options are removed. This action cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `question_id` | string | Yes | The numeric ID of the custom question to delete. Can be a single ID or comma-separated list of IDs to delete multiple questions. |

#### 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 CodeREADr Service

**Slug:** `CODEREADR_DELETE_SERVICE`

Delete a CodeREADr service by its numeric ID. Use this to permanently remove a service/workflow configuration from your account. Note: This is a destructive action and cannot be undone. You can delete a single service, multiple services (comma-separated IDs), or all services. Example: "Delete service with ID 12345"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `service_id` | string | Yes | The numeric ID of the service to delete. Can be a single ID (e.g., '12345') or comma-separated list (e.g., '12345,12346,12347'). Use 'all' to delete all services. |

#### 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 CodeREADr User

**Slug:** `CODEREADR_DELETE_USER`

Deletes an existing user account from CodeREADr. Uses the CodeREADr legacy API endpoint (POST /api/ with section=users, action=delete). The user_id parameter can be a single ID, comma-separated list of IDs, or 'all'. Note: You cannot delete the account owner's app-user. The API will return an error if an invalid user_id is provided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique numeric identifier of the user to delete. Can be a single ID, comma-separated list of IDs, or 'all' to delete all users. |

#### 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 |

### Generate Scan Link

**Slug:** `CODEREADR_GENERATE_SCAN_LINK`

Generates a CodeREADr scan link URI that opens the CodeREADr mobile app with a pre-filled scan value. Use this tool when you need to create clickable links that launch the CodeREADr scanner with a specific barcode, QR code, or identifier already entered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scan_id` | string | Yes | The scan value (barcode, QR code, or identifier) to embed in the URI. When the generated link is clicked, the CodeREADr app will open with this value pre-filled in the scanner input field. |

#### 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 Supported Barcode Types

**Slug:** `CODEREADR_LIST_SUPPORTED_BARCODE_TYPES`

Lists barcode symbologies supported by CodeREADr for scanning. Returns 1D barcodes (Code 39, Code 128, EAN, UPC, Codabar, etc.), 2D barcodes (QR Code, Data Matrix, PDF-417, Aztec, etc.), and specialized formats. Use this to verify if a specific barcode type is supported before scanning.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of barcode types to return. Must be a positive integer if provided. Useful for limiting response size. |
| `only_barcode_types` | boolean | No | If True (default), filter results to only recognized barcode symbologies (e.g., QR Code, Code 128, EAN-13). If False, returns all list items from the source page including non-barcode content. |

#### 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 CodeREADr Databases

**Slug:** `CODEREADR_RETRIEVE_DATABASES`

Retrieves all validation databases configured in your CodeREADr account. Use this to list databases for barcode validation, see their IDs, names, item counts, and which services they're linked to.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `info_level` | string | No | Controls response detail level. Options: 'names' (excludes services and item counts) or 'services' (excludes slower item counts). Leave empty for full details. |
| `database_id` | string | No | Single database ID or comma-separated list of IDs to retrieve. Leave empty to retrieve all databases. |

#### 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 Devices

**Slug:** `CODEREADR_RETRIEVE_DEVICES`

Retrieve a list of devices registered to your CodeREADr account. This tool fetches information about devices linked to your account, including device IDs, UDIDs, names, and creation timestamps. Use this to monitor which devices have access to your CodeREADr services.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `device_id` | string | No | Filter by device ID(s). Can be a single ID (e.g., '1005'), comma-separated IDs (e.g., '1005,1010,1254'), or 'all' for all devices. Defaults to 'all' if not specified. |

#### 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 Scan Records

**Slug:** `CODEREADR_RETRIEVE_SCANS`

Retrieve scan records from your CodeREADr account. Scans are the core data collected by CodeREADr when users scan barcodes using the mobile app. Each scan record includes the barcode value, timestamp, device info, validation status, and any collected responses. Use filters to narrow down results by service, user, device, date range, or status. Returns scan records in batches. Use limit and offset parameters for pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of scan records to return. If not specified, returns all matching scans. |
| `offset` | integer | No | Number of records to skip (for pagination). Use with 'limit' to paginate results. |
| `status` | string | No | Filter by scan status: '1' for valid, '0' for invalid, or '-1' for all scans. |
| `scan_id` | string | No | Retrieve a specific scan by its ID. |
| `user_id` | string | No | Filter by user ID. Use comma-separated values for multiple users. |
| `end_date` | string | No | End date/time for filtering scans in 'YYYY-MM-DD HH:MM:SS' format. Example: '2024-12-31 23:59:59' |
| `device_id` | string | No | Filter by device ID. Use comma-separated values for multiple devices. |
| `service_id` | string | No | Filter by service ID. Use comma-separated values for multiple services (e.g., '12345,67890'). |
| `start_date` | string | No | Start date/time for filtering scans in 'YYYY-MM-DD HH:MM:SS' format. Example: '2024-01-01 00:00:00' |

#### 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 CodeREADr Services

**Slug:** `CODEREADR_RETRIEVE_SERVICES`

Retrieve configured services from your CodeREADr account. Services are the core organizational units in CodeREADr that define how barcode scans are validated and processed. Use this action to list all services or retrieve specific services by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `service_id` | string | No | Optional service ID or comma-separated list of IDs to retrieve specific services. Use 'all' or leave empty to retrieve all services. |

#### 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 CodeREADr Question

**Slug:** `CODEREADR_UPDATE_QUESTION`

Add answer options to an existing CodeREADr question. Use this to add selectable answers for checkbox, dropdown, or option-type questions. The CodeREADr API does not support updating question text - to change text, delete and recreate the question.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `options` | array | Yes | List of answer options to add to the question. At least one option is required. |
| `question_id` | integer | Yes | Unique identifier of the question to update. Get this from the retrieve questions action or after creating a question. |

#### 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 CodeREADr Service

**Slug:** `CODEREADR_UPDATE_SERVICE`

Update an existing CodeREADr service configuration. Use this action to modify settings of a service by its ID. Only specified fields will be updated - omitted fields retain their current values. Common use cases: - Renaming a service - Changing postback/webhook URL - Enabling/disabling GPS tracking - Modifying duplicate scan handling - Setting time restrictions for service availability

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `auto_sync` | integer ("0" | "1") | No | 1=enable automatic sync of on-device scans and database updates. |
| `enableGPS` | integer ("0" | "1") | No | 1=include GPS coordinates with each scan, 0=disabled. |
| `service_id` | integer | Yes | The unique ID of the service to update. Obtain from retrieve services action. |
| `database_id` | string | No | ID of the database to associate (for database or ondevicedatabase validation methods). |
| `description` | string | No | New description for the service. Leave empty to keep current. |
| `symbologies` | string | No | Comma-separated list of symbology IDs to enable. Omit to use defaults. |
| `postback_url` | string | No | URL where scan data will be forwarded via HTTP POST. Must be a valid HTTPS URL. |
| `service_name` | string | No | New name for the service. Leave empty to keep current name. |
| `upload_email` | string | No | Email address to receive CSV report after each scan upload. |
| `auto_next_scan` | integer ("0" | "1" | "2" | "3") | No | Auto-next scan mode: 0=disabled, 1-3=various auto-advance modes. |
| `viewOtherScans` | integer ("0" | "1") | No | 0=users see only their own scans, 1=users see all authorized users' scans. |
| `block_db_search` | integer ("0" | "1") | No | 1=disable database search/lookup, 0=allow database search. |
| `duplicate_value` | integer ("0" | "1") | No | Duplicate scan behavior: 1=valid (allow duplicates), 0=invalid (reject duplicates). |
| `period_end_date` | string | No | Service end date in MM/DD/YYYY or YYYY-MM-DD format. |
| `period_end_time` | string | No | Service end time in hh:mm:ss or hh:mma format. |
| `auto_sync_up_url` | string | No | URL to sync scans directly when auto_sync is enabled. |
| `block_camera_scan` | integer ("0" | "1") | No | 1=disable camera scanning, 0=allow camera scanning. |
| `block_manual_scan` | integer ("0" | "1") | No | 1=disable manual barcode entry, 0=allow manual entry. |
| `direct_lookup_url` | string | No | URL to open when user taps Lookup button in the app. Empty string disables the button. |
| `period_start_date` | string | No | Service start date in MM/DD/YYYY or YYYY-MM-DD format. |
| `period_start_time` | string | No | Service start time in hh:mm:ss or hh:mma format. |
| `auto_sync_down_url` | integer ("0" | "1") | No | 0=disable automatic database downloads, 1=enable. |
| `auto_sync_up_delay` | integer | No | Delay in seconds between scan upload attempts. |
| `direct_history_url` | string | No | URL to open when user taps History button in the app. Empty string disables the button. |
| `regex_scan_pattern` | string | No | Regex pattern to match against scan values before processing. |
| `upload_email_format` | string ("regular" | "properties") | No | CSV format for email reports: 'regular' or 'properties'. |
| `auto_next_scan_delay` | integer | No | Delay in seconds before auto-next triggers. |
| `auto_sync_down_delay` | integer | No | Delay in seconds between database update checks. |
| `device_duplicate_value` | integer ("0" | "1") | No | On-device duplicate behavior: 1=valid, 0=invalid. Ignored if duplicate_value=0. |
| `postback_receiver_only` | integer ("0" | "1") | No | Set to 1 if postback URL only receives data, 0 if it can also respond with scan results. |
| `regex_response_pattern` | string | No | Regex pattern to match against scan response before displaying. |
| `regex_scan_replacement` | string | No | Replacement string for regex_scan_pattern matches. |
| `postback_uploaded_scans` | integer ("0" | "1") | No | Set to 1 to enable postback when on-device scans are uploaded. Requires postback_url. |
| `postback_real_time_scans` | integer ("0" | "1") | No | Set to 1 to enable real-time postback for each online scan. Requires postback_url. |
| `regex_response_replacement` | string | No | Replacement string for regex_response_pattern matches. |

#### 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 |
