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
{resource} ist einer voncontactscompaniesdealsnotestasks

Beispiel

Anfrage
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"}'
Antwort · 201
{
  "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"
  }
}
PATCH · Anfrage
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

Liste
{
  "data": [ … ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "total": 42,
    "totalPages": 5
  }
}
Löschen
{
  "data": {
    "id": "665f1c2a…",
    "deleted": true
  }
}
Fehler
{
  "statusCode": 401,
  "message": "…",
  "error": "invalid_api_key"
}

Fehler

StatusBedeutung
400Ungültiger Body oder Query. Ein unbekanntes Feld ergibt `property X should not exist`.
401Schlüssel fehlt, ist falsch oder widerrufen
403Der Admin des Schlüssels hat keinen Zugriff auf diesen Datensatz oder diese Aktion
404Kein Datensatz mit dieser id
429Rate-Limit überschritten: warten und erneut versuchen
500Serverfehler: später erneut versuchen. Der Schlüssel bleibt gültig.

Ressourcen

limit: max. 100, Standard 10. sortOrder: asc oder desc.

/contacts

"object": "contact"
FeldTypHinweise
firstNamestringPflicht
lastNamestring
middleNamestring
jobTitlestring
departmentstring
decisionRoleenumDECISION_MAKERINFLUENCERTECHNICAL_EVALUATORBUYERPROCUREMENTEND_USERGATEKEEPER
emailstring
emailsstring[]
phoneobjectvaluelabel: work | mobile | home | other
phoneNumbersobject[]valuelabel: work | mobile | home | other
linkedInstring
addressobjectstreetAddresscitystatezipCodecountry
regionstring
accountIdid→ companies
leadIdid→ deals
isPrimaryboolean
customFieldsobject
ListenfilterpagelimitsearchaccountIdleadIdsortBysortOrder

/companies

"object": "company"
FeldTypHinweise
namestringPflicht
websitestring
linkedInstring
phonestring
addressobjectstreetAddresscitystatezipCodecountry
regionstring
primaryIndustrystring
businessTypeenumMANUFACTURERDISTRIBUTORTRADEREND_USER
descriptionstring
sourcestring
estimatedAnnualRevenuenumber
employeeCountnumber
ownerIdid
customFieldsobject
ListenfilterpagelimitsearchprimaryIndustrybusinessTypesortBysortOrder

/deals

"object": "deal"

Einen Deal verschieben Sie mit PATCH und einer neuen stage.

FeldTypHinweise
namestring
accountIdid→ companiesPflicht
contactIdsid[]→ contacts
assignedSalesOwnerid
stagestring
priorityenumLOWMEDIUMHIGH
sourceenumEXPOLINKEDINDIRECT_MEETINGWEBSITE_INQUIRYDISTRIBUTOR_REFERRALCOLD_CALLEXISTING_CUSTOMER_REFERRALCONFERENCEEMAIL_CAMPAIGNEMAILTRADE_PUBLICATIONSALESFORCEHUBSPOTACUMATICAOTHER
lossReasonenumPRICECOMPETITORTIMINGNO_BUDGETPRODUCT_FITOTHER
closeDatedate
estimatedOpportunityValueUSDnumber
expectedAnnualVolumeMTnumber
nextFollowUpDatedate
customFieldsobject
ListenfilterpagelimitsearchstageaccountIdcontactIdassignedSalesOwnersortBysortOrder

/notes

"object": "note"
FeldTypHinweise
contentstringPflicht
titlestring
accountIdid→ companies
contactIdid→ contacts
leadIdid→ deals
customFieldsobject
ListenfilterpagelimitaccountIdcontactIdleadId

/tasks

"object": "task"

Eine Aufgabe schließen Sie mit PATCH und "status": "completed".

FeldTypHinweise
namestringPflicht
descriptionstring
assigneeIdsid[]
priorityenumlowmediumhighurgent
taskTypestring
dueDatedate
accountIdid→ companies
contactsid[]→ contacts
opportunityIdid→ deals
customFieldsobject
statusenumNur PATCHtodoin_progresscompletedexpired
ListenfilterpagelimitsearchstatusaccountIdcontactIdopportunityIdsortBysortOrder