Browse documentation

Public API

How to generate a Zapier API key and use the getTasks public endpoint in Neptune

On this page

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-key header
  • 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_at in descending order (newest first)

Generate Your API Key

To generate (or rotate) your API key:

  1. Go to Profile > Authentication
  2. Find Zapier API Key
  3. Click Generate new key
  4. 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:

FieldTypeDescription
original_idstringTask ID in Neptune
idstringChange-aware ID (<taskId>-<updatedAtMillis>) for polling
titlestringTask title
descriptionstringTask description, with Neptune task ID appended
startstringTask start timestamp (ISO 8601)
endstringTask end timestamp (ISO 8601)
all_daybooleanWhether task is all-day
created_atstringCreated timestamp (ISO 8601)
updated_atstringLast updated timestamp (ISO 8601)
deleted_atstring | nullDeletion 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

  • 401 if x-api-key is missing or invalid
  • 500 for unexpected server errors

Integration notes

  • Use id as 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-key header 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.