agentlyleads docs
Notes API

API Reference

The reference below covers every endpoint in the Notes API. Code examples are generated automatically; the live playground is disabled to prevent accidental writes to production from the docs site.

POST/api/v1/notes

Authorization

BearerAuth
AuthorizationBearer <token>

Pass an API key issued from the agentlyleads workspace settings. Example: Authorization: Bearer alk_live_xxxxxxxxxxxx

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/notes" \  -H "Content-Type: application/json" \  -d '{    "notes": [      {        "body": "Follow up next week about the renewal.",        "pinned": true,        "externalId": "hs_note_321"      }    ]  }'
{  "created": 1,  "updated": 1,  "errors": 0,  "results": [    {      "index": 0,      "status": "created",      "id": "018e2a4b-0000-7000-8000-aabbccddeeff"    },    {      "index": 1,      "status": "updated",      "id": "018e2a4b-1111-7000-8000-aabbccddeeff"    }  ]}
{  "created": 1,  "updated": 0,  "errors": 1,  "results": [    {      "index": 0,      "status": "created",      "id": "018e2a4b-0000-7000-8000-aabbccddeeff"    },    {      "index": 1,      "status": "error",      "error": "dealExternalId: no deal found for \"NOPE\"."    }  ]}
{  "error": "notes must not be empty."}
{  "error": "Invalid or missing API key."}
{  "error": "API key missing required scope: write:notes."}
{  "error": "Rate limit exceeded."}
GET/api/v1/notes

Authorization

BearerAuth
AuthorizationBearer <token>

Pass an API key issued from the agentlyleads workspace settings. Example: Authorization: Bearer alk_live_xxxxxxxxxxxx

In: header

Query Parameters

contactExternalId?string

Filter to notes on the contact with this external ID.

companyExternalId?string

Filter to notes on the company with this external ID.

dealExternalId?string

Filter to notes on the deal with this external ID.

pinned?boolean

Filter to pinned (true) or unpinned (false) notes.

updatedSince?string

Only notes updated at or after this ISO 8601 datetime.

Formatdate-time
limit?integer

Page size.

Range1 <= value <= 1000
Default100
cursor?string

The nextCursor value from the previous page.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/notes?contactExternalId=hs_contact_123"
{  "notes": [    {      "id": "cmq4note0alk34567890",      "body": "Follow up next week about the renewal.",      "pinned": true,      "externalId": "hs_note_321",      "contact": {        "name": "Acme Corp",        "externalId": "hs_company_42"      },      "company": {        "name": "Acme Corp",        "externalId": "hs_company_42"      },      "deal": {        "name": "Acme Corp",        "externalId": "hs_company_42"      },      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "nextCursor": "string"}
{  "error": "pinned must be true or false."}
{  "error": "Invalid or missing API key."}
{  "error": "API key missing required scope: read:notes."}
{  "error": "Rate limit exceeded."}