Generated reference

TopoloCRM

Generated API summary for TopoloCRM from the source-controlled OpenAPI specification.

Version 1.0.0 23 operations 6 tags 0 security schemes

Auth

Default security: none declared

Servers

  • http://localhost:8787 Local development server
  • https://your-worker.your-subdomain.workers.dev Production Cloudflare Worker

system

GET /health
Health check

Returns API health status and timestamp

Responses: 200

curl -X GET 'http://localhost:8787/health' \
  -H 'Accept: application/json'
GET /api
API information

Returns API metadata and available endpoints

Responses: 200

curl -X GET 'http://localhost:8787/api' \
  -H 'Accept: application/json'

contacts

GET /api/contacts
List contacts

Retrieve a paginated list of contacts with optional full-text search. Supports advanced search using FTS5 for names, emails, companies, and tags.

Responses: 200, 500

curl -X GET 'http://localhost:8787/api/contacts' \
  -H 'Accept: application/json'
POST /api/contacts
Create contact

Create a new contact with provided information

Responses: 201, 400, 500

curl -X POST 'http://localhost:8787/api/contacts' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{}'
GET /api/contacts/{id}
Get contact

Retrieve a specific contact by ID

Responses: 200, 404, 500

curl -X GET 'http://localhost:8787/api/contacts/{id}' \
  -H 'Accept: application/json'
PUT /api/contacts/{id}
Update contact

Update an existing contact's information

Responses: 200, 400, 404, 500

curl -X PUT 'http://localhost:8787/api/contacts/{id}' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{}'
DELETE /api/contacts/{id}
Delete contact

Soft delete a contact (sets deleted flag)

Responses: 200, 404, 500

curl -X DELETE 'http://localhost:8787/api/contacts/{id}' \
  -H 'Accept: application/json'

notes

GET /api/contacts/{id}/notes
List contact notes

Get paginated list of notes for a specific contact

Responses: 200, 404, 500

curl -X GET 'http://localhost:8787/api/contacts/{id}/notes' \
  -H 'Accept: application/json'
POST /api/contacts/{id}/notes
Create note

Add a new note to a contact

Responses: 201, 400, 404, 500

curl -X POST 'http://localhost:8787/api/contacts/{id}/notes' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{}'
GET /api/contacts/{contactId}/notes/{noteId}
Get specific note

Retrieve a specific note by ID

Responses: 200, 404, 500

curl -X GET 'http://localhost:8787/api/contacts/{contactId}/notes/{noteId}' \
  -H 'Accept: application/json'
PUT /api/contacts/{contactId}/notes/{noteId}
Update note

Update an existing note

Responses: 200, 400, 404, 500

curl -X PUT 'http://localhost:8787/api/contacts/{contactId}/notes/{noteId}' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{}'
DELETE /api/contacts/{contactId}/notes/{noteId}
Delete note

Delete a note permanently

Responses: 200, 404, 500

curl -X DELETE 'http://localhost:8787/api/contacts/{contactId}/notes/{noteId}' \
  -H 'Accept: application/json'

attachments

GET /api/contacts/{id}/attachments
List contact attachments

Get all attachments for a specific contact

Responses: 200, 404, 500

curl -X GET 'http://localhost:8787/api/contacts/{id}/attachments' \
  -H 'Accept: application/json'
POST /api/contacts/{id}/attachments
Upload attachment

Upload a file attachment for a contact

Responses: 201, 400, 404, 413, 500

curl -X POST 'http://localhost:8787/api/contacts/{id}/attachments' \
  -H 'Accept: application/json'
GET /api/attachments/{id}
Download attachment

Download an attachment file

Responses: 200, 404, 500

curl -X GET 'http://localhost:8787/api/attachments/{id}' \
  -H 'Accept: application/json'
DELETE /api/attachments/{id}
Delete attachment

Delete an attachment permanently

Responses: 200, 404, 500

curl -X DELETE 'http://localhost:8787/api/attachments/{id}' \
  -H 'Accept: application/json'

pipeline

GET /api/pipeline
List pipelines

Get all available sales pipelines

Responses: 200, 500

curl -X GET 'http://localhost:8787/api/pipeline' \
  -H 'Accept: application/json'
GET /api/pipeline/{pipelineId}
Get pipeline details

Get detailed information about a specific pipeline including stages

Responses: 200, 404, 500

curl -X GET 'http://localhost:8787/api/pipeline/{pipelineId}' \
  -H 'Accept: application/json'
GET /api/pipeline/{pipelineId}/board
Get pipeline board

Get kanban board view with contacts grouped by pipeline stages

Responses: 200, 404, 500

curl -X GET 'http://localhost:8787/api/pipeline/{pipelineId}/board' \
  -H 'Accept: application/json'
PUT /api/pipeline/{contactId}/move
Move contact to stage

Move a contact to a different pipeline stage

Responses: 200, 400, 404, 500

curl -X PUT 'http://localhost:8787/api/pipeline/{contactId}/move' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{}'
GET /api/pipeline/{contactId}/history
Get contact pipeline history

Get the stage movement history for a contact

Responses: 200, 404, 500

curl -X GET 'http://localhost:8787/api/pipeline/{contactId}/history' \
  -H 'Accept: application/json'

import-export

POST /api/contacts/import
Import contacts

Import contacts from CSV file with field mapping

Responses: 200, 400, 500

curl -X POST 'http://localhost:8787/api/contacts/import' \
  -H 'Accept: application/json'
GET /api/contacts/export
Export contacts

Export contacts to CSV format

Responses: 200, 500

curl -X GET 'http://localhost:8787/api/contacts/export' \
  -H 'Accept: application/json'