Neptune CRM Location: Profile > Authentication
Neptune provides a Public API endpoint for Zapier-style integrations so you can pull task updates for the currently authenticated user.
Overview
- API access uses an API key in the
x-api-keyheader - API keys are generated per user from that user’s profile
- This guide covers the supported task-reading endpoint,
getTasks - The endpoint returns tasks for the user who owns the API key
- Tasks are sorted by
updated_atin descending order (newest first)
Generate Your API Key
To generate (or rotate) your API key:
- Go to Profile > Authentication
- Find Zapier API Key
- Click Generate new key
- Copy the key immediately and store it securely
Important:
- Neptune only shows the raw key once at generation time
- Generating a new key replaces your previous key
getTasks Endpoint
Before connecting
Ask Neptune support for the endpoint URL for your organisation. The URL below is a template; replace the region and project placeholders before using it. This integration reads tasks and does not provide task editing or arbitrary account access.
Your personal Zapier key is separate from an organisation uDrew key. Generating a new personal key means any integration using the previous key must be updated.
Endpoint details
- URL:
https://<your-region>-<your-project-id>.cloudfunctions.net/getTasks - Method:
GET - Auth header:
x-api-key: <your-api-key> - Query params: None
What it returns
The response is a JSON array of tasks assigned to the user who owns the API key. Each object includes:
| Field | Type | Description |
|---|---|---|
original_id | string | Task ID in Neptune |
id | string | Change-aware ID (<taskId>-<updatedAtMillis>) for polling |
title | string | Task title |
description | string | Task description, with Neptune task ID appended |
start | string | Task start timestamp (ISO 8601) |
end | string | Task end timestamp (ISO 8601) |
all_day | boolean | Whether task is all-day |
created_at | string | Created timestamp (ISO 8601) |
updated_at | string | Last updated timestamp (ISO 8601) |
deleted_at | string | null | Deletion timestamp, or null if active |
Example request
curl -X GET "https://<your-region>-<your-project-id>.cloudfunctions.net/getTasks" \
-H "x-api-key: <your-api-key>"
Example response
[
{
"original_id": "task123",
"id": "task123-1735653600000",
"title": "Install Pool",
"description": "Install a new pool for John Doe. (Neptune Task ID: task123)",
"start": "2025-01-01T09:00:00.000Z",
"end": "2025-01-01T11:00:00.000Z",
"all_day": false,
"created_at": "2024-12-30T02:15:00.000Z",
"updated_at": "2025-01-01T03:20:00.000Z",
"deleted_at": null
}
]
Error responses
401ifx-api-keyis missing or invalid500for unexpected server errors
Integration notes
- Use
idas your polling identifier. It changes when a task is updated. - Keep your API key in your integration’s secret store.
- If your key is exposed, rotate it from your profile and update downstream integrations.
Troubleshooting
- 401 response: check the
x-api-keyheader and whether the key was replaced. Copy a newly generated key before leaving Profile. - No tasks: confirm that tasks are assigned to the user who generated the key. This endpoint does not return every user’s tasks.
- Wrong endpoint or an unexpected server error: confirm the URL with Neptune support and include the request time and response status. Do not send your raw key.
See Profile and notifications for personal settings and uDrew Integration for that separate setup.