Public API

Neptune CRM Location: Profile > Authentication

NeptuneCRM 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
  • The current public endpoint is 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

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 NeptuneCRM
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. (NeptuneCRM 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.