Разработчикам
REST API
Пять типов записей, одни и те же пять операций для каждого, JSON на входе и выходе.
https://api.trypromptlab.com/api/v1
Базовый URL
Authorization: Bearer pl_live_…
Заголовок авторизации
- 10 / секунду
- 300 / минуту
- 10 000 / час
Лимиты запросов на ключ · 429
API-ключи
SettingsDevelopersAPI keysВладельцы и администраторы рабочего пространства
- Показывается один раз, при создании.
- Действует от имени создавшего его администратора, с теми же правами.
- Перестаёт работать, если этот человек покинет рабочее пространство.
- Его можно отозвать в любой момент.
Эндпоинты
| GET | /{resource} | Список |
| GET | /{resource}/{id} | Получить одну |
| POST | /{resource} | Создать |
| PATCH | /{resource}/{id} | Изменить |
| DELETE | /{resource}/{id} | Удалить |
Пример
curl -X POST https://api.trypromptlab.com/api/v1/companies \
-H "Authorization: Bearer pl_live_…" \
-H "Content-Type: application/json" \
-d '{"name":"Acme","website":"https://acme.com"}'{
"data": {
"id": "665f1c2a9b1e8a0012ab34cd",
"object": "company",
"name": "Acme",
"website": "https://acme.com",
"createdAt": "2026-10-22T08:15:51.000Z",
"updatedAt": "2026-10-22T08:15:51.000Z"
}
}curl -X PATCH https://api.trypromptlab.com/api/v1/deals/<id> \
-H "Authorization: Bearer pl_live_…" \
-H "Content-Type: application/json" \
-d '{"stage":"QUALIFIED"}'Ответы
{
"data": [ … ],
"pagination": {
"page": 1,
"limit": 10,
"total": 42,
"totalPages": 5
}
}{
"data": {
"id": "665f1c2a…",
"deleted": true
}
}{
"statusCode": 401,
"message": "…",
"error": "invalid_api_key"
}Ошибки
| Статус | Значение |
|---|---|
| 400 | Неверное тело или параметры запроса. Неизвестное поле даёт `property X should not exist`. |
| 401 | Ключ не передан, неверен или отозван |
| 403 | У администратора ключа нет доступа к этой записи или действию |
| 404 | Записи с таким id нет |
| 429 | Превышен лимит: подождите и повторите |
| 500 | Ошибка сервера: повторите позже. Ключ продолжает работать. |
Ресурсы
limit: максимум 100, по умолчанию 10. sortOrder: asc или desc.
/contacts
"object": "contact"| Поле | Тип | Примечания |
|---|---|---|
firstName | string | Обязательное |
lastName | string | |
middleName | string | |
jobTitle | string | |
department | string | |
decisionRole | enum | DECISION_MAKERINFLUENCERTECHNICAL_EVALUATORBUYERPROCUREMENTEND_USERGATEKEEPER |
email | string | |
emails | string[] | |
phone | object | valuelabel: work | mobile | home | other |
phoneNumbers | object[] | valuelabel: work | mobile | home | other |
linkedIn | string | |
address | object | streetAddresscitystatezipCodecountry |
region | string | |
accountId | id→ companies | |
leadId | id→ deals | |
isPrimary | boolean | |
customFields | object |
Фильтры спискаpagelimitsearchaccountIdleadIdsortBysortOrder
/companies
"object": "company"| Поле | Тип | Примечания |
|---|---|---|
name | string | Обязательное |
website | string | |
linkedIn | string | |
phone | string | |
address | object | streetAddresscitystatezipCodecountry |
region | string | |
primaryIndustry | string | |
businessType | enum | MANUFACTURERDISTRIBUTORTRADEREND_USER |
description | string | |
source | string | |
estimatedAnnualRevenue | number | |
employeeCount | number | |
ownerId | id | |
customFields | object |
Фильтры спискаpagelimitsearchprimaryIndustrybusinessTypesortBysortOrder
/deals
"object": "deal"Сделка переводится на другой этап через PATCH с новым stage.
| Поле | Тип | Примечания |
|---|---|---|
name | string | |
accountId | id→ companies | Обязательное |
contactIds | id[]→ contacts | |
assignedSalesOwner | id | |
stage | string | |
priority | enum | LOWMEDIUMHIGH |
source | enum | EXPOLINKEDINDIRECT_MEETINGWEBSITE_INQUIRYDISTRIBUTOR_REFERRALCOLD_CALLEXISTING_CUSTOMER_REFERRALCONFERENCEEMAIL_CAMPAIGNEMAILTRADE_PUBLICATIONSALESFORCEHUBSPOTACUMATICAOTHER |
lossReason | enum | PRICECOMPETITORTIMINGNO_BUDGETPRODUCT_FITOTHER |
closeDate | date | |
estimatedOpportunityValueUSD | number | |
expectedAnnualVolumeMT | number | |
nextFollowUpDate | date | |
customFields | object |
Фильтры спискаpagelimitsearchstageaccountIdcontactIdassignedSalesOwnersortBysortOrder
/notes
"object": "note"| Поле | Тип | Примечания |
|---|---|---|
content | string | Обязательное |
title | string | |
accountId | id→ companies | |
contactId | id→ contacts | |
leadId | id→ deals | |
customFields | object |
Фильтры спискаpagelimitaccountIdcontactIdleadId
/tasks
"object": "task"Задача закрывается через PATCH с "status": "completed".
| Поле | Тип | Примечания |
|---|---|---|
name | string | Обязательное |
description | string | |
assigneeIds | id[] | |
priority | enum | lowmediumhighurgent |
taskType | string | |
dueDate | date | |
accountId | id→ companies | |
contacts | id[]→ contacts | |
opportunityId | id→ deals | |
customFields | object | |
status | enum | Только PATCHtodoin_progresscompletedexpired |
Фильтры спискаpagelimitsearchstatusaccountIdcontactIdopportunityIdsortBysortOrder





