Files
kamidso-back/kamidso/native_connectors/providers/didar/functions.json
T
javadandCursor edbaa2acec Add native Didar connectors so chats can query CRM data reliably.
Connector calls, semantic rules, and DuckDB memory keep long runs stable, and stream retry stops chats from stalling.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 19:26:47 +03:30

5103 lines
152 KiB
JSON

[
{
"name": "create_product",
"title": "Create Product",
"description": "Create a product. Disabled in v1.",
"entity": "product",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/product/save",
"input_schema": {
"type": "object",
"description": "Create a product.",
"properties": {
"Product": {
"type": "object",
"description": "Product payload.",
"properties": {
"Title": {
"type": "string",
"description": "Product title."
},
"Code": {
"type": "string",
"description": "Product code. Official sample sends a numeric-looking string."
},
"Unit": {
"type": "string",
"description": "Unit name."
},
"ProductCategoryId": {
"type": "string",
"description": "Category id from get_product_categories."
},
"TitleForInvoice": {
"type": "string",
"description": "Title printed on invoices."
},
"Description": {
"type": "string",
"description": "Description."
},
"UnitPrice": {
"type": "number",
"description": "Unit price."
},
"IsActive": {
"type": "boolean",
"description": "Whether the product is active."
},
"Fields": {
"type": "object",
"description": "Product custom fields keyed by field Key.",
"additionalProperties": true
},
"ProductPrices": {
"type": "array",
"description": "Prices per currency.",
"items": {
"type": "object",
"description": "One currency price.",
"properties": {
"CurrencyId": {
"type": "string",
"description": "Currency id."
},
"Price": {
"type": "number",
"description": "Price in that currency."
},
"decimalLength": {
"type": "number",
"description": "Decimal length."
}
},
"required": [
"CurrencyId",
"Price"
]
}
},
"Variants": {
"type": "array",
"description": "Product variants.",
"items": {
"type": "object",
"description": "One product variant.",
"properties": {
"Title": {
"type": "string",
"description": "Variant title."
},
"TitleForInvoice": {
"type": "string",
"description": "Variant title on invoices."
},
"IsDeleted": {
"type": "boolean",
"description": "Whether the variant is deleted."
},
"IsDefault": {
"type": "boolean",
"description": "Whether this is the default variant."
},
"UnitPrice": {
"type": "number",
"description": "Variant unit price."
},
"VariantCode": {
"type": "string",
"description": "Variant code."
},
"Fields": {
"type": "object",
"description": "Variant custom fields.",
"additionalProperties": true
}
},
"required": [
"Title",
"TitleForInvoice",
"IsDefault",
"UnitPrice",
"VariantCode"
]
}
}
},
"required": [
"Title",
"Unit",
"ProductCategoryId"
]
}
},
"required": [
"Product"
]
},
"tags": [
"product"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "search_products",
"title": "Search Products",
"description": "Search products by title keywords with From/Limit pagination.",
"entity": "product",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/product/search",
"input_schema": {
"type": "object",
"description": "Search products.",
"properties": {
"Criteria": {
"type": "object",
"description": "Product search criteria.",
"properties": {
"Keywords": {
"type": "string",
"description": "Title text to match."
}
}
},
"From": {
"type": "integer",
"description": "Zero-based offset."
},
"Limit": {
"type": "integer",
"description": "Page size."
}
}
},
"pagination": {
"type": "offset_limit",
"offset_field": "From",
"limit_field": "Limit"
},
"tags": [
"product"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_product_categories",
"title": "Get Product Categories",
"description": "List product categories. Official docs: no request body.",
"entity": "product",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/product/categories",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"product"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_products_by_code",
"title": "Get Products By Code",
"description": "Fetch products by exact product codes.",
"entity": "product",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/product/getproductbycodes",
"input_schema": {
"type": "object",
"description": "Products by code.",
"properties": {
"Code": {
"type": "array",
"description": "Product codes.",
"items": {
"type": "string",
"description": "Exact product code."
}
}
},
"required": [
"Code"
]
},
"tags": [
"product"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_activity_types",
"title": "Get Activity Types",
"description": "List activity types. Official docs: no request body.",
"entity": "activity",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/activity/GetActivityType",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"activity"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "create_activity",
"title": "Create Activity",
"description": "Create an activity. Disabled in v1.",
"entity": "activity",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/activity/save",
"input_schema": {
"type": "object",
"description": "Create or update an activity.",
"properties": {
"Activity": {
"type": "object",
"description": "Activity payload.",
"properties": {
"ActivityTypeId": {
"type": "string",
"description": "Activity type id from get_activity_types."
},
"Title": {
"type": "string",
"description": "Activity title."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner."
},
"Note": {
"type": "string",
"description": "Activity note."
},
"IsDone": {
"type": "boolean",
"description": "Whether the activity is done."
},
"ResultNote": {
"type": "string",
"description": "Result note."
},
"IsDeleted": {
"type": "boolean",
"description": "Whether the activity is deleted."
},
"IsPinned": {
"type": "boolean",
"description": "Whether the activity is pinned."
},
"DueDate": {
"type": "string",
"description": "Due date/time."
},
"Duration": {
"type": "number",
"description": "Duration."
},
"DoneDate": {
"type": "string",
"description": "Done date/time."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"CaseId": {
"type": "string",
"description": "Related case id."
},
"ContactIds": {
"type": "array",
"description": "Related contact ids.",
"items": {
"type": "string",
"description": "Contact id."
}
},
"CreatorId": {
"type": "string",
"description": "UserId of the creator."
},
"RecurrenceType": {
"type": "string",
"description": "Recurrence type. Official sample uses OneTime."
},
"RecurrenceData": {
"type": "number",
"description": "Recurrence data."
},
"RecurrenceEndDate": {
"type": "string",
"description": "Recurrence end date/time."
},
"Tags": {
"type": "array",
"description": "Tags.",
"items": {
"type": "object",
"description": "One tag reference.",
"properties": {
"TagId": {
"type": "string",
"description": "Tag id from get_tags."
}
}
}
}
},
"required": [
"ActivityTypeId",
"Title"
]
}
},
"required": [
"Activity"
]
},
"tags": [
"activity"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "update_activity",
"title": "Update Activity",
"description": "Update an activity. Disabled in v1.",
"entity": "activity",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/activity/save",
"input_schema": {
"type": "object",
"description": "Create or update an activity.",
"properties": {
"Activity": {
"type": "object",
"description": "Activity payload.",
"properties": {
"Id": {
"type": "string",
"description": "Activity id."
},
"ActivityTypeId": {
"type": "string",
"description": "Activity type id from get_activity_types."
},
"Title": {
"type": "string",
"description": "Activity title."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner."
},
"Note": {
"type": "string",
"description": "Activity note."
},
"IsDone": {
"type": "boolean",
"description": "Whether the activity is done."
},
"ResultNote": {
"type": "string",
"description": "Result note."
},
"IsDeleted": {
"type": "boolean",
"description": "Whether the activity is deleted."
},
"IsPinned": {
"type": "boolean",
"description": "Whether the activity is pinned."
},
"DueDate": {
"type": "string",
"description": "Due date/time."
},
"Duration": {
"type": "number",
"description": "Duration."
},
"DoneDate": {
"type": "string",
"description": "Done date/time."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"CaseId": {
"type": "string",
"description": "Related case id."
},
"ContactIds": {
"type": "array",
"description": "Related contact ids.",
"items": {
"type": "string",
"description": "Contact id."
}
},
"CreatorId": {
"type": "string",
"description": "UserId of the creator."
},
"RecurrenceType": {
"type": "string",
"description": "Recurrence type. Official sample uses OneTime."
},
"RecurrenceData": {
"type": "number",
"description": "Recurrence data."
},
"RecurrenceEndDate": {
"type": "string",
"description": "Recurrence end date/time."
},
"Tags": {
"type": "array",
"description": "Tags.",
"items": {
"type": "object",
"description": "One tag reference.",
"properties": {
"TagId": {
"type": "string",
"description": "Tag id from get_tags."
}
}
}
}
},
"required": [
"Id",
"ActivityTypeId",
"Title"
]
}
},
"required": [
"Activity"
]
},
"tags": [
"activity"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "search_activities",
"title": "Search Activities",
"description": "Search activities by time range, type, contact, owner, tag, and related records.",
"entity": "activity",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/activity/search",
"input_schema": {
"type": "object",
"description": "Search activities. Filters are top-level, not inside Criteria.",
"properties": {
"FromDate": {
"type": "string",
"description": "Range start."
},
"ToDate": {
"type": "string",
"description": "Range end."
},
"SortType": {
"type": "integer",
"description": "Sort mode."
},
"From": {
"type": "integer",
"description": "Zero-based offset."
},
"Limit": {
"type": "integer",
"description": "Page size."
},
"ActivityTypeIds": {
"type": "array",
"description": "Activity type filter.",
"items": {
"type": "string",
"description": "Activity type id."
}
},
"ContactIds": {
"type": "array",
"description": "Related contacts.",
"items": {
"type": "string",
"description": "Person or company id."
}
},
"TagIds": {
"type": "array",
"description": "Tag filter.",
"items": {
"type": "string",
"description": "Tag id."
}
},
"OwnerId": {
"type": "string",
"description": "Owner UserId."
},
"CreatorId": {
"type": "string",
"description": "Creator UserId."
},
"IsDone": {
"type": "boolean",
"description": "true returns done activities. false returns not-done activities."
},
"IsDeleted": {
"type": "boolean",
"description": "true returns deleted activities. false returns active activities."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"CaseId": {
"type": "string",
"description": "Related case id."
}
}
},
"pagination": {
"type": "offset_limit",
"offset_field": "From",
"limit_field": "Limit"
},
"tags": [
"activity"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "attach_file_to_activity",
"title": "Attach File To Activity",
"description": "Attach files to an activity with multipart form fields activityId and uploads. Disabled in v1.",
"entity": "activity",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/activity/AttachFilesToActivity",
"content_type": "multipart/form-data",
"input_schema": {
"type": "object",
"description": "Multipart attachment.",
"properties": {
"activityId": {
"type": "string",
"description": "Activity id."
},
"uploads": {
"type": "string",
"description": "File upload. The official request is multipart/form-data."
}
},
"required": [
"activityId",
"uploads"
]
},
"tags": [
"activity"
],
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_activity",
"title": "Get Activity",
"description": "Get one activity by id.",
"entity": "activity",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/Activity/GetActivityAndNoteById",
"input_schema": {
"type": "object",
"description": "Get activity.",
"properties": {
"Id": {
"type": "string",
"description": "Activity id."
}
},
"required": [
"Id"
]
},
"tags": [
"activity"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "create_note",
"title": "Create Note",
"description": "Create a note through the activity save endpoint. Disabled in v1.",
"entity": "note",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/activity/save",
"input_schema": {
"type": "object",
"description": "Create or update a note.",
"properties": {
"Activity": {
"type": "object",
"description": "Note payload stored through the activity endpoint.",
"properties": {
"ActivityTypeId": {
"type": "string",
"description": "Activity type id. Official note samples use the zero GUID."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner."
},
"ResultNote": {
"type": "string",
"description": "Note text."
},
"IsDone": {
"type": "boolean",
"description": "Official note docs require true for a note."
},
"IsPinned": {
"type": "boolean",
"description": "Whether the note is pinned."
},
"IsDeleted": {
"type": "boolean",
"description": "Whether the note is deleted."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"CaseId": {
"type": "string",
"description": "Related case id."
},
"ContactIds": {
"type": "array",
"description": "Related person or company ids.",
"items": {
"type": "string",
"description": "Contact id."
}
},
"Tags": {
"type": "array",
"description": "Tags.",
"items": {
"type": "object",
"description": "One tag reference.",
"properties": {
"TagId": {
"type": "string",
"description": "Tag id from get_tags."
}
}
}
}
},
"required": [
"ActivityTypeId",
"IsDone"
]
}
},
"required": [
"Activity"
]
},
"tags": [
"note"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "update_note",
"title": "Update Note",
"description": "Update a note through the activity save endpoint. Disabled in v1.",
"entity": "note",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/activity/save",
"input_schema": {
"type": "object",
"description": "Create or update a note.",
"properties": {
"Activity": {
"type": "object",
"description": "Note payload stored through the activity endpoint.",
"properties": {
"Id": {
"type": "string",
"description": "Note id."
},
"ActivityTypeId": {
"type": "string",
"description": "Activity type id. Official note samples use the zero GUID."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner."
},
"ResultNote": {
"type": "string",
"description": "Note text."
},
"IsDone": {
"type": "boolean",
"description": "Official note docs require true for a note."
},
"IsPinned": {
"type": "boolean",
"description": "Whether the note is pinned."
},
"IsDeleted": {
"type": "boolean",
"description": "Whether the note is deleted."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"CaseId": {
"type": "string",
"description": "Related case id."
},
"ContactIds": {
"type": "array",
"description": "Related person or company ids.",
"items": {
"type": "string",
"description": "Contact id."
}
},
"Tags": {
"type": "array",
"description": "Tags.",
"items": {
"type": "object",
"description": "One tag reference.",
"properties": {
"TagId": {
"type": "string",
"description": "Tag id from get_tags."
}
}
}
}
},
"required": [
"Id",
"ActivityTypeId",
"IsDone"
]
}
},
"required": [
"Activity"
]
},
"tags": [
"note"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "attach_file_to_note",
"title": "Attach File To Note",
"description": "Attach files to a note using the activity attachment endpoint. Disabled in v1.",
"entity": "note",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/activity/AttachFilesToActivity",
"content_type": "multipart/form-data",
"input_schema": {
"type": "object",
"description": "Multipart note attachment.",
"properties": {
"activityId": {
"type": "string",
"description": "Note id. Official docs send it as activityId."
},
"uploads": {
"type": "string",
"description": "File upload. The official request is multipart/form-data."
}
},
"required": [
"activityId",
"uploads"
]
},
"tags": [
"note"
],
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_note",
"title": "Get Note",
"description": "Get one note by id.",
"entity": "note",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/Activity/GetActivityAndNoteById",
"input_schema": {
"type": "object",
"description": "Get note.",
"properties": {
"Id": {
"type": "string",
"description": "Note id."
}
},
"required": [
"Id"
]
},
"tags": [
"note"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "didaryab_search",
"title": "Didaryab Search",
"description": "Search contacts, companies, deals, cases, and attachments with one keyword.",
"entity": "search",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/search/search",
"input_schema": {
"type": "object",
"description": "Didaryab search.",
"properties": {
"Keyword": {
"type": "string",
"description": "Text to search."
},
"Types": {
"type": "array",
"description": "One or more record types.",
"items": {
"type": "string",
"description": "Record type.",
"enum": [
"contact",
"company",
"deal",
"case",
"attachment"
]
}
}
},
"required": [
"Keyword",
"Types"
]
},
"tags": [
"search"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_custom_fields",
"title": "Get Custom Fields",
"description": "List custom fields. Official docs: no request body.",
"entity": "custom_field",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/customfield/GetCustomfieldList",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"custom_field"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_users",
"title": "Get Users",
"description": "List Didar users. Official docs: POST with no request body. Used to test the API key.",
"entity": "user",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/User/List",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"user"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "create_person",
"title": "Create Person",
"description": "Create a person. Disabled in v1.",
"entity": "person",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/contact/save",
"input_schema": {
"type": "object",
"description": "Create a person.",
"properties": {
"Contact": {
"type": "object",
"description": "Person contact payload.",
"properties": {
"Type": {
"type": "string",
"description": "Person contact type.",
"enum": [
"Person"
]
},
"FirstName": {
"type": "string",
"description": "Given name."
},
"LastName": {
"type": "string",
"description": "Family name. Required by the official create/update person docs."
},
"Title": {
"type": "string",
"description": "Salutation or title."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner from get_users."
},
"CompanyName": {
"type": "string",
"description": "Related company name."
},
"CompanyId": {
"type": "string",
"description": "Id of the related company."
},
"BirthDate": {
"type": "string",
"description": "Birth date/time."
},
"BirthDateMessageId": {
"type": "string",
"description": "Birth-date message id."
},
"MobilePhone": {
"type": "string",
"description": "Mobile phone."
},
"WorkPhone": {
"type": "string",
"description": "Work phone."
},
"WorkPhoneExtension": {
"type": "string",
"description": "Work phone extension."
},
"Fax": {
"type": "string",
"description": "Fax."
},
"Email": {
"type": "string",
"description": "Email."
},
"IsVIP": {
"type": "boolean",
"description": "Whether the person is marked VIP."
},
"BackgroundInfo": {
"type": "string",
"description": "Background notes."
},
"Position": {
"type": "string",
"description": "Job title."
},
"CustomerCode": {
"type": "string",
"description": "Customer code."
},
"NationalCode": {
"type": "string",
"description": "National code."
},
"ZipCode": {
"type": "string",
"description": "Postal code."
},
"CityId": {
"type": "string",
"description": "City id from get_locations."
},
"ProvinceId": {
"type": "string",
"description": "Province id from get_locations."
},
"VisibilityType": {
"type": "string",
"description": "Visibility. Documented examples include Owner, OwnerGroup, OwnerSubGroup, All."
},
"Fields": {
"type": "object",
"description": "Custom field values keyed by the field Key from get_custom_fields.",
"additionalProperties": true
},
"OtherPhones": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"OtherEmails": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"Websites": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"BankAccounts": {
"type": "object",
"description": "Bank accounts object.",
"properties": {
"Values": {
"type": "array",
"description": "Bank account rows.",
"items": {
"type": "object",
"description": "One bank-account row.",
"properties": {
"Value1": {
"type": "string",
"description": "Account row type, such as Card or Account."
},
"Value2": {
"type": "string",
"description": "Second documented value slot."
},
"Value3": {
"type": "string",
"description": "Third documented value slot."
},
"Value4": {
"type": "string",
"description": "Fourth documented value slot."
}
}
}
}
}
},
"Addresses": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
}
},
"required": [
"LastName",
"OwnerId"
]
},
"SegmentIds": {
"type": "array",
"description": "Segment ids.",
"items": {
"type": "string",
"description": "Segment id from get_segments."
}
}
},
"required": [
"Contact"
]
},
"tags": [
"person"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "update_person",
"title": "Update Person",
"description": "Update a person. Disabled in v1.",
"entity": "person",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/contact/save",
"input_schema": {
"type": "object",
"description": "Update a person.",
"properties": {
"Contact": {
"type": "object",
"description": "Person contact payload.",
"properties": {
"Id": {
"type": "string",
"description": "Person id."
},
"Type": {
"type": "string",
"description": "Person contact type.",
"enum": [
"Person"
]
},
"FirstName": {
"type": "string",
"description": "Given name."
},
"LastName": {
"type": "string",
"description": "Family name. Required by the official create/update person docs."
},
"Title": {
"type": "string",
"description": "Salutation or title."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner from get_users."
},
"CompanyName": {
"type": "string",
"description": "Related company name."
},
"CompanyId": {
"type": "string",
"description": "Id of the related company."
},
"BirthDate": {
"type": "string",
"description": "Birth date/time."
},
"BirthDateMessageId": {
"type": "string",
"description": "Birth-date message id."
},
"MobilePhone": {
"type": "string",
"description": "Mobile phone."
},
"WorkPhone": {
"type": "string",
"description": "Work phone."
},
"WorkPhoneExtension": {
"type": "string",
"description": "Work phone extension."
},
"Fax": {
"type": "string",
"description": "Fax."
},
"Email": {
"type": "string",
"description": "Email."
},
"IsVIP": {
"type": "boolean",
"description": "Whether the person is marked VIP."
},
"BackgroundInfo": {
"type": "string",
"description": "Background notes."
},
"Position": {
"type": "string",
"description": "Job title."
},
"CustomerCode": {
"type": "string",
"description": "Customer code."
},
"NationalCode": {
"type": "string",
"description": "National code."
},
"ZipCode": {
"type": "string",
"description": "Postal code."
},
"CityId": {
"type": "string",
"description": "City id from get_locations."
},
"ProvinceId": {
"type": "string",
"description": "Province id from get_locations."
},
"VisibilityType": {
"type": "string",
"description": "Visibility. Documented examples include Owner, OwnerGroup, OwnerSubGroup, All."
},
"Fields": {
"type": "object",
"description": "Custom field values keyed by the field Key from get_custom_fields.",
"additionalProperties": true
},
"OtherPhones": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"OtherEmails": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"Websites": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"BankAccounts": {
"type": "object",
"description": "Bank accounts object.",
"properties": {
"Values": {
"type": "array",
"description": "Bank account rows.",
"items": {
"type": "object",
"description": "One bank-account row.",
"properties": {
"Value1": {
"type": "string",
"description": "Account row type, such as Card or Account."
},
"Value2": {
"type": "string",
"description": "Second documented value slot."
},
"Value3": {
"type": "string",
"description": "Third documented value slot."
},
"Value4": {
"type": "string",
"description": "Fourth documented value slot."
}
}
}
}
}
},
"Addresses": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
}
},
"required": [
"Id",
"LastName",
"OwnerId"
]
},
"SegmentIds": {
"type": "array",
"description": "Segment ids.",
"items": {
"type": "string",
"description": "Segment id from get_segments."
}
}
},
"required": [
"Contact"
]
},
"tags": [
"person"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_person_by_id",
"title": "Get Person By Id",
"description": "Get one person by id.",
"entity": "person",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/contact/GetContactDetail",
"input_schema": {
"type": "object",
"description": "Get person.",
"properties": {
"Id": {
"type": "string",
"description": "Person id."
}
},
"required": [
"Id"
]
},
"tags": [
"person"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_person_by_mobile",
"title": "Get Person By Mobile",
"description": "Find a person by the stored mobile number.",
"entity": "person",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/contact/getbyphonenumber",
"input_schema": {
"type": "object",
"description": "Find person by mobile.",
"properties": {
"MobilePhone": {
"type": "string",
"description": "Mobile number in the stored format."
}
},
"required": [
"MobilePhone"
]
},
"tags": [
"person"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "search_persons",
"title": "Search Persons",
"description": "Search persons by name, phone, email, codes, and registration time.",
"entity": "person",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/contact/PersonSearch",
"input_schema": {
"type": "object",
"description": "Search persons.",
"properties": {
"Criteria": {
"type": "object",
"description": "Person search criteria from the official Search Persons page.",
"properties": {
"IsDeleted": {
"type": "integer",
"description": "0 keeps active records. 1 keeps deleted records.",
"enum": [
0,
1
]
},
"IsPinned": {
"type": "integer",
"description": "-1 is not pinned. 1 is pinned.",
"enum": [
-1,
1
]
},
"IsVIP": {
"type": "integer",
"description": "-1 is not VIP. 1 is VIP.",
"enum": [
-1,
1
]
},
"SortOrder": {
"type": "integer",
"description": "Sort direction."
},
"Keywords": {
"type": "string",
"description": "Text matched against the documented name fields."
},
"MobilePhone": {
"type": "string",
"description": "Mobile phone filter."
},
"WorkPhone": {
"type": "string",
"description": "Work phone filter."
},
"Email": {
"type": "string",
"description": "Email filter."
},
"NationalCode": {
"type": "string",
"description": "National code filter shown in the official sample."
},
"ZipCode": {
"type": "string",
"description": "Postal code filter."
},
"CustomerCode": {
"type": "string",
"description": "Customer code filter."
},
"SearchFromTime": {
"type": "string",
"description": "Inclusive range start."
},
"SearchToTime": {
"type": "string",
"description": "Inclusive range end."
},
"CustomFields": {
"type": "array",
"description": "Custom-field filters.",
"items": {
"type": "object",
"description": "Official person/company search sample sends objects whose keys are custom-field keys such as Field_996_0_226.",
"additionalProperties": true
}
}
}
},
"From": {
"type": "integer",
"description": "Zero-based offset."
},
"Limit": {
"type": "integer",
"description": "Page size."
}
}
},
"pagination": {
"type": "offset_limit",
"offset_field": "From",
"limit_field": "Limit"
},
"tags": [
"person"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "create_company",
"title": "Create Company",
"description": "Create a company. Disabled in v1.",
"entity": "company",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/contact/save",
"input_schema": {
"type": "object",
"description": "Create a company.",
"properties": {
"Contact": {
"type": "object",
"description": "Company contact payload.",
"properties": {
"Type": {
"type": "string",
"description": "Must be Company.",
"enum": [
"Company"
]
},
"FirstName": {
"type": "string",
"description": "Company name. Required by the official company docs."
},
"Title": {
"type": "string",
"description": "Title."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner from get_users."
},
"BirthDate": {
"type": "string",
"description": "Date field accepted by the official company sample."
},
"BirthDateMessageId": {
"type": "string",
"description": "Message id accepted by the official company sample."
},
"MobilePhone": {
"type": "string",
"description": "Mobile or secretary phone."
},
"WorkPhone": {
"type": "string",
"description": "Work phone."
},
"WorkPhoneExtension": {
"type": "string",
"description": "Work phone extension."
},
"Fax": {
"type": "string",
"description": "Fax."
},
"Email": {
"type": "string",
"description": "Email."
},
"IsVIP": {
"type": "boolean",
"description": "Whether the company is marked VIP."
},
"BackgroundInfo": {
"type": "string",
"description": "Background notes."
},
"Position": {
"type": "string",
"description": "Position field accepted by the official company sample."
},
"CustomerCode": {
"type": "string",
"description": "Customer code."
},
"EconomicIssue": {
"type": "string",
"description": "Economic code."
},
"RegistrationNumber": {
"type": "string",
"description": "Company registration number."
},
"NationalID": {
"type": "string",
"description": "Company national id."
},
"ZipCode": {
"type": "string",
"description": "Postal code."
},
"CityId": {
"type": "string",
"description": "City id from get_locations."
},
"ProvinceId": {
"type": "string",
"description": "Province id from get_locations."
},
"VisibilityType": {
"type": "string",
"description": "Visibility. Documented sample uses Owner."
},
"Fields": {
"type": "object",
"description": "Custom field values keyed by field Key.",
"additionalProperties": true
},
"OtherPhones": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"OtherEmails": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"Websites": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"BankAccounts": {
"type": "object",
"description": "Bank accounts object.",
"properties": {
"Values": {
"type": "array",
"description": "Bank account rows.",
"items": {
"type": "object",
"description": "One bank-account row.",
"properties": {
"Value1": {
"type": "string",
"description": "Account row type, such as Card or Account."
},
"Value2": {
"type": "string",
"description": "Second documented value slot."
},
"Value3": {
"type": "string",
"description": "Third documented value slot."
},
"Value4": {
"type": "string",
"description": "Fourth documented value slot."
}
}
}
}
}
},
"Addresses": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
}
},
"required": [
"Type",
"FirstName",
"OwnerId"
]
},
"SegmentIds": {
"type": "array",
"description": "Segment ids.",
"items": {
"type": "string",
"description": "Segment id from get_segments."
}
}
},
"required": [
"Contact"
]
},
"tags": [
"company"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "update_company",
"title": "Update Company",
"description": "Update a company. Disabled in v1.",
"entity": "company",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/contact/save",
"input_schema": {
"type": "object",
"description": "Update a company.",
"properties": {
"Contact": {
"type": "object",
"description": "Company contact payload.",
"properties": {
"Id": {
"type": "string",
"description": "Company id."
},
"Type": {
"type": "string",
"description": "Must be Company.",
"enum": [
"Company"
]
},
"FirstName": {
"type": "string",
"description": "Company name. Required by the official company docs."
},
"Title": {
"type": "string",
"description": "Title."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner from get_users."
},
"BirthDate": {
"type": "string",
"description": "Date field accepted by the official company sample."
},
"BirthDateMessageId": {
"type": "string",
"description": "Message id accepted by the official company sample."
},
"MobilePhone": {
"type": "string",
"description": "Mobile or secretary phone."
},
"WorkPhone": {
"type": "string",
"description": "Work phone."
},
"WorkPhoneExtension": {
"type": "string",
"description": "Work phone extension."
},
"Fax": {
"type": "string",
"description": "Fax."
},
"Email": {
"type": "string",
"description": "Email."
},
"IsVIP": {
"type": "boolean",
"description": "Whether the company is marked VIP."
},
"BackgroundInfo": {
"type": "string",
"description": "Background notes."
},
"Position": {
"type": "string",
"description": "Position field accepted by the official company sample."
},
"CustomerCode": {
"type": "string",
"description": "Customer code."
},
"EconomicIssue": {
"type": "string",
"description": "Economic code."
},
"RegistrationNumber": {
"type": "string",
"description": "Company registration number."
},
"NationalID": {
"type": "string",
"description": "Company national id."
},
"ZipCode": {
"type": "string",
"description": "Postal code."
},
"CityId": {
"type": "string",
"description": "City id from get_locations."
},
"ProvinceId": {
"type": "string",
"description": "Province id from get_locations."
},
"VisibilityType": {
"type": "string",
"description": "Visibility. Documented sample uses Owner."
},
"Fields": {
"type": "object",
"description": "Custom field values keyed by field Key.",
"additionalProperties": true
},
"OtherPhones": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"OtherEmails": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"Websites": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"BankAccounts": {
"type": "object",
"description": "Bank accounts object.",
"properties": {
"Values": {
"type": "array",
"description": "Bank account rows.",
"items": {
"type": "object",
"description": "One bank-account row.",
"properties": {
"Value1": {
"type": "string",
"description": "Account row type, such as Card or Account."
},
"Value2": {
"type": "string",
"description": "Second documented value slot."
},
"Value3": {
"type": "string",
"description": "Third documented value slot."
},
"Value4": {
"type": "string",
"description": "Fourth documented value slot."
}
}
}
}
}
},
"Addresses": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
}
},
"required": [
"Id",
"Type",
"FirstName",
"OwnerId"
]
},
"SegmentIds": {
"type": "array",
"description": "Segment ids.",
"items": {
"type": "string",
"description": "Segment id from get_segments."
}
}
},
"required": [
"Contact"
]
},
"tags": [
"company"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_company",
"title": "Get Company",
"description": "Get one company by id.",
"entity": "company",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/contact/GetContactDetail",
"input_schema": {
"type": "object",
"description": "Get company.",
"properties": {
"Id": {
"type": "string",
"description": "Company id."
}
},
"required": [
"Id"
]
},
"tags": [
"company"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "search_companies",
"title": "Search Companies",
"description": "Search companies. The official Search Companies page uses POST /api/contact/PersonSearch with Criteria, From, and Limit.",
"entity": "company",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/contact/PersonSearch",
"input_schema": {
"type": "object",
"description": "Search companies. Didar documents this on POST /api/contact/PersonSearch.",
"properties": {
"Criteria": {
"type": "object",
"description": "Company search criteria from the official Search Companies page.",
"properties": {
"IsDeleted": {
"type": "integer",
"description": "0 keeps active records. 1 keeps deleted records.",
"enum": [
0,
1
]
},
"IsPinned": {
"type": "integer",
"description": "-1 is not pinned. 1 is pinned.",
"enum": [
-1,
1
]
},
"IsVIP": {
"type": "integer",
"description": "-1 is not VIP. 1 is VIP.",
"enum": [
-1,
1
]
},
"SortOrder": {
"type": "integer",
"description": "Sort direction."
},
"Keywords": {
"type": "string",
"description": "Text matched against the company name."
},
"MobilePhone": {
"type": "string",
"description": "Phone filter."
},
"WorkPhone": {
"type": "string",
"description": "Work phone filter."
},
"Email": {
"type": "string",
"description": "Email filter."
},
"NationalCode": {
"type": "string",
"description": "Field present on the official Search Companies sample."
},
"NationalID": {
"type": "string",
"description": "Company national id named on the Search Companies page."
},
"RegistrationNumber": {
"type": "string",
"description": "Registration number named on the Search Companies page."
},
"EconomicIssue": {
"type": "string",
"description": "Economic code named on the Search Companies page."
},
"ZipCode": {
"type": "string",
"description": "Postal code filter."
},
"CustomerCode": {
"type": "string",
"description": "Customer code filter."
},
"SearchFromTime": {
"type": "string",
"description": "Inclusive range start."
},
"SearchToTime": {
"type": "string",
"description": "Inclusive range end."
},
"CustomFields": {
"type": "array",
"description": "Custom-field filters.",
"items": {
"type": "object",
"description": "Official person/company search sample sends objects whose keys are custom-field keys such as Field_996_0_226.",
"additionalProperties": true
}
}
}
},
"From": {
"type": "integer",
"description": "Zero-based offset."
},
"Limit": {
"type": "integer",
"description": "Page size."
}
}
},
"pagination": {
"type": "offset_limit",
"offset_field": "From",
"limit_field": "Limit"
},
"tags": [
"company"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "create_deal",
"title": "Create Deal",
"description": "Create a deal. Disabled in v1.",
"entity": "deal",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/deal/save_v2",
"input_schema": {
"type": "object",
"description": "Create or update a deal.",
"properties": {
"Deal": {
"type": "object",
"description": "Deal payload.",
"properties": {
"Title": {
"type": "string",
"description": "Deal title."
},
"Description": {
"type": "string",
"description": "Deal description."
},
"PersonId": {
"type": "string",
"description": "Primary person id."
},
"CompanyId": {
"type": "string",
"description": "Related company id."
},
"PipelineId": {
"type": "string",
"description": "Deal pipeline id from get_deal_pipelines."
},
"PipelineStageId": {
"type": "string",
"description": "Stage id from get_deal_pipelines."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner."
},
"Status": {
"type": "string",
"description": "Deal status.",
"enum": [
"Pending",
"Won",
"Lost"
]
},
"Price": {
"type": "string",
"description": "Price as documented in the official sample."
},
"LabelIds": {
"type": "array",
"description": "Label ids.",
"items": {
"type": "string",
"description": "Deal label id from get_deal_labels."
}
},
"SourceId": {
"type": "string",
"description": "Source id from get_sources."
},
"SourceOther": {
"type": "string",
"description": "Free-text source."
},
"ReferrerId": {
"type": "string",
"description": "Referrer contact id."
},
"ExpectedCloseDate": {
"description": "Expected close date, or null."
},
"LostReasonId": {
"type": "string",
"description": "Lost reason id from get_lost_reasons. Used when Status is Lost."
},
"LostReasonNote": {
"type": "string",
"description": "Extra lost-reason note."
},
"LostReasonOther": {
"type": "string",
"description": "Other lost-reason text."
},
"VisibilityType": {
"type": "string",
"description": "Visibility. Official sample uses Owner."
},
"CurrencyId": {
"type": "string",
"description": "Currency id."
},
"Fields": {
"type": "object",
"description": "Custom field values keyed by field Key.",
"additionalProperties": true
},
"CreatorId": {
"type": "string",
"description": "UserId of the creator."
},
"OtherContactIds": {
"type": "string",
"description": "Comma-separated other contact ids, as in the official sample."
},
"IsPaid": {
"type": "boolean",
"description": "Whether the deal is paid."
},
"UserLosing": {
"type": "string",
"description": "UserId recorded when the deal is lost."
},
"ChangeToWonTime": {
"type": "string",
"description": "Time the deal became Won."
},
"ChangeToLossTime": {
"type": "string",
"description": "Time the deal became Lost."
},
"ContactId": {
"type": "string",
"description": "Contact id included in the official sample."
},
"IsDeleted": {
"type": "boolean",
"description": "Whether the deal is deleted."
},
"LabelId": {
"type": "string",
"description": "Single label id included in the official sample."
},
"EstimatedPrice": {
"type": "number",
"description": "Estimated price included in the official sample."
},
"SegmentIds": {
"type": "array",
"description": "Segment ids included in the official sample.",
"items": {
"type": "string",
"description": "Segment id."
}
}
},
"required": [
"Title",
"PersonId",
"PipelineId",
"PipelineStageId"
]
},
"DealItems": {
"type": "array",
"description": "Deal product lines.",
"items": {
"type": "object",
"description": "One deal line.",
"properties": {
"ProductId": {
"type": "string",
"description": "Product id."
},
"Quantity": {
"type": "string",
"description": "Quantity."
},
"UnitPrice": {
"type": "string",
"description": "Unit price."
},
"Price": {
"type": "string",
"description": "Line price."
},
"Discount": {
"type": "string",
"description": "Discount amount."
},
"DiscountPercent": {
"type": "string",
"description": "Discount percent."
},
"TaxPercent": {
"type": "string",
"description": "Tax percent."
},
"Description": {
"type": "string",
"description": "Line description."
},
"VariantId": {
"type": "string",
"description": "Product variant id."
}
},
"required": [
"ProductId",
"Quantity"
]
}
}
},
"required": [
"Deal"
]
},
"tags": [
"deal"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_deal",
"title": "Get Deal",
"description": "Get one deal by id.",
"entity": "deal",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/deal/getdealdetail",
"input_schema": {
"type": "object",
"description": "Get deal.",
"properties": {
"Id": {
"type": "string",
"description": "Deal id."
}
},
"required": [
"Id"
]
},
"tags": [
"deal"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "update_deal",
"title": "Update Deal",
"description": "Update a deal. Disabled in v1.",
"entity": "deal",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/deal/save_v2",
"input_schema": {
"type": "object",
"description": "Create or update a deal.",
"properties": {
"Deal": {
"type": "object",
"description": "Deal payload.",
"properties": {
"Id": {
"type": "string",
"description": "Deal id."
},
"Code": {
"type": "string",
"description": "Deal code."
},
"Title": {
"type": "string",
"description": "Deal title."
},
"Description": {
"type": "string",
"description": "Deal description."
},
"PersonId": {
"type": "string",
"description": "Primary person id."
},
"CompanyId": {
"type": "string",
"description": "Related company id."
},
"PipelineId": {
"type": "string",
"description": "Deal pipeline id from get_deal_pipelines."
},
"PipelineStageId": {
"type": "string",
"description": "Stage id from get_deal_pipelines."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner."
},
"Status": {
"type": "string",
"description": "Deal status.",
"enum": [
"Pending",
"Won",
"Lost"
]
},
"Price": {
"type": "string",
"description": "Price as documented in the official sample."
},
"LabelIds": {
"type": "array",
"description": "Label ids.",
"items": {
"type": "string",
"description": "Deal label id from get_deal_labels."
}
},
"SourceId": {
"type": "string",
"description": "Source id from get_sources."
},
"SourceOther": {
"type": "string",
"description": "Free-text source."
},
"ReferrerId": {
"type": "string",
"description": "Referrer contact id."
},
"ExpectedCloseDate": {
"description": "Expected close date, or null."
},
"LostReasonId": {
"type": "string",
"description": "Lost reason id from get_lost_reasons. Used when Status is Lost."
},
"LostReasonNote": {
"type": "string",
"description": "Extra lost-reason note."
},
"LostReasonOther": {
"type": "string",
"description": "Other lost-reason text."
},
"VisibilityType": {
"type": "string",
"description": "Visibility. Official sample uses Owner."
},
"CurrencyId": {
"type": "string",
"description": "Currency id."
},
"Fields": {
"type": "object",
"description": "Custom field values keyed by field Key.",
"additionalProperties": true
},
"CreatorId": {
"type": "string",
"description": "UserId of the creator."
},
"OtherContactIds": {
"type": "string",
"description": "Comma-separated other contact ids, as in the official sample."
},
"IsPaid": {
"type": "boolean",
"description": "Whether the deal is paid."
},
"UserLosing": {
"type": "string",
"description": "UserId recorded when the deal is lost."
},
"ChangeToWonTime": {
"type": "string",
"description": "Time the deal became Won."
},
"ChangeToLossTime": {
"type": "string",
"description": "Time the deal became Lost."
},
"ContactId": {
"type": "string",
"description": "Contact id included in the official sample."
},
"IsDeleted": {
"type": "boolean",
"description": "Whether the deal is deleted."
},
"LabelId": {
"type": "string",
"description": "Single label id included in the official sample."
},
"EstimatedPrice": {
"type": "number",
"description": "Estimated price included in the official sample."
},
"SegmentIds": {
"type": "array",
"description": "Segment ids included in the official sample.",
"items": {
"type": "string",
"description": "Segment id."
}
}
},
"required": [
"Id",
"Title",
"PersonId",
"PipelineId",
"PipelineStageId"
]
},
"DealItems": {
"type": "array",
"description": "Deal product lines.",
"items": {
"type": "object",
"description": "One deal line.",
"properties": {
"ProductId": {
"type": "string",
"description": "Product id."
},
"Quantity": {
"type": "string",
"description": "Quantity."
},
"UnitPrice": {
"type": "string",
"description": "Unit price."
},
"Price": {
"type": "string",
"description": "Line price."
},
"Discount": {
"type": "string",
"description": "Discount amount."
},
"DiscountPercent": {
"type": "string",
"description": "Discount percent."
},
"TaxPercent": {
"type": "string",
"description": "Tax percent."
},
"Description": {
"type": "string",
"description": "Line description."
},
"VariantId": {
"type": "string",
"description": "Product variant id."
}
},
"required": [
"ProductId",
"Quantity"
]
}
}
},
"required": [
"Deal"
]
},
"tags": [
"deal"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "search_deals",
"title": "Search Deals",
"description": "Search deals with Criteria plus From/Limit pagination. Status values documented by Didar are Pending, Won, and Lost. The response root contains List plus aggregate counts and totals.",
"entity": "deal",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/deal/search_v2",
"input_schema": {
"type": "object",
"description": "Search deals.",
"properties": {
"Criteria": {
"type": "object",
"description": "Deal search criteria from the official Search Deals sample.",
"properties": {
"SearchFromTime": {
"type": "string",
"description": "Range start."
},
"SearchToTime": {
"type": "string",
"description": "Range end."
},
"Sort": {
"type": "integer",
"description": "Sort mode."
},
"ContactIds": {
"type": "array",
"description": "Primary contact filter.",
"items": {
"type": "string",
"description": "Person id."
}
},
"CompanyIds": {
"type": "array",
"description": "Company filter.",
"items": {
"type": "string",
"description": "Company id."
}
},
"OtherContactIds": {
"type": "array",
"description": "Other contact filter.",
"items": {
"type": "string",
"description": "Other contact id."
}
},
"Keywords": {
"type": "string",
"description": "Keyword filter."
},
"LabelIds": {
"type": "array",
"description": "Label filter.",
"items": {
"type": "string",
"description": "Deal label id."
}
},
"Status": {
"type": "string",
"description": "Deal status.",
"enum": [
"Pending",
"Won",
"Lost"
]
},
"CustomFields": {
"type": "array",
"description": "Deal custom-field filters.",
"items": {
"type": "object",
"description": "One custom-field filter from the Search Deals sample.",
"properties": {
"CustomFieldId": {
"type": "string",
"description": "Id of a deal custom field from get_custom_fields."
},
"OR": {
"type": "array",
"description": "OR comparisons for this custom field.",
"items": {
"type": "object",
"description": "One custom-field comparison.",
"properties": {
"Type": {
"type": "string",
"description": "Comparison shown in the official sample: ContainsAnyString, NotContainsAnyString, StartsWith, GreaterThan, LessThan, Between."
},
"Value": {
"type": "array",
"description": "Values for this comparison.",
"items": {
"type": "string",
"description": "Comparison value."
}
}
}
}
}
}
}
},
"PipelineId": {
"type": "string",
"description": "Pipeline id."
},
"PipelineStageId": {
"type": "string",
"description": "Single pipeline stage id."
},
"PipelineStageIds": {
"type": "array",
"description": "Several stage ids.",
"items": {
"type": "string",
"description": "Pipeline stage id."
}
},
"SourceId": {
"type": "string",
"description": "Source id."
},
"IsDeleted": {
"type": "boolean",
"description": "Deleted-record filter."
},
"HasActivity": {
"type": "boolean",
"description": "Whether a related activity exists."
},
"LostReasonId": {
"type": "string",
"description": "Lost reason id."
},
"NextActivityFrom": {
"type": "string",
"description": "Next activity range start."
},
"NextActivityTo": {
"type": "string",
"description": "Next activity range end."
},
"IsIdle": {
"type": "boolean",
"description": "Idle-deal filter."
},
"IsRotten": {
"type": "boolean",
"description": "Rotten-deal filter."
},
"Probability": {
"type": "string",
"description": "Probability filter as shown in the official sample."
},
"OwnerIds": {
"type": "array",
"description": "Owner filter.",
"items": {
"type": "string",
"description": "Owner UserId."
}
}
},
"additionalProperties": false
},
"From": {
"type": "integer",
"minimum": 0,
"description": "Zero-based offset."
},
"Limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Page size."
}
},
"required": [
"Criteria",
"From",
"Limit"
],
"additionalProperties": false
},
"pagination": {
"type": "offset_limit",
"offset_field": "From",
"limit_field": "Limit"
},
"records_path": "Response.List",
"summary_fields": [
"Response.TotalCount",
"Response.TotalPrice",
"Response.AllDealsCount",
"Response.WonDealsCount",
"Response.LostDealsCount",
"Response.PendingDealsCount"
],
"semantic_hints": [
"From and Limit are top-level fields, not inside Criteria.",
"Use server totals when only counts are needed."
],
"tags": [
"deal"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "create_invoice",
"title": "Create Invoice",
"description": "Create an invoice. Disabled in v1.",
"entity": "invoice",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/AccountingInvoice/Create",
"input_schema": {
"type": "object",
"description": "Invoice payload.",
"properties": {
"Items": {
"type": "array",
"description": "Document lines.",
"items": {
"type": "object",
"description": "One invoice or quote line.",
"properties": {
"Id": {
"type": "string",
"description": "Existing line id when updating."
},
"ProductId": {
"type": "string",
"description": "Product id."
},
"ProductCode": {
"type": "string",
"description": "Product code."
},
"VariantId": {
"type": "string",
"description": "Variant id."
},
"VariantTitle": {
"type": "string",
"description": "Variant title."
},
"VariantCode": {
"type": "string",
"description": "Variant code."
},
"Title": {
"type": "string",
"description": "Line title."
},
"TitleForInvoice": {
"type": "string",
"description": "Title printed on the document."
},
"newTitle": {
"type": "string",
"description": "Replacement title accepted by the quote sample."
},
"Description": {
"type": "string",
"description": "Line description."
},
"Unit": {
"type": "string",
"description": "Unit name."
},
"UnitPrice": {
"type": "string",
"description": "Unit price."
},
"Quantity": {
"type": "number",
"description": "Quantity."
},
"Discount": {
"type": "string",
"description": "Discount amount."
},
"DiscountPercent": {
"type": "number",
"description": "Discount percent."
},
"DiscountType": {
"type": "string",
"description": "Discount type. Official samples use Amount or Percent."
},
"TaxPercent": {
"type": "string",
"description": "Tax percent."
},
"SaleTypeId": {
"type": "string",
"description": "Sale type id."
},
"Price": {
"type": "number",
"description": "Line price included in the invoice sample."
}
}
}
},
"SellerInfo": {
"type": "object",
"description": "Seller info.",
"properties": {
"SellerName": {
"type": "string",
"description": "Seller name."
},
"BizDomainId": {
"type": "string",
"description": "Seller business-domain id."
},
"QuoteExpirationDays": {
"type": "number",
"description": "Default quote validity days."
},
"SellerEconomicCode": {
"type": "string",
"description": "Seller economic code."
},
"SellerNationalCode": {
"type": "string",
"description": "Seller national code."
},
"SellerPostalCode": {
"type": "string",
"description": "Seller postal code."
},
"SellerProvince": {
"type": "string",
"description": "Seller province."
},
"SellerGrandCity": {
"type": "string",
"description": "Seller grand city."
},
"SellerCity": {
"type": "string",
"description": "Seller city."
},
"SellerAddress": {
"type": "string",
"description": "Seller address."
},
"SellerPhone": {
"type": "string",
"description": "Seller phone."
},
"InvoiceConditions": {
"type": "string",
"description": "Invoice conditions text."
},
"QuoteConditions": {
"type": "string",
"description": "Quote conditions text."
}
}
},
"BuyerInfo": {
"type": "object",
"description": "Buyer info.",
"properties": {
"BuyerType": {
"type": "string",
"description": "Buyer type. Official sample uses Company."
},
"BuyerTitle": {
"type": "string",
"description": "Buyer title."
},
"BuyerName": {
"type": "string",
"description": "Buyer name."
},
"BuyerEconomicCode": {
"type": "string",
"description": "Buyer economic code."
},
"BuyerNationalCode": {
"type": "string",
"description": "Buyer national code."
},
"BuyerNationalID": {
"type": "string",
"description": "Buyer national id."
},
"BuyerRegistrationNumber": {
"type": "string",
"description": "Buyer registration number."
},
"BuyerProvince": {
"type": "string",
"description": "Buyer province."
},
"BuyerGrandCity": {
"type": "string",
"description": "Buyer grand city."
},
"BuyerCity": {
"type": "string",
"description": "Buyer city."
},
"BuyerPostalCode": {
"type": "string",
"description": "Buyer postal code."
},
"BuyerMobilePhone": {
"type": "string",
"description": "Buyer mobile phone."
},
"BuyerFaxNumber": {
"type": "string",
"description": "Buyer fax."
},
"BuyerAddress": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"BuyerPhone": {
"type": "string",
"description": "Buyer phone."
},
"BuyerEmail": {
"type": "string",
"description": "Buyer email."
}
}
},
"BizdomainProvider": {
"type": "object",
"description": "Optional provider object accepted by the official docs.",
"properties": {}
},
"CreatorId": {
"type": "string",
"description": "UserId of the creator."
},
"IssueDate": {
"type": "string",
"description": "Issue date/time."
},
"Adjustment": {
"type": "string",
"description": "Adjustment amount."
},
"DiscountRows": {
"type": "array",
"description": "Document-level discount rows.",
"items": {
"type": "object",
"description": "One discount row.",
"properties": {
"DiscountName": {
"type": "string",
"description": "Discount row name."
},
"RowPrice": {
"type": "string",
"description": "Discount row price."
}
}
}
},
"BizDomainId": {
"type": "string",
"description": "Business-domain id."
},
"CurrencyId": {
"type": "number",
"description": "Currency id."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"Description": {
"type": "string",
"description": "Document description."
}
},
"required": [
"Items",
"SellerInfo",
"BuyerInfo"
]
},
"tags": [
"invoice"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "create_quote",
"title": "Create Quote",
"description": "Create a quote. Disabled in v1.",
"entity": "quote",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/AccountingQuote/CreateQuote",
"input_schema": {
"type": "object",
"description": "Quote payload.",
"properties": {
"Items": {
"type": "array",
"description": "Document lines.",
"items": {
"type": "object",
"description": "One invoice or quote line.",
"properties": {
"Id": {
"type": "string",
"description": "Existing line id when updating."
},
"ProductId": {
"type": "string",
"description": "Product id."
},
"ProductCode": {
"type": "string",
"description": "Product code."
},
"VariantId": {
"type": "string",
"description": "Variant id."
},
"VariantTitle": {
"type": "string",
"description": "Variant title."
},
"VariantCode": {
"type": "string",
"description": "Variant code."
},
"Title": {
"type": "string",
"description": "Line title."
},
"TitleForInvoice": {
"type": "string",
"description": "Title printed on the document."
},
"newTitle": {
"type": "string",
"description": "Replacement title accepted by the quote sample."
},
"Description": {
"type": "string",
"description": "Line description."
},
"Unit": {
"type": "string",
"description": "Unit name."
},
"UnitPrice": {
"type": "string",
"description": "Unit price."
},
"Quantity": {
"type": "number",
"description": "Quantity."
},
"Discount": {
"type": "string",
"description": "Discount amount."
},
"DiscountPercent": {
"type": "number",
"description": "Discount percent."
},
"DiscountType": {
"type": "string",
"description": "Discount type. Official samples use Amount or Percent."
},
"TaxPercent": {
"type": "string",
"description": "Tax percent."
},
"SaleTypeId": {
"type": "string",
"description": "Sale type id."
},
"Price": {
"type": "number",
"description": "Line price included in the invoice sample."
}
}
}
},
"SellerInfo": {
"type": "object",
"description": "Seller info.",
"properties": {
"SellerName": {
"type": "string",
"description": "Seller name."
},
"BizDomainId": {
"type": "string",
"description": "Seller business-domain id."
},
"QuoteExpirationDays": {
"type": "number",
"description": "Default quote validity days."
},
"SellerEconomicCode": {
"type": "string",
"description": "Seller economic code."
},
"SellerNationalCode": {
"type": "string",
"description": "Seller national code."
},
"SellerPostalCode": {
"type": "string",
"description": "Seller postal code."
},
"SellerProvince": {
"type": "string",
"description": "Seller province."
},
"SellerGrandCity": {
"type": "string",
"description": "Seller grand city."
},
"SellerCity": {
"type": "string",
"description": "Seller city."
},
"SellerAddress": {
"type": "string",
"description": "Seller address."
},
"SellerPhone": {
"type": "string",
"description": "Seller phone."
},
"InvoiceConditions": {
"type": "string",
"description": "Invoice conditions text."
},
"QuoteConditions": {
"type": "string",
"description": "Quote conditions text."
}
}
},
"BuyerInfo": {
"type": "object",
"description": "Buyer info.",
"properties": {
"BuyerType": {
"type": "string",
"description": "Buyer type. Official sample uses Company."
},
"BuyerTitle": {
"type": "string",
"description": "Buyer title."
},
"BuyerName": {
"type": "string",
"description": "Buyer name."
},
"BuyerEconomicCode": {
"type": "string",
"description": "Buyer economic code."
},
"BuyerNationalCode": {
"type": "string",
"description": "Buyer national code."
},
"BuyerNationalID": {
"type": "string",
"description": "Buyer national id."
},
"BuyerRegistrationNumber": {
"type": "string",
"description": "Buyer registration number."
},
"BuyerProvince": {
"type": "string",
"description": "Buyer province."
},
"BuyerGrandCity": {
"type": "string",
"description": "Buyer grand city."
},
"BuyerCity": {
"type": "string",
"description": "Buyer city."
},
"BuyerPostalCode": {
"type": "string",
"description": "Buyer postal code."
},
"BuyerMobilePhone": {
"type": "string",
"description": "Buyer mobile phone."
},
"BuyerFaxNumber": {
"type": "string",
"description": "Buyer fax."
},
"BuyerAddress": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"BuyerPhone": {
"type": "string",
"description": "Buyer phone."
},
"BuyerEmail": {
"type": "string",
"description": "Buyer email."
}
}
},
"BizdomainProvider": {
"type": "object",
"description": "Optional provider object accepted by the official docs.",
"properties": {}
},
"CreatorId": {
"type": "string",
"description": "UserId of the creator."
},
"IssueDate": {
"type": "string",
"description": "Issue date/time."
},
"Adjustment": {
"type": "string",
"description": "Adjustment amount."
},
"DiscountRows": {
"type": "array",
"description": "Document-level discount rows.",
"items": {
"type": "object",
"description": "One discount row.",
"properties": {
"DiscountName": {
"type": "string",
"description": "Discount row name."
},
"RowPrice": {
"type": "string",
"description": "Discount row price."
}
}
}
},
"BizDomainId": {
"type": "string",
"description": "Business-domain id."
},
"CurrencyId": {
"type": "number",
"description": "Currency id."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"Description": {
"type": "string",
"description": "Document description."
},
"QuoteExpirationDays": {
"type": "number",
"description": "Quote validity in days."
}
},
"required": [
"Items",
"CreatorId",
"BizDomainId",
"CurrencyId"
]
},
"tags": [
"quote"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "update_invoice",
"title": "Update Invoice",
"description": "Update an invoice. Disabled in v1.",
"entity": "invoice",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/AccountingInvoice/Update",
"input_schema": {
"type": "object",
"description": "Invoice payload.",
"properties": {
"Id": {
"type": "number",
"description": "Invoice or quote id."
},
"Items": {
"type": "array",
"description": "Document lines.",
"items": {
"type": "object",
"description": "One invoice or quote line.",
"properties": {
"Id": {
"type": "string",
"description": "Existing line id when updating."
},
"ProductId": {
"type": "string",
"description": "Product id."
},
"ProductCode": {
"type": "string",
"description": "Product code."
},
"VariantId": {
"type": "string",
"description": "Variant id."
},
"VariantTitle": {
"type": "string",
"description": "Variant title."
},
"VariantCode": {
"type": "string",
"description": "Variant code."
},
"Title": {
"type": "string",
"description": "Line title."
},
"TitleForInvoice": {
"type": "string",
"description": "Title printed on the document."
},
"newTitle": {
"type": "string",
"description": "Replacement title accepted by the quote sample."
},
"Description": {
"type": "string",
"description": "Line description."
},
"Unit": {
"type": "string",
"description": "Unit name."
},
"UnitPrice": {
"type": "string",
"description": "Unit price."
},
"Quantity": {
"type": "number",
"description": "Quantity."
},
"Discount": {
"type": "string",
"description": "Discount amount."
},
"DiscountPercent": {
"type": "number",
"description": "Discount percent."
},
"DiscountType": {
"type": "string",
"description": "Discount type. Official samples use Amount or Percent."
},
"TaxPercent": {
"type": "string",
"description": "Tax percent."
},
"SaleTypeId": {
"type": "string",
"description": "Sale type id."
},
"Price": {
"type": "number",
"description": "Line price included in the invoice sample."
}
}
}
},
"SellerInfo": {
"type": "object",
"description": "Seller info.",
"properties": {
"SellerName": {
"type": "string",
"description": "Seller name."
},
"BizDomainId": {
"type": "string",
"description": "Seller business-domain id."
},
"QuoteExpirationDays": {
"type": "number",
"description": "Default quote validity days."
},
"SellerEconomicCode": {
"type": "string",
"description": "Seller economic code."
},
"SellerNationalCode": {
"type": "string",
"description": "Seller national code."
},
"SellerPostalCode": {
"type": "string",
"description": "Seller postal code."
},
"SellerProvince": {
"type": "string",
"description": "Seller province."
},
"SellerGrandCity": {
"type": "string",
"description": "Seller grand city."
},
"SellerCity": {
"type": "string",
"description": "Seller city."
},
"SellerAddress": {
"type": "string",
"description": "Seller address."
},
"SellerPhone": {
"type": "string",
"description": "Seller phone."
},
"InvoiceConditions": {
"type": "string",
"description": "Invoice conditions text."
},
"QuoteConditions": {
"type": "string",
"description": "Quote conditions text."
}
}
},
"BuyerInfo": {
"type": "object",
"description": "Buyer info.",
"properties": {
"BuyerType": {
"type": "string",
"description": "Buyer type. Official sample uses Company."
},
"BuyerTitle": {
"type": "string",
"description": "Buyer title."
},
"BuyerName": {
"type": "string",
"description": "Buyer name."
},
"BuyerEconomicCode": {
"type": "string",
"description": "Buyer economic code."
},
"BuyerNationalCode": {
"type": "string",
"description": "Buyer national code."
},
"BuyerNationalID": {
"type": "string",
"description": "Buyer national id."
},
"BuyerRegistrationNumber": {
"type": "string",
"description": "Buyer registration number."
},
"BuyerProvince": {
"type": "string",
"description": "Buyer province."
},
"BuyerGrandCity": {
"type": "string",
"description": "Buyer grand city."
},
"BuyerCity": {
"type": "string",
"description": "Buyer city."
},
"BuyerPostalCode": {
"type": "string",
"description": "Buyer postal code."
},
"BuyerMobilePhone": {
"type": "string",
"description": "Buyer mobile phone."
},
"BuyerFaxNumber": {
"type": "string",
"description": "Buyer fax."
},
"BuyerAddress": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"BuyerPhone": {
"type": "string",
"description": "Buyer phone."
},
"BuyerEmail": {
"type": "string",
"description": "Buyer email."
}
}
},
"BizdomainProvider": {
"type": "object",
"description": "Optional provider object accepted by the official docs.",
"properties": {}
},
"CreatorId": {
"type": "string",
"description": "UserId of the creator."
},
"IssueDate": {
"type": "string",
"description": "Issue date/time."
},
"Adjustment": {
"type": "string",
"description": "Adjustment amount."
},
"DiscountRows": {
"type": "array",
"description": "Document-level discount rows.",
"items": {
"type": "object",
"description": "One discount row.",
"properties": {
"DiscountName": {
"type": "string",
"description": "Discount row name."
},
"RowPrice": {
"type": "string",
"description": "Discount row price."
}
}
}
},
"BizDomainId": {
"type": "string",
"description": "Business-domain id."
},
"CurrencyId": {
"type": "number",
"description": "Currency id."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"Description": {
"type": "string",
"description": "Document description."
}
},
"required": [
"Id",
"Items"
]
},
"tags": [
"invoice"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "update_quote",
"title": "Update Quote",
"description": "Update a quote. Disabled in v1.",
"entity": "quote",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/AccountingQuote/UpdateQuote",
"input_schema": {
"type": "object",
"description": "Quote payload.",
"properties": {
"Id": {
"type": "number",
"description": "Invoice or quote id."
},
"Items": {
"type": "array",
"description": "Document lines.",
"items": {
"type": "object",
"description": "One invoice or quote line.",
"properties": {
"Id": {
"type": "string",
"description": "Existing line id when updating."
},
"ProductId": {
"type": "string",
"description": "Product id."
},
"ProductCode": {
"type": "string",
"description": "Product code."
},
"VariantId": {
"type": "string",
"description": "Variant id."
},
"VariantTitle": {
"type": "string",
"description": "Variant title."
},
"VariantCode": {
"type": "string",
"description": "Variant code."
},
"Title": {
"type": "string",
"description": "Line title."
},
"TitleForInvoice": {
"type": "string",
"description": "Title printed on the document."
},
"newTitle": {
"type": "string",
"description": "Replacement title accepted by the quote sample."
},
"Description": {
"type": "string",
"description": "Line description."
},
"Unit": {
"type": "string",
"description": "Unit name."
},
"UnitPrice": {
"type": "string",
"description": "Unit price."
},
"Quantity": {
"type": "number",
"description": "Quantity."
},
"Discount": {
"type": "string",
"description": "Discount amount."
},
"DiscountPercent": {
"type": "number",
"description": "Discount percent."
},
"DiscountType": {
"type": "string",
"description": "Discount type. Official samples use Amount or Percent."
},
"TaxPercent": {
"type": "string",
"description": "Tax percent."
},
"SaleTypeId": {
"type": "string",
"description": "Sale type id."
},
"Price": {
"type": "number",
"description": "Line price included in the invoice sample."
}
}
}
},
"SellerInfo": {
"type": "object",
"description": "Seller info.",
"properties": {
"SellerName": {
"type": "string",
"description": "Seller name."
},
"BizDomainId": {
"type": "string",
"description": "Seller business-domain id."
},
"QuoteExpirationDays": {
"type": "number",
"description": "Default quote validity days."
},
"SellerEconomicCode": {
"type": "string",
"description": "Seller economic code."
},
"SellerNationalCode": {
"type": "string",
"description": "Seller national code."
},
"SellerPostalCode": {
"type": "string",
"description": "Seller postal code."
},
"SellerProvince": {
"type": "string",
"description": "Seller province."
},
"SellerGrandCity": {
"type": "string",
"description": "Seller grand city."
},
"SellerCity": {
"type": "string",
"description": "Seller city."
},
"SellerAddress": {
"type": "string",
"description": "Seller address."
},
"SellerPhone": {
"type": "string",
"description": "Seller phone."
},
"InvoiceConditions": {
"type": "string",
"description": "Invoice conditions text."
},
"QuoteConditions": {
"type": "string",
"description": "Quote conditions text."
}
}
},
"BuyerInfo": {
"type": "object",
"description": "Buyer info.",
"properties": {
"BuyerType": {
"type": "string",
"description": "Buyer type. Official sample uses Company."
},
"BuyerTitle": {
"type": "string",
"description": "Buyer title."
},
"BuyerName": {
"type": "string",
"description": "Buyer name."
},
"BuyerEconomicCode": {
"type": "string",
"description": "Buyer economic code."
},
"BuyerNationalCode": {
"type": "string",
"description": "Buyer national code."
},
"BuyerNationalID": {
"type": "string",
"description": "Buyer national id."
},
"BuyerRegistrationNumber": {
"type": "string",
"description": "Buyer registration number."
},
"BuyerProvince": {
"type": "string",
"description": "Buyer province."
},
"BuyerGrandCity": {
"type": "string",
"description": "Buyer grand city."
},
"BuyerCity": {
"type": "string",
"description": "Buyer city."
},
"BuyerPostalCode": {
"type": "string",
"description": "Buyer postal code."
},
"BuyerMobilePhone": {
"type": "string",
"description": "Buyer mobile phone."
},
"BuyerFaxNumber": {
"type": "string",
"description": "Buyer fax."
},
"BuyerAddress": {
"type": "object",
"description": "Grouped key/value collection documented on contact save.",
"properties": {
"KeyValues": {
"type": "array",
"description": "Labeled key/value rows.",
"items": {
"type": "object",
"description": "One labeled value.",
"properties": {
"Key": {
"type": "string",
"description": "Label key."
},
"Value": {
"type": "string",
"description": "Value."
},
"Title": {
"type": "string",
"description": "Optional display title."
}
}
}
}
}
},
"BuyerPhone": {
"type": "string",
"description": "Buyer phone."
},
"BuyerEmail": {
"type": "string",
"description": "Buyer email."
}
}
},
"BizdomainProvider": {
"type": "object",
"description": "Optional provider object accepted by the official docs.",
"properties": {}
},
"CreatorId": {
"type": "string",
"description": "UserId of the creator."
},
"IssueDate": {
"type": "string",
"description": "Issue date/time."
},
"Adjustment": {
"type": "string",
"description": "Adjustment amount."
},
"DiscountRows": {
"type": "array",
"description": "Document-level discount rows.",
"items": {
"type": "object",
"description": "One discount row.",
"properties": {
"DiscountName": {
"type": "string",
"description": "Discount row name."
},
"RowPrice": {
"type": "string",
"description": "Discount row price."
}
}
}
},
"BizDomainId": {
"type": "string",
"description": "Business-domain id."
},
"CurrencyId": {
"type": "number",
"description": "Currency id."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"Description": {
"type": "string",
"description": "Document description."
},
"QuoteExpirationDays": {
"type": "number",
"description": "Quote validity in days."
}
},
"required": [
"Id",
"Items"
]
},
"tags": [
"quote"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "remove_invoice",
"title": "Remove Invoice",
"description": "Remove an invoice by numeric id. Disabled in v1.",
"entity": "invoice",
"effect": "delete",
"enabled": false,
"method": "POST",
"path": "/api/AccountingInvoice/Remove",
"input_schema": {
"type": "object",
"description": "Remove invoice.",
"properties": {
"id": {
"type": "number",
"description": "Invoice id."
}
},
"required": [
"id"
]
},
"tags": [
"invoice"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "remove_quote",
"title": "Remove Quote",
"description": "Remove a quote by numeric id. Disabled in v1.",
"entity": "quote",
"effect": "delete",
"enabled": false,
"method": "POST",
"path": "/api/AccountingQuote/RemoveQuote",
"input_schema": {
"type": "object",
"description": "Remove quote.",
"properties": {
"id": {
"type": "number",
"description": "Quote id."
}
},
"required": [
"id"
]
},
"tags": [
"quote"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_invoice_or_quote",
"title": "Get Invoice Or Quote",
"description": "Get one invoice or quote. Send exactly one of Id, InvoiceFormattedNumber, InvoiceNumber, QuoteFormattedNumber, or QuoteNumber.",
"entity": "invoice",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/AccountingInvoice/Get",
"input_schema": {
"type": "object",
"description": "Exactly one lookup field is valid.",
"properties": {
"Id": {
"type": "number",
"description": "Invoice or quote id."
},
"InvoiceFormattedNumber": {
"type": "string",
"description": "Formatted invoice number, for example I-23."
},
"InvoiceNumber": {
"type": "string",
"description": "Invoice number, for example 23.0."
},
"QuoteFormattedNumber": {
"type": "string",
"description": "Formatted quote number, for example Q-21."
},
"QuoteNumber": {
"type": "string",
"description": "Quote number, for example 21.0."
}
}
},
"tags": [
"invoice",
"quote"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "create_case",
"title": "Create Case",
"description": "Create a case. Disabled in v1.",
"entity": "case",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/Case/Save_v2",
"input_schema": {
"type": "object",
"description": "Create or update a case.",
"properties": {
"Case": {
"type": "object",
"description": "Case payload.",
"properties": {
"Title": {
"type": "string",
"description": "Case title."
},
"PipelineStageId": {
"type": "string",
"description": "Case pipeline stage id from get_case_pipelines."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner."
},
"Description": {
"type": "string",
"description": "Case description."
},
"CompanyId": {
"type": "string",
"description": "Related company id."
},
"PersonId": {
"type": "string",
"description": "Related person id."
},
"CaseCategoryId": {
"type": "string",
"description": "Case category id."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"IsDeleted": {
"type": "boolean",
"description": "Whether the case is deleted."
},
"Status": {
"type": "string",
"description": "Case status.",
"enum": [
"InProgress",
"Done"
]
},
"DueDate": {
"type": "string",
"description": "Due date/time."
},
"Priority": {
"type": "number",
"description": "Priority. Documented values are -2, -1, 0, and 1."
},
"UserIds": {
"type": "array",
"description": "Additional user ids.",
"items": {
"type": "string",
"description": "Related UserId."
}
},
"OtherContactIds": {
"type": "string",
"description": "Other contact ids."
},
"ResultNote": {
"type": "string",
"description": "Result note."
},
"VisibilityType": {
"type": "string",
"description": "Visibility. Documented values include Owner, OwnerGroup, OwnerSubGroup, and All."
},
"Fields": {
"type": "object",
"description": "Custom field values keyed by field Key. FieldType must be Case.",
"additionalProperties": true
},
"LabelIds": {
"type": "array",
"description": "Case label ids.",
"items": {
"type": "string",
"description": "Case label id from get_case_labels."
}
}
},
"required": [
"Title",
"PipelineStageId",
"CaseCategoryId"
]
}
},
"required": [
"Case"
]
},
"tags": [
"case"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "update_case",
"title": "Update Case",
"description": "Update a case. Disabled in v1.",
"entity": "case",
"effect": "write",
"enabled": false,
"method": "POST",
"path": "/api/Case/Save_v2",
"input_schema": {
"type": "object",
"description": "Create or update a case.",
"properties": {
"Case": {
"type": "object",
"description": "Case payload.",
"properties": {
"Id": {
"type": "string",
"description": "Case id."
},
"Title": {
"type": "string",
"description": "Case title."
},
"PipelineStageId": {
"type": "string",
"description": "Case pipeline stage id from get_case_pipelines."
},
"OwnerId": {
"type": "string",
"description": "UserId of the owner."
},
"Description": {
"type": "string",
"description": "Case description."
},
"CompanyId": {
"type": "string",
"description": "Related company id."
},
"PersonId": {
"type": "string",
"description": "Related person id."
},
"CaseCategoryId": {
"type": "string",
"description": "Case category id."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"IsDeleted": {
"type": "boolean",
"description": "Whether the case is deleted."
},
"Status": {
"type": "string",
"description": "Case status.",
"enum": [
"InProgress",
"Done"
]
},
"DueDate": {
"type": "string",
"description": "Due date/time."
},
"Priority": {
"type": "number",
"description": "Priority. Documented values are -2, -1, 0, and 1."
},
"UserIds": {
"type": "array",
"description": "Additional user ids.",
"items": {
"type": "string",
"description": "Related UserId."
}
},
"OtherContactIds": {
"type": "string",
"description": "Other contact ids."
},
"ResultNote": {
"type": "string",
"description": "Result note."
},
"VisibilityType": {
"type": "string",
"description": "Visibility. Documented values include Owner, OwnerGroup, OwnerSubGroup, and All."
},
"Fields": {
"type": "object",
"description": "Custom field values keyed by field Key. FieldType must be Case.",
"additionalProperties": true
},
"LabelIds": {
"type": "array",
"description": "Case label ids.",
"items": {
"type": "string",
"description": "Case label id from get_case_labels."
}
}
},
"required": [
"Id",
"Title",
"PipelineStageId",
"CaseCategoryId"
]
}
},
"required": [
"Case"
]
},
"tags": [
"case"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "search_cases",
"title": "Search Cases",
"description": "Search cases by title, time range, contact, owner, stage, and related deal.",
"entity": "case",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/Case/search",
"input_schema": {
"type": "object",
"description": "Search cases.",
"properties": {
"Criteria": {
"type": "object",
"description": "Case search criteria.",
"properties": {
"SearchTimeField": {
"type": "integer",
"description": "Which date field SearchFromTime and SearchToTime apply to."
},
"SearchFromTime": {
"type": "string",
"description": "Range start."
},
"SearchToTime": {
"type": "string",
"description": "Range end."
},
"ContactIds": {
"type": "array",
"description": "Contact filter.",
"items": {
"type": "string",
"description": "Person id."
}
},
"Keywords": {
"type": "string",
"description": "Text matched against the case title."
},
"OwnerId": {
"type": "string",
"description": "Owner UserId."
},
"PipelineStageId": {
"type": "string",
"description": "Case pipeline stage id."
},
"DealId": {
"type": "string",
"description": "Related deal id."
},
"CustomFields": {
"type": "array",
"description": "Custom-field filters.",
"items": {
"type": "object",
"description": "Case custom-field filter. FieldType must be Case.",
"additionalProperties": true
}
}
}
},
"From": {
"type": "integer",
"description": "Zero-based offset."
},
"Limit": {
"type": "integer",
"description": "Page size."
}
}
},
"pagination": {
"type": "offset_limit",
"offset_field": "From",
"limit_field": "Limit"
},
"tags": [
"case"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_deal_pipelines",
"title": "Get Deal Pipelines",
"description": "List deal pipelines and stages. Official docs: no request body.",
"entity": "pipeline",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/pipeline/list/0",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"pipeline"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_case_pipelines",
"title": "Get Case Pipelines",
"description": "List case pipelines and stages. Official docs: no request body.",
"entity": "pipeline",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/pipeline/list/1",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"pipeline"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_segments",
"title": "Get Segments",
"description": "List contact segments, or the children of ParentId.",
"entity": "segment",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/Segment/GetList",
"input_schema": {
"type": "object",
"description": "List segments.",
"properties": {
"ParentId": {
"type": "string",
"description": "Optional parent segment id. Omit it to list root segments."
}
}
},
"tags": [
"segment"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_case_labels",
"title": "Get Case Labels",
"description": "List case labels. Official docs: GET with no request body.",
"entity": "label",
"effect": "read",
"enabled": true,
"method": "GET",
"path": "/api/Label/GetCaseLabels",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"label"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_deal_labels",
"title": "Get Deal Labels",
"description": "List deal labels. Official docs: GET with no request body.",
"entity": "label",
"effect": "read",
"enabled": true,
"method": "GET",
"path": "/api/Label/GetDealLabels",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"label"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_tags",
"title": "Get Tags",
"description": "List tags. Official docs: no request body.",
"entity": "tag",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/Tag/GetTagList",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"tag"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_lost_reasons",
"title": "Get Lost Reasons",
"description": "List deal lost reasons. Official docs: no request body.",
"entity": "deal",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/Deal/GetLostReasons",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"deal"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_sources",
"title": "Get Sources",
"description": "List lead sources. Official docs: no request body.",
"entity": "source",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/Source/GetList",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"source"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
},
{
"name": "get_locations",
"title": "Get Locations",
"description": "List countries, provinces, and cities. Official docs: no request body.",
"entity": "location",
"effect": "read",
"enabled": true,
"method": "POST",
"path": "/api/shared/GetLocations",
"input_schema": {
"type": "object",
"description": "Official Didar docs: this request has no body.",
"additionalProperties": false
},
"tags": [
"location"
],
"content_type": "application/json",
"response_root": "Response",
"timeout_seconds": 30
}
]