Oktober Release 2026 - Endnu en omgang nye forbedringer. Denne gang er der særligt tænkt på administratoren!

API Dokumentation

Hvis du har oprettet en API-nøgle via trinnene i denne guide, er du klar til at lave API-kald med Kala.

API-dokumentation

Alle kald laves på https://app.kala.dk/webapiv2/{endpoint}, og svar returneres som JSON. Medmindre andet er angivet, skal api_key sendes som parameter. En ugyldig nøgle returnerer HTTP 401.

Standardværdier for sideinddelte lister er order=asc, page=0 og page_size=5000.

Status

Index

Kontrollerer, at API’et svarer.

GET https://app.kala.dk/webapiv2/Index

Parametre

int company
string apikey

Returnerer

{ "status": "API READY" }

Ping

Validerer API-nøglen.

GET https://app.kala.dk/webapiv2/Ping

Parametre

Returnerer

Kunder

CustomersList

Returnerer en sideinddelt liste over virksomhedens kunder.

GET https://app.kala.dk/webapiv2/CustomersList

Parametre

string api_key
string order = "asc"
int page = 0
int page_size = 5000

Returnerer

[ { "id", "number", "company", "firstname", "lastname", "phone", "email", "cvr", "street_address", "zip" } ]

GetCustomer

Returnerer én kunde ud fra kundenummer. Ukendt kundenummer returnerer HTTP 404.

GET https://app.kala.dk/webapiv2/GetCustomer

Parametre

string api_key
string customerNumber

Returnerer

CreateCustomer

Opretter en kunde.

POST https://app.kala.dk/webapiv2/CreateCustomer

Parametre

string api_key
string firstName
string lastName
string company
string phone
string address
string zip
string email
string cvr
string customerNo = ""
string description = ""
string ean = ""
Dictionary<string,string> additionalFields = null

Returnerer

UpdateCustomer

Opdaterer en eksisterende kunde. Kun felter, der sendes med, ændres.

PUT https://app.kala.dk/webapiv2/UpdateCustomer

Parametre

string api_key
string customerNo
string? firstName, lastName, company, phone, address, zip, email, cvr
string? newCustomerNo, description, ean
int? customerId
Dictionary<string,string>? additionalFields

Returnerer

Medarbejdere

ActiveEmployeesList

Returnerer en sideinddelt liste over aktive medarbejdere.

GET https://app.kala.dk/webapiv2/ActiveEmployeesList

Parametre

string api_key
string order = "asc"
int page = 0
int page_size = 5000

Returnerer

[ { "number", "name", "title", "image", "phone", "isAdmin", "isLeader", "settings": [ { "key", "value" } ] } ]

ActiveEmployee

Returnerer én aktiv medarbejder.

GET https://app.kala.dk/webapiv2/ActiveEmployee

Parametre

string api_key
int employeeNumber

Returnerer

{ "number", "name", "title", "image", "phone", "isAdmin", "isLeader", "settings": [ { "key", "value" } ] }

SetEmployeeSetting

Opretter eller opdaterer én medarbejderindstilling.

POST https://app.kala.dk/webapiv2/SetEmployeeSetting

Parametre

string api_key
int employeeNumber
string key
string value
string friendlyName
string type = "text"

Returnerer

SetEmployeeSettings

Opretter eller opdaterer flere medarbejderindstillinger.

POST https://app.kala.dk/webapiv2/SetEmployeeSettings

Parametre

string api_key
int employeeNumber
Dictionary<string, SettingData> settings

SettingData: { "FriendlyName", "Value", "Type" }

Returnerer

[ { "success", "message" } ]

GetMessageOfTheDay

Returnerer dagens besked for en medarbejder.

GET https://app.kala.dk/webapiv2/GetMessageOfTheDay

Parametre

string api_key
int employeeNumber

Returnerer

Projekter og sager

ProjectsList

Returnerer de sager, medarbejderen har adgang til. Som standard vises kun uafsluttede sager. extraFields kan indeholde includeFinished, isArchived og/eller excludeHidden.

GET https://app.kala.dk/webapiv2/ProjectsList

Parametre

string api_key
int employeeNumber
string order = "asc"
int page = 0
int page_size = 5000
string extraFields = ""

Returnerer

[ { "id", "economyCaseNumber", "name", "company", "isArchived"?, "openTasks": [ { "id", "name", "description" } ] } ]

ProjectsListExtended

Returnerer en udvidet liste over de sager, medarbejderen har adgang til.

GET https://app.kala.dk/webapiv2/ProjectsListExtended

Parametre

string api_key
int employeeNumber
string order = "asc"
int page = 0
int page_size = 5000

Returnerer

[ { "id", "economyCaseNumber", "name", "returnDate", "customerId", "customersCompany", "totalHours", "company", "openTasks": [ { "id", "name", "description", "hours" } ] } ]

GetSimpleHourregistrationProject

Returnerer en enkel projektvisning til timeregistrering.

GET https://app.kala.dk/webapiv2/GetSimpleHourregistrationProject

Parametre

string api_key
int caseId

Returnerer

[ { "id", "economyCaseNumber", "name", "company", "openTasks": [ { "id", "name", "description" } ] } ]

CreateCase

Opretter en sag. Request sendes som JSON i body.

POST https://app.kala.dk/webapiv2/CreateCase

Parametre

string api_key
CreateCaseRequest request

Returnerer

UpdateCase

Opdaterer en sag. Request sendes som JSON i body.

PUT https://app.kala.dk/webapiv2/UpdateCase

Parametre

string api_key
UpdateCaseRequest request

Returnerer

ChangeCaseStatus

Ændrer status på en sag.

PUT https://app.kala.dk/webapiv2/ChangeCaseStatus

Parametre

string api_key
int caseId
string status
string color
int? workerNr

Returnerer

GetLiveReport

Returnerer URL’en til sagens live-rapport.

GET https://app.kala.dk/webapiv2/GetLiveReport

Parametre

string api_key
int caseId

Returnerer

"https://app.kala.dk/..."

GetLiveReportFromCaseNo

Returnerer URL’en til en live-rapport ud fra sagsnummer.

GET https://app.kala.dk/webapiv2/GetLiveReportFromCaseNo

Parametre

string api_key
string caseNo

Returnerer

"https://app.kala.dk/..."

Timeregistrering

HourRegsList

Returnerer timeregistreringer i en periode. Kan filtreres på økonomisagsnummer.

GET https://app.kala.dk/webapiv2/HourRegsList

Parametre

string api_key
DateTime startDate
DateTime endDate
string order = "asc"
int page = 0
int page_size = 5000
string? economyCaseNumber

Returnerer

[ { "id", "caseId", "caseName", "taskName", "workerId", "workerName", "date", "hours", "startTimeStamp", "endTimeStamp", "invoicedRegHours", "startLatitude", "endLatitude", "economySystemId", "sentToEconomy", "salarySystemId", "sentToSalary", "workType", "text", "company", "taskId", "taskSpecialPrice", "taskEst" } ]

HourRegsListExtended

Returnerer en udvidet liste over timeregistreringer i en periode.

GET https://app.kala.dk/webapiv2/HourRegsListExtended

Parametre

string api_key
DateTime startDate
DateTime endDate
string order = "asc"
int page = 0
int page_size = 5000

Returnerer

[ { /* felter fra HourRegsList */ "caseReturnDate", "customerId", "workerNumber" } ]

AddHours

Registrerer timer på en sag og eventuelt en opgave. Timer angives som decimaltal, fx 1,5 for 1 time og 30 minutter.

POST https://app.kala.dk/webapiv2/AddHours

Parametre

string api_key
int employeeNumber
DateTime date
int projectId
double hours
int? taskId
string? startClock
string? endClock
string? worktype

Returnerer

GetWorkerTimesheetData

Returnerer medarbejderens ugerapport for den uge, datoen ligger i, inklusive godkendelsesstatus og timeregistreringer. Datoer returneres i .NET-formatet /Date(ms)/.

GET https://app.kala.dk/webapiv2/GetWorkerTimesheetData

Parametre

string api_key
int workerNr
DateTime date

Returnerer

{ "reportStartDate", "reportEndDate", "submitted", "rejected", "locked", "canUnlock", "rejectReason", "isAccepted", "acceptedBy", "partiallyAccepted", "workerNr", "hourRegistrations": [ { "Id", "isAccepted", "caseName", "caseNumber", "hours", "workType", "date", "text" } ] }

Opgaver og checklister

GetCliItems

Returnerer checklistens elementer for en sag.

GET https://app.kala.dk/webapiv2/GetCliItems

Parametre

string api_key
int caseId

Returnerer

[ { /* checklist-element */ } ]

AddClItems

Tilføjer checklist-elementer til en sag.

POST https://app.kala.dk/webapiv2/AddClItems

Parametre

string api_key
int caseId
int workerNr = 0
List<ChecklistItemDto> clItems

Returnerer

UpdateClItems

Opdaterer checklist-elementer på en sag.

PUT https://app.kala.dk/webapiv2/UpdateClItems

Parametre

string api_key
int caseId
int workerNr = 0
List<ChecklistItemDto> clItems

Returnerer

MarkCliDone

Markerer et checklist-element som udført.

POST https://app.kala.dk/webapiv2/MarkCliDone

Parametre

Returnerer

{ "success": true, "status": "Sucess" }

GetPauseCase

Returnerer medarbejderens pausesag.

GET https://app.kala.dk/webapiv2/GetPauseCase

Parametre

string api_key
int employeeNumber

Returnerer

Kommentarer og filer

UploadFileToCase

Uploader en eller flere filer til en sag. Filer sendes som multipart-felter.

POST (multipart/form-data) https://app.kala.dk/webapiv2/UploadFileToCase

Parametre

string api_key
string caseEconomyNo
int workerNumber
file(s)

Returnerer

AddComment

Tilføjer en kommentar og eventuelle filer.

POST (multipart/form-data) https://app.kala.dk/webapiv2/AddComment

Parametre

string api_key
int workerNumber
int caseId
string text
string fileName = ""
int cliId = 0
bool? visiblePartners
bool? visibleCustomer
file(s)

Returnerer

AddCommentWithoutFiles

Tilføjer en kommentar uden filer. Ved succes returneres kommentarens id.

POST https://app.kala.dk/webapiv2/AddCommentWithoutFiles

Parametre

string api_key
string caseNr
string text
int workerNr
int cliId = 0
bool? visiblePartners
bool? visibleCustomer

Returnerer

UpdateCommentWithFiles

Tilføjer filer til en eksisterende kommentar.

POST (multipart/form-data) https://app.kala.dk/webapiv2/UpdateCommentWithFiles

Parametre

string api_key
int Id
file(s)

Returnerer

Arbejdstyper, jobs og planlægning

GetCompanyWorkTypes

Returnerer virksomhedens arbejdstyper.

GET https://app.kala.dk/webapiv2/GetCompanyWorkTypes

Parametre

Returnerer

[ { /* arbejdstype */ } ]

GetWorkerWorkTypes

Returnerer en medarbejders arbejdstyper.

GET https://app.kala.dk/webapiv2/GetWorkerWorkTypes

Parametre

string api_key
int workerNr

Returnerer

[ { /* arbejdstype */ } ]

GetAllJobs

Returnerer alle jobs for en medarbejder.

GET https://app.kala.dk/webapiv2/GetAllJobs

Parametre

string api_key
int workerNr

Returnerer

GetPlanningEvents

Returnerer planlægningsevents i en periode, eventuelt filtreret på medarbejder.

GET https://app.kala.dk/webapiv2/GetPlanningEvents

Parametre

string api_key
DateTime startDate
DateTime endDate
int? workerNr

Returnerer

[ { /* planlægningsevent */ } ]

Integrationer

SetupExternalSystem

Opsætter et eksternt system med de angivne globale indstillinger.

POST https://app.kala.dk/webapiv2/SetupExternalSystem

Parametre

string api_key
string system
List<GlobalSetting> settings

Returnerer

Flere guides fra samme kategori