API Documentation

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

  1. 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

  2. Use environment variables

    # Store in .env file (never commit this file!) EMANAGE_API_KEY=your-api-key-here
  3. Rotate keys

    • Immediately rotate if you suspect a key has been compromised

  4. 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

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-key header

  • βœ… The Content-Type header is set to application/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:

  1. Start Simple

    • Read the authentication guide

    • Make a basic GET request to list projects

    • Examine the response structure

  2. Build Skills

    • Try filtering and pagination

    • Create a new record with POST

    • Update an existing record with PUT

  3. Add Complexity

    • Implement error handling

    • Add retry logic

    • Explore related resources

  4. 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?

  1. Get Your API Key: Contact support

  2. Explore the Docs: Visit api.emanageone.com

  3. Make Your First Call: Follow the examples above

  4. 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. πŸš€