/health Returns API health status and timestamp
Responses: 200
curl -X GET 'http://localhost:8787/health' \
-H 'Accept: application/json' Generated reference
Generated API summary for TopoloCRM from the source-controlled OpenAPI specification.
Default security: none declared
/health Returns API health status and timestamp
Responses: 200
curl -X GET 'http://localhost:8787/health' \
-H 'Accept: application/json' /api Returns API metadata and available endpoints
Responses: 200
curl -X GET 'http://localhost:8787/api' \
-H 'Accept: application/json' /api/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' /api/contacts 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 '{}' /api/contacts/{id} Retrieve a specific contact by ID
Responses: 200, 404, 500
curl -X GET 'http://localhost:8787/api/contacts/{id}' \
-H 'Accept: application/json' /api/contacts/{id} 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 '{}' /api/contacts/{id} Soft delete a contact (sets deleted flag)
Responses: 200, 404, 500
curl -X DELETE 'http://localhost:8787/api/contacts/{id}' \
-H 'Accept: application/json' /api/contacts/{id}/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' /api/contacts/{id}/notes 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 '{}' /api/contacts/{contactId}/notes/{noteId} 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' /api/contacts/{contactId}/notes/{noteId} 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 '{}' /api/contacts/{contactId}/notes/{noteId} Delete a note permanently
Responses: 200, 404, 500
curl -X DELETE 'http://localhost:8787/api/contacts/{contactId}/notes/{noteId}' \
-H 'Accept: application/json' /api/contacts/{id}/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' /api/contacts/{id}/attachments 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' /api/attachments/{id} Download an attachment file
Responses: 200, 404, 500
curl -X GET 'http://localhost:8787/api/attachments/{id}' \
-H 'Accept: application/json' /api/attachments/{id} Delete an attachment permanently
Responses: 200, 404, 500
curl -X DELETE 'http://localhost:8787/api/attachments/{id}' \
-H 'Accept: application/json' /api/pipeline Get all available sales pipelines
Responses: 200, 500
curl -X GET 'http://localhost:8787/api/pipeline' \
-H 'Accept: application/json' /api/pipeline/{pipelineId} 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' /api/pipeline/{pipelineId}/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' /api/pipeline/{contactId}/move 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 '{}' /api/pipeline/{contactId}/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' /api/contacts/import 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' /api/contacts/export Export contacts to CSV format
Responses: 200, 500
curl -X GET 'http://localhost:8787/api/contacts/export' \
-H 'Accept: application/json'