QikPOST

Support & Documentation

🚀 Getting Started

Creating Your First Button

  1. Tap the menu in the top-right corner
  2. Select "Add Button"
  3. Authenticate with Face ID/Touch ID
  4. Configure your button:
    • Button Title: A friendly name (e.g., "Turn on Lights")
    • URL: The API endpoint
    • Headers: Add required headers (Content-Type, Authorization, etc.)
    • Body: Your JSON payload
  5. Tap "Save"

Example Configuration

Button Title: Test API Call
URL: https://api.example.com/endpoint

Headers:
Content-Type: application/json
Authorization: Bearer YOUR_TOKEN

Body:
{
    "action": "trigger",
    "device": "living_room_light",
    "state": "on"
}

✨ Features Guide

🎨 Custom Colors

Choose from 12 color swatches to organize and categorize your buttons visually.

🔐 OTP/TOTP Support

Generate time-based one-time passwords automatically with each request. Perfect for 2FA APIs.

👆 Biometric Security

Protect sensitive buttons with Face ID or Touch ID authentication before execution.

✅ Confirmation Prompts

Add a confirmation dialog before sending important or destructive requests.

📄 Multiple Pages

Organize buttons into separate pages (e.g., Home, Work, Servers).

📏 Adjustable Spacers

Add visual spacing between button groups with customizable heights (5-80pt).

Using OTP/TOTP

  1. In button settings, enable "Use OTP"
  2. Enter your TOTP secret key (Base32 encoded)
  3. The 6-digit OTP will be automatically generated and included in your request body
  4. Reference it in your body with {{OTP}}

Using Secrets Manager

  1. Go to menu ☰ → "Secrets"
  2. Add your secrets (API keys, tokens, etc.)
  3. In your button configuration, use placeholders like {{MY_API_KEY}}
  4. Secrets are securely stored and never included in backups

Pages & Organization

  1. Go to menu ☰ → "Manage Pages"
  2. Create new pages with custom names and icons
  3. Set a default page to load on app start
  4. Switch between pages using the dropdown in the navigation bar

Reordering & Spacers

  1. Go to menu ☰ → "Reorder Buttons"
  2. Drag buttons to rearrange them
  3. Tap "Add Spacer" to insert gaps between buttons
  4. Tap any spacer to adjust its height (5-80pt)
  5. Swipe left on spacers or buttons to delete them

❓ Frequently Asked Questions

Q: Is my data stored in the cloud?
No. All data is stored locally on your device. Nothing is sent to external servers except the HTTP requests you explicitly configure.
Q: Are my secrets safe in backups?
Raw secret values are automatically excluded from backup files. Only placeholder references (e.g., {{MY_SECRET}}) are included. You'll need to manually re-enter secrets after restoring a backup.
Q: Can I use GET, PUT, or DELETE requests?
Currently, QikPOST only supports POST requests. This is by design to focus on action-oriented commands and automation triggers.
Q: How do I troubleshoot failed requests?
Enable "Show Response" in button settings to see the full API response. Check for authentication errors, incorrect URLs, missing headers, or malformed JSON in the body.
Q: Can I export/import my configuration?
Yes! Use menu ☰ → "Backup Config" to export a JSON file. Use "Restore Config" to import it on another device or after reinstalling the app.
Q: What's the difference between confirmation prompts and biometric auth?
Confirmation prompts show a dialog asking "are you sure?" before sending.
Biometric auth requires Face ID/Touch ID to unlock the button before it can be tapped.
You can enable both for maximum security.
Q: How do I set up OTP/TOTP?
You need the Base32-encoded secret key from your 2FA setup (usually provided when setting up Google Authenticator or similar apps). Enable "Use OTP" in button settings and paste the secret. The app will generate a new 6-digit code every 30 seconds.
Q: Can I edit a button after creating it?
Yes! Swipe left on any button and tap "Edit" (requires authentication).
Q: What happens if I delete a page?
All buttons on that page will also be deleted. This action cannot be undone, so make sure to backup your configuration first!
Q: Why do I need to authenticate so often?
QikPOST prioritizes security. Authentication is required for sensitive operations like adding/editing buttons, managing secrets, and accessing backups. Individual buttons can also require authentication if you enable it in their settings.

🔧 Troubleshooting

Common Issues

Request fails with "Authentication Failed"
  • Check that your Authorization header is correct
  • Verify your API token hasn't expired
  • Make sure secrets are properly configured if using placeholders
Request fails with "Invalid JSON"
  • Validate your JSON body using a JSON validator
  • Ensure all quotes are properly closed
  • Check for trailing commas (not allowed in JSON)
OTP not working
  • Verify your secret key is Base32 encoded (not Base64 or hex)
  • Check that your device time is correct (TOTP is time-sensitive)
  • Make sure you're using {{OTP}} in your request body
Response not showing
  • Check that "Show Response" is enabled in button settings
  • If auto-dismiss is too fast, increase the timeout value

🔒 Privacy & Security

Data Storage

All data is stored locally on your device using iOS secure storage (UserDefaults). No data is transmitted to third-party servers except the HTTP requests you explicitly configure.

Secrets Management

Secrets are stored separately from button configurations. When exporting backups, raw secret values are automatically excluded to prevent accidental exposure.

Authentication

QikPOST uses iOS biometric authentication (Face ID/Touch ID) to protect sensitive operations. This happens locally on your device and never leaves it.

Network Security

We recommend always using HTTPS endpoints when possible to ensure your requests are encrypted in transit.