Server requests enable powerful integrations between Audit Plus and external systems through REST APIs. Configure automated HTTP requests that trigger during audit completion or when issues are identified, enabling seamless workflow automation and data synchronization.
Overview
Server requests allow you to:
- Send audit data to external systems automatically
- Trigger workflows in third-party applications
- Create tickets or dispatch requests
- Update databases with audit results
- Send notifications or alerts based on audit outcomes
Server requests are stored in app settings and automatically sync across your devices via CloudKit.
Accessing Server Requests
Navigate to: Settings → Server Requests
From this screen you can:
- View all configured server requests
- Add new server requests
- Edit existing requests
- Delete requests by swiping left
- See cloud sync status
Creating a Server Request
Basic Configuration
- HTTP Method - Select from:
- GET - Retrieve data
- POST - Send data
- PUT - Update entire resource
- PATCH - Partial update
- DELETE - Remove resource
- HEAD - Headers only
- OPTIONS - Check allowed methods
- Name - Give your request a descriptive name
- URL - Enter the endpoint URL
- Select http:// or https:// protocol
- Enter the full URL path
- Example:
https://api.example.com/audits
- Run Request - When to execute:
- On Completion - Runs when audit is completed
- On Issue - Triggered manually from issue context menu
- Execute Condition (Completion only):
- Either - Run regardless of audit result
- Passing - Only run if audit passes
- Failing - Only run if audit fails
Parameters
Add URL parameters that will be appended to your request:
- Tap the + button to add parameters
- Enter key-value pairs
- Toggle “Ask” to prompt user for value during execution
- Set a label for user prompts when “Ask” is enabled
- Parameters automatically update the URL query string
Dynamic Parameters
When “Ask” is enabled, the completion process will pause and prompt the user to enter values. This is useful for:
- Ticket numbers
- Reference IDs
- Custom notes
- Dynamic categorization
Headers
Configure HTTP headers for your request:
- Add custom headers with the + button
- Common headers: Content-Type, Accept, API-Key
- Headers can also use “Ask” for dynamic values
- Authorization headers are configured separately
Content Type & Body
For requests that send data (POST, PUT, PATCH), configure the content type:
- None - No body content
- application/json - JSON formatted data
- text/plain - Plain text
- application/xml - XML formatted data
- application/x-www-form-urlencoded - Form data
- Send Audit/Test - Automatically includes complete audit data as JSON
When a content type is selected (except “None” and “Send Audit/Test”), a body editor appears where you can enter the request payload.
Authorization
Configure authentication for secured endpoints:
- None - No authentication
- Basic Auth
- Enter username and password
- Credentials are base64 encoded automatically
- Bearer Token
- Enter authentication token
- Added to Authorization header as “Bearer {token}“
Testing Requests
Test your configuration before using it in production:
- Configure all request parameters
- Tap the Test Request button
- If parameters use “Ask”, you’ll be prompted to enter values
- View the response in the Response section
- Enable Show cURL to see the exact request being sent
cURL Output
The cURL output shows the complete request including:
- Full URL with parameters
- All headers
- Authorization details
- Request body
This is invaluable for debugging and sharing request configurations with developers.
Using Server Requests
During Audit Completion
Requests configured for “On Completion” run automatically when an audit is finished:
- Complete all audit questions
- Navigate to the completion screen
- Server requests execute based on their conditions
- If “Ask” parameters exist, you’ll be prompted for values
- Requests run in the order they were created
For Issues
Trigger requests manually from identified issues:
- In the audit editor, reveal issues
- Long press on an issue
- Select the server request to execute
- If configured, the question details are included as a parameter
Best Practices
- Use HTTPS - Always use secure connections for sensitive data
- Test Thoroughly - Verify requests work before using in production
- Handle Errors - Ensure your server handles various response codes gracefully
- Secure Credentials - Store API keys and tokens securely
- Use Meaningful Names - Name requests clearly for easy identification
- Document Parameters - Use descriptive labels for “Ask” parameters
Common Use Cases
Creating Support Tickets
- POST to ticketing system API
- Include audit summary in body
- Use “Ask” for ticket priority or assignee
Updating Inventory Systems
- PATCH to update equipment status
- Include equipment ID as parameter
- Send pass/fail status in body
Compliance Reporting
- POST complete audit data
- Use “Send Audit/Test” content type
- Execute only on completion
Notification Services
- POST to webhook URLs
- Execute on failing audits only
- Include summary in JSON body
Troubleshooting
Request Fails
- Check URL is correct and accessible
- Verify authentication credentials
- Ensure content type matches server expectations
- Review cURL output for exact request details
No Response
- Verify internet connection
- Check if server requires specific headers
- Ensure firewall allows outgoing requests
Authentication Errors
- Verify credentials are correct
- Check token hasn’t expired
- Ensure auth type matches server requirements