API Documentation
The e-manage | ONE API provides programmatic access to your business data, allowing you to build custom integrations, automate workflows, and connect e-manage with your other business tools.
Our API documentation is comprehensive, interactive, and designed to help you get started quicklyβwhether you're a seasoned developer or building your first integration.
π Where to Access the API Documentationβ
Interactive Documentation: π api.emanageone.com
This is your one-stop resource for:
- Complete endpoint reference
- Request and response examples
- Data model definitions
- Authentication guides
- Interactive API testing
What You'll Find in the Documentationβ
π Comprehensive Endpoint Referenceβ
Browse all available API endpoints organized by category (Projects, Customers, Invoices, Time Entries, etc.). Each endpoint includes:
- Description of what it does
- Required and optional parameters
- Sample requests and responses
- Possible error codes
π¦ Data Models & Schemasβ
Detailed documentation of all data structures, including:
- Field names and types
- Validation rules
- Example values
- Relationships between entities
π Authentication & Securityβ
Clear instructions on:
- How to obtain your API key
- How to authenticate requests
- Best practices for keeping your credentials secure
π‘ Code Examplesβ
Real-world examples showing how to:
- Make your first API call
- Handle common scenarios
- Work with different programming languages
- Manage errors gracefully
π§ͺ Interactive API Explorerβ
Test endpoints directly from your browser:
- Try API calls with your own data
- See live request/response examples
- Experiment without writing code
- Validate your integration approach
π Getting Started in 3 Stepsβ
Step 1: Get Your API Keyβ
You'll need an API key to authenticate your requests.
Don't have an API key yet? Submit a support request to get one issued.
Security Reminder: Treat your API key like a password. Never share it publicly or commit it to version control systems like GitHub.
Step 2: Make Your First API Callβ
All API requests require your API key in the request header:
x-api-key: your-api-key-here
Example: List all projects (cURL)
curl -X GET "https://emanageone.azure-api.net/emws/projects" \
-H "x-api-key: your-api-key-here" \
-H "Content-Type: application/json"
Example: List all projects (JavaScript)
const apiKey = 'your-api-key-here';
fetch('https://emanageone.azure-api.net/emws/projects', {
method: 'GET',
headers: {
'x-api-key': apiKey,
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
Example: List all projects (C#)
using System.Net.Http;
using System.Net.Http.Headers;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "your-api-key-here");
var response = await client.GetAsync("https://emanageone.azure-api.net/emws/projects");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
Step 3: Explore the Full Documentationβ
Visit api.emanageone.com to explore all available endpoints, test API calls interactively, and find code examples for your specific use case.
π Authenticationβ
How to Authenticateβ
All API requests must include your API key in the x-api-key header:
x-api-key: your-api-key-here
Security Best Practicesβ
- Never expose your API key
- Don't commit API keys to Git repositories
- Don't include them in client-side code (JavaScript in web browsers)
- Don't share them in public forums or support tickets
- Use environment variables
# Store in .env file (never commit this file!)
EMANAGE_API_KEY=your-api-key-here
- Rotate keys
- Immediately rotate if you suspect a key has been compromised
- Use HTTPS only
- All API endpoints use
https://to encrypt data in transit - Never make requests over unencrypted HTTP
π API Base URLβ
All API endpoints use this base URL:
https://emanageone.azure-api.net/emws
Example Full Endpoint:
https://emanageone.azure-api.net/emws/projects
β οΈ Common API Errorsβ
Understanding error responses helps you diagnose issues quickly:
| Status Code | Error Message | What It Means | How to Fix |
|---|---|---|---|
| 400 Bad Request | Invalid request format | Your request is malformedβcheck JSON formatting, parameters, or endpoint | Verify your JSON syntax, required fields, and data types match the documentation |
| 401 Unauthorized | Missing or invalid API key | Your API key is missing, incorrect, or expired | Check that you're sending the x-api-key header with the correct value |
| 403 Forbidden | Access denied | Your key is valid but doesn't have permission for this resource | Verify your account has access to this feature. Contact support if needed. |
| 404 Not Found | Endpoint or resource missing | The endpoint doesn't exist or the resource ID is incorrect | Double-check the endpoint URL and any IDs in your request path |
| 422 Unprocessable Entity | Validation error | Request is valid but contains logical errors (e.g., invalid data) | Review the error response for specific field validation failures |
| 429 Too Many Requests | Rate limit exceeded | You've made too many requests in a short period | Wait a moment and retry. Implement exponential backoff in your code. |
| 500 Internal Server Error | Server-side issue | Something went wrong on our end | Retry the request. If it persists, contact support with the error details. |
| 503 Service Unavailable | Service temporarily unavailable | The API is temporarily down for maintenance | Wait a few minutes and retry. Check status page if available. |
Pro Tip: Always check the response body for specific error detailsβthey often tell you exactly what's wrong.
π¬ Need Help?β
Documentation & Resourcesβ
- Full API Documentation:api.emanageone.com
- Webhook Guide: See our separate webhook documentation for real-time notifications
- Code Examples: Available in the documentation for popular languages
Supportβ
We're here to help you succeed with your integration:
For help with:
- Understanding which endpoints to use
- Planning your integration architecture
- Troubleshooting errors or unexpected responses
- Requesting new features or endpoints
Contact:
Before contacting support, please have ready:
- The endpoint you're calling
- A sample request (with API key removed)
- The error response you're receiving
- What you're trying to accomplish
π Best Practicesβ
1. Design for Reliabilityβ
Use Idempotency:
- Some operations can be safely retried (GET requests are naturally idempotent)
- For CREATE operations, consider implementing your own idempotency keys
- Check if a record exists before creating duplicates
Handle Errors Gracefully:
- Always check response status codes
- Implement retry logic with exponential backoff
- Log errors for debugging
- Provide meaningful error messages to users
2. Optimize Performanceβ
Minimize API Calls:
- Request only the data you need
- Use filtering and pagination parameters
- Cache responses when appropriate
- Consider using webhooks instead of polling for changes
Batch Operations:
- Use batch endpoints when available
- Combine multiple updates into a single request when possible
3. Stay Secureβ
Protect Your API Key:
- Store in environment variables or secure vaults
- Never commit to version control
- Use different keys for development and production
- Rotate keys regularly
Validate Input:
- Sanitize user input before sending to the API
- Validate data types and formats
- Check for required fields before making requests
Request Checklistβ
Before making a request, verify:
- β You're using the correct HTTP method (GET, POST, PUT, DELETE)
- β
Your API key is in the
x-api-keyheader - β
The
Content-Typeheader is set toapplication/json - β Required fields are included in your request body
- β Data types match the documentation
- β The endpoint URL is correct
Response Checklistβ
When processing a response:
- β Check the HTTP status code first
- β Parse the JSON response body
- β Handle errors gracefully
- β Validate the data before using it
- β Log unexpected responses for debugging
π Learning Pathβ
New to APIs? Here's a recommended learning path:
- Start Simple
- Read the authentication guide
- Make a basic GET request to list projects
- Examine the response structure
- Build Skills
- Try filtering and pagination
- Create a new record with POST
- Update an existing record with PUT
- Add Complexity
- Implement error handling
- Add retry logic
- Explore related resources
- Go Production
- Set up proper API key management
- Implement monitoring and logging
- Test edge cases and error scenarios
- Deploy to production
Remember: The documentation at api.emanageone.com includes interactive examples you can try right in your browser!
π Ready to Get Started?β
- Get Your API Key: Contact support
- Explore the Docs: Visit api.emanageone.com
- Make Your First Call: Follow the examples above
- Build Amazing Things: Integrate e-manage with your workflow
Welcome to the e-manage | ONE API! We can't wait to see what you build. π