Entwickler
REST-API
Fünf Datensatztypen, dieselben fünf Operationen für jeden, JSON hinein und heraus.
https://api.trypromptlab.com/api/v1
Basis-URL
Authorization: Bearer pl_live_…
Auth-Header
- 10 / Sekunde
- 300 / Minute
- 10.000 / Stunde
Rate-Limits pro Schlüssel · 429
API-Schlüssel
SettingsDevelopersAPI keysWorkspace-Inhaber und Admins
- Wird einmal angezeigt, beim Erstellen.
- Handelt als der Admin, der ihn erstellt hat, mit denselben Rechten.
- Funktioniert nicht mehr, wenn diese Person den Workspace verlässt.
- Jederzeit widerrufbar.
Endpunkte
| GET | /{resource} | Auflisten |
| GET | /{resource}/{id} | Einen abrufen |
| POST | /{resource} | Erstellen |
| PATCH | /{resource}/{id} | Ändern |
| DELETE | /{resource}/{id} | Löschen |
Beispiel
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"}'Antworten
{
"data": [ … ],
"pagination": {
"page": 1,
"limit": 10,
"total": 42,
"totalPages": 5
}
}{
"data": {
"id": "665f1c2a…",
"deleted": true
}
}{
"statusCode": 401,
"message": "…",
"error": "invalid_api_key"
}Fehler
| Status | Bedeutung |
|---|---|
| 400 | Ungültiger Body oder Query. Ein unbekanntes Feld ergibt `property X should not exist`. |
| 401 | Schlüssel fehlt, ist falsch oder widerrufen |
| 403 | Der Admin des Schlüssels hat keinen Zugriff auf diesen Datensatz oder diese Aktion |
| 404 | Kein Datensatz mit dieser id |
| 429 | Rate-Limit überschritten: warten und erneut versuchen |
| 500 | Serverfehler: später erneut versuchen. Der Schlüssel bleibt gültig. |
Ressourcen
limit: max. 100, Standard 10. sortOrder: asc oder desc.
/contacts
"object": "contact"| Feld | Typ | Hinweise |
|---|---|---|
firstName | string | Pflicht |
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 |
ListenfilterpagelimitsearchaccountIdleadIdsortBysortOrder
/companies
"object": "company"| Feld | Typ | Hinweise |
|---|---|---|
name | string | Pflicht |
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 |
ListenfilterpagelimitsearchprimaryIndustrybusinessTypesortBysortOrder
/deals
"object": "deal"Einen Deal verschieben Sie mit PATCH und einer neuen stage.
| Feld | Typ | Hinweise |
|---|---|---|
name | string | |
accountId | id→ companies | Pflicht |
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 |
ListenfilterpagelimitsearchstageaccountIdcontactIdassignedSalesOwnersortBysortOrder
/notes
"object": "note"| Feld | Typ | Hinweise |
|---|---|---|
content | string | Pflicht |
title | string | |
accountId | id→ companies | |
contactId | id→ contacts | |
leadId | id→ deals | |
customFields | object |
ListenfilterpagelimitaccountIdcontactIdleadId
/tasks
"object": "task"Eine Aufgabe schließen Sie mit PATCH und "status": "completed".
| Feld | Typ | Hinweise |
|---|---|---|
name | string | Pflicht |
description | string | |
assigneeIds | id[] | |
priority | enum | lowmediumhighurgent |
taskType | string | |
dueDate | date | |
accountId | id→ companies | |
contacts | id[]→ contacts | |
opportunityId | id→ deals | |
customFields | object | |
status | enum | Nur PATCHtodoin_progresscompletedexpired |
ListenfilterpagelimitsearchstatusaccountIdcontactIdopportunityIdsortBysortOrder





