Skip to content

Quickstart

Get your first successful read from the Apploye Partner API in a few minutes.

Prerequisites

  • A partner API key (X-APPLOYE-API-KEY) issued by Apploye
  • HTTPS client (curl, Postman, or your language HTTP library)

Base URL: https://api.apploye.com — all endpoints use the `/v1/` path prefix. OpenAPI info.version (e.g. 1.4.0) is the contract revision, not an HTTP header. See the versioning guide.

Step 1 — Set your API key

Every request requires the X-APPLOYE-API-KEY header. See Authentication guide for details.

Step 2 — First request

List timesheets with idle time for a date range:

curl -sS \
  -H "X-APPLOYE-API-KEY: YOUR_API_KEY" \
  -H "Accept: application/json" \
  "https://api.apploye.com/v1/timesheet_idle_times/?start_date=2025-06-01&end_date=2025-06-07&limit=10"

Required query parameters:

  • start_dateYYYY-MM-DD
  • end_dateYYYY-MM-DD (inclusive, max 31-day span)

Step 3 — Read the response

A successful response (200) contains:

  • results — array of { user, timesheets[] } objects
  • pagination — cursor metadata including next_cursor and has_more

Example excerpt:

{
  "results": [],
  "pagination": {
    "limit": 10,
    "timesheets_cap": 1000,
    "users_returned": 0,
    "timesheets_returned": 0,
    "total_users": 0,
    "has_more": false,
    "next_cursor": null
  }
}

Step 4 — Next page (cursor)

If pagination.has_more is true, fetch the next page:

curl -sS \
  -H "X-APPLOYE-API-KEY: YOUR_API_KEY" \
  "https://api.apploye.com/v1/timesheet_idle_times/?start_date=2025-06-01&end_date=2025-06-07&cursor=PASTE_NEXT_CURSOR"

See Pagination guide for cursor rules.

Postman collection

Download the generated Apploye Postman collection and import it into Postman:

Download Postman collection

After importing it:

  1. Open the collection's Variables tab.
  2. Find api_key, set its local value to your Partner API key, and mark it as sensitive.
  3. Open a request and select Send.

The downloaded collection does not include an API key. Do not share or sync your key value.

Error handling

All errors use a predictable envelope:

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Human-readable message.",
    "request_id": "req_xyz"
  }
}

Always log request_id when contacting support.

Looking to connect an AI assistant instead of calling the REST API directly? See MCP overview.