Läs och skriv i Mobigo över HTTP: uppdrag, kunder, artiklar, offerter, ordrar, avtal, tid, material och dokument.
Du behöver ett clientId och en API-nyckel från den som driftar Mobigo. Nyckeln visas en enda gång, när integrationen skapas.
curl -H "Authorization: Bearer mk_..." \
"https://mobigo-api.kundens-server.se/v1/whoami"
# → {"integration":"Webshop","tenant":"Demo","scopes":["tasks:read","tasks:write"]}
/v1/whoami säger vilken integration nyckeln hör till och vad den får göra.
curl -X POST "https://mobigo-api.kundens-server.se/v1/tasks" \
-H "Authorization: Bearer mk_..." \
-H "Idempotency-Key: order-4711" \
-H "Content-Type: application/json" \
-d '{
"customerNr": "10003",
"taskText": "Service av hiss",
"materials": [{ "productNr": "A10001", "quantity": 3 }],
"times": [{ "timeType": "Administrativ tid", "hours": 2 }]
}'
# → {"nr":"U039071","id":105933,
# "materials":[{"id":44821,"productNr":"A10001"}],
# "times":[{"id":100636,"timeType":"Normaltid"}]}
Svaret ger id på varje skapad rad. Med id:t går raden att uppdatera direkt
med PATCH /v1/materials/{id} eller PATCH /v1/times/{id}.
materials[1]: Ingen artikel med nummer "FINNS-EJ".
Allt under /v1 kräver Authorization: Bearer <värde>.
Värdet är antingen nyckeln eller ett token. Båda ger samma bolag, samma behörigheter
och samma IP-spärr.
| Värde | Vad | Livslängd |
|---|---|---|
Bearer mk_… | API-nyckeln | Tills den återkallas |
Bearer mt_… | Token från POST /v1/token |
Max 60 minuter |
Bearer mk_… går den långlivade
hemligheten med i varje anrop. Allt som loggar huvuden på vägen — en omvänd proxy,
ett övervakningsverktyg, en delad Postman-samling — fångar då en nyckel som gäller tills
någon återkallar den. Ett token som läcker på samma sätt dör inom en timme.
Token hämtas med client_credentials:
curl -X POST "https://mobigo-api.kundens-server.se/v1/token" \
-H "Content-Type: application/json" \
-d '{"clientId":"f287ea5c…","clientSecret":"mk_…"}'
# → {"access_token":"mt_…","token_type":"Bearer","expires_in":3600,
# "scope":"tasks:read tasks:write"}
Hämta ett nytt när expires_in löpt ut, eller när ett anrop svarar
401. Det finns ingen refresh — hämtningen är ett anrop och kostar mindre än
att hålla reda på två sorters token.
Den skapas av den som driftar Mobigo, på servern, med
SitterIT.Mobigo.Api keys create. Du kan inte skapa den själv — och det är
meningen: nyckeln knyts till ett bolag och till en Mobigo-signatur, och båda är beslut
som hör hemma hos kunden.
Be om tre saker:
| Du får | Är |
|---|---|
| Adressen | t.ex. https://mobigo-api.kundens-server.se |
clientId |
Integrationens id. Behövs bara för POST /v1/token |
API-nyckeln mk_… |
Visas en enda gång när integrationen skapas, och går aldrig att läsa ut igen |
Säg samtidigt vilka behörigheter du behöver — de sätts när nyckeln skapas och går inte att utöka i efterhand utan en ny nyckel.
Varje resurs har två: <resurs>:read och
<resurs>:write. Saknas behörigheten svarar API:et 403.
Utöver dem gäller Mobigos egna behörigheter för den signatur nyckeln arbetar som. Ett brett scope ger alltså inte mer än vad signaturen får göra i Mobigo.
POST /v1/tasks tar hela uppdragets skrivbara yta. Bara
customerNr är obligatoriskt. Ett utelämnat fält lämnas orört.
| Fält | Typ | Beskrivning |
|---|---|---|
customerNr | text | Krävs. Måste finnas i Mobigo |
nr | text | Uppdragsnummer. Utelämnat tar Mobigos nummerserie över |
taskText | text | Uppdragstext |
taskNote | text | Uppdragsanteckning |
actionText | text | Åtgärdstext |
actionNote | text | Åtgärdsanteckning |
customerOrderer | text | Beställare hos kunden |
customerRef | text | Kundens referens |
ownerSign | text | Ansvarig. Utelämnat blir integrationens egen signatur |
userSigns | lista | Tilldelade användare. Varje signatur måste finnas |
planStartDate | datum | Bara start ger en dag |
planStopDate | datum | Slut på plantiden |
planDateType | text | FromTo, Day, Week, Month
eller Fixed. Förvalt Day |
estimatedTime | tal | Beräknad tid i timmar |
projectNr | text | Projekt. Måste finnas |
priorityName | text | Prioritetens namn i kundens Mobigo |
priceListNr | text | Prislista. Styr priserna på raderna |
object1Nr–object4Nr | text | Kundens egna objekt. Namnet hämtas ur posten |
customT1–customT3 | text | Egna textfält |
customA1–customA3 | text | Egna anteckningsfält |
extraFields | objekt | Kundens egna fält. Se Extrafält |
materials | lista | Materialrader i samma anrop |
times | lista | Tidrader i samma anrop |
curl -X POST "https://mobigo-api.kundens-server.se/v1/tasks" \
-H "Authorization: Bearer mk_..." \
-H "Idempotency-Key: order-4712" \
-H "Content-Type: application/json" \
-d '{
"customerNr": "10003",
"taskText": "Halvårsservice hiss 3",
"taskNote": "Kunden vill ha besked dagen innan.",
"customerRef": "Beställning 88214",
"ownerSign": "AN",
"userSigns": ["AN", "PL"],
"planStartDate": "2026-09-14",
"planStopDate": "2026-09-16",
"planDateType": "FromTo",
"estimatedTime": 6.5,
"projectNr": "P-204",
"priorityName": "Hög",
"object1Nr": "HISS-0031",
"customT1": "Serviceavtal",
"extraFields": { "Visma_Ordernr.": "VO-4711" },
"materials": [{ "productNr": "A10001", "quantity": 3 }],
"times": [{ "timeType": "Normaltid", "hours": 4 }]
}'
POST /v1/tasks/{nr}/status, som går genom Mobigos egna
övergångsregler.
Båda skapas med sina rader i ett anrop. Går någon rad fel rullas hela posten tillbaka — en halv order hos kunden ser ut som en riktig och blir aldrig kompletterad.
curl -X POST "https://mobigo-api.kundens-server.se/v1/orders" \
-H "Authorization: Bearer mk_..." \
-H "Idempotency-Key: order-B-4711" \
-H "Content-Type: application/json" \
-d '{
"customerNr": "10018",
"supplierNr": "L00001",
"userSign": "AN",
"customerOrderer": "Anna Beställare",
"orderDate": "2026-08-20",
"deliveryDate": "2026-09-14",
"deliveryName": "Ekehamn Bygg AB",
"deliveryAddressLine1": "Verkstadsgatan 8",
"deliveryPostalCode": "417 05",
"deliveryCity": "Göteborg",
"internalNote": "Ringer före leverans",
"lines": [
{ "productNr": "10053", "quantity": 5, "supplierNr": "L00001" },
{ "productNr": "A10001", "quantity": 2 },
{ "productNr": "A10002", "quantity": 1, "price": 1250 }
]
}'
# → { "Nr": "B00065", "Status": "Planned", "CustomerNr": "10018",
# "SupplierNr": "L00001", "OrderDate": "2026-08-20T00:00:00", … }
Numret kommer ur Mobigos nummerserie. orderDate blir dagens datum om det
utelämnas, och artikelns enhet och namn hämtas ur artikelregistret.
supplierNr på en rad bara när just den raden köps från någon
annan.
price står raden
med noll.
POST https://mobigo-api.kundens-server.se/v1/orders/B00065/lines
Idempotency-Key: rad-B00065-4
{ "productNr": "A10003", "quantity": 2, "deliveryDate": "2026-09-20" }
# → { "id": 10011, "orderNr": "B00065", "productNr": "A10003", "totalPrice": 1900 }
PATCH rör bara de fält du skickar. Resten lämnas som Mobigo har dem.
curl -X PATCH "https://mobigo-api.kundens-server.se/v1/orders/B00065" \
-H "Authorization: Bearer mk_..." \
-H "Idempotency-Key: order-B00065-lev" \
-H "Content-Type: application/json" \
-d '{ "deliveryDate": "2026-09-21",
"internalNote": "Leverans framflyttad, kunden meddelad" }'
Enskilda rader ändras på sitt id:
PATCH https://mobigo-api.kundens-server.se/v1/orderlines/10011
Idempotency-Key: rad-10011-antal
{ "quantity": 3, "discountPct": 10 }
Offerten bär material- och tidrader, som ett uppdrag — inte orderrader.
curl -X POST "https://mobigo-api.kundens-server.se/v1/quotes" \
-H "Authorization: Bearer mk_..." \
-H "Idempotency-Key: offert-4711" \
-H "Content-Type: application/json" \
-d '{
"customerNr": "10018",
"description": "Hisservice, halvår",
"ownerSign": "AN",
"materials": [
{ "productNr": "A10001", "quantity": 3 },
{ "productNr": "A10002", "quantity": 1 }
],
"times": [
{ "timeType": "Normaltid", "hours": 4 },
{ "timeType": "Normaltid", "hours": 2.5 }
]
}'
quoteDate blir dagens datum och giltighetstiden 30 dagar om de utelämnas.
Hämta tidtypernas namn med
GET /v1/timetypes.
Material- och tidrader hänger på olika sorters poster. ownerType säger vilken
— task, quote, order eller contract.
Utelämnas den tillsammans med ownerNr antas ett uppdrag.
GET https://mobigo-api.kundens-server.se/v1/materials?ownerType=quote&ownerNr=Q00005
GET https://mobigo-api.kundens-server.se/v1/times?ownerType=quote&ownerNr=Q00005
GET https://mobigo-api.kundens-server.se/v1/orderlines?orderNr=B00065
Varje rad säger själv vad den hänger på, i OwnerNr och
OwnerType.
Ett anrop kan gå fram utan att svaret gör det. Utan skydd ger omtagningen kunden två identiska uppdrag.
Idempotency-Key är en sträng du väljer per operation. Kommer samma nyckel
tillbaka med samma innehåll svarar API:et med det första svaret i
stället för att göra om jobbet.
Svaret ekar tillbaka nyckeln och säger om det är ett sparat svar. Ekot finns även på felsvar.
Idempotency-Key: order-4711
Idempotency-Replayed: false ← anropet utfördes nu
Idempotency-Replayed: true ← du fick kvittot på ett tidigare anrop
Idempotency-Key: order-4711 → {"nr":"U039075"}
Idempotency-Key: order-4711 → {"nr":"U039075"} ← samma uppdrag, inget nytt
Idempotency-Key: order-4712 → {"nr":"U039076"} ← ny order, nytt uppdrag
Idempotency-Key: order-4711 + ändrat innehåll → 409
utan huvudet → 400
Alla skrivande anrop kräver huvudet: POST och PATCH, på alla
resurser.
Svaret ser likadant ut för alla resurser:
{ "items": [ … ], "nextCursor": "105935", "page": 1, "total": 65233 }
limit är förvalt 50 och kapas vid 500. total
är null för de resurser Mobigo inte kan räkna.
Konstant snabb oavsett hur djupt du kommer. Använd den vid synk.
GET https://mobigo-api.kundens-server.se/v1/customers?limit=500
# → "nextCursor": "105935"
GET https://mobigo-api.kundens-server.se/v1/customers?limit=500&cursor=105935
nextCursor är var förra sidan slutade. Är den null finns inget
mer att hämta.
GET https://mobigo-api.kundens-server.se/v1/customers?limit=50&page=3
page räknar från början av träfflistan, och
listan är sorterad med det nyaste först. Skapas tio poster medan du bläddrar knuffas alla
äldre rader tio steg ned, så nästa sida börjar med rader du redan hämtat. Markören räknar
inte — den fortsätter från den sista raden du fick — och drabbas därför inte.
GET https://mobigo-api.kundens-server.se/v1/tasks?modifiedSince=2026-08-19T00:00:00Z
Spara Modified från förra körningen och fråga efter allt som ändrats sedan
dess.
Kontaktpersoner och extra adresser är egna poster som hänger på en kund, en leverantör
eller ett objekt. De identifieras med Id, inte med ett nummer.
GET https://mobigo-api.kundens-server.se/v1/contacts?customerNr=10003
# → { "items": [ { "Id": "11311", "CustomerNr": "10003", "Name": "Linus Sedin",
# "Position": "Fastighetschef", "Mobile": "070-1234567",
# "Email": "[email protected]", "MostImportant": true } ],
# "nextCursor": null, "page": 1 }
Utan customerNr listas hela registret. name söker fritext i
namnet.
GET https://mobigo-api.kundens-server.se/v1/contacts?limit=500
GET https://mobigo-api.kundens-server.se/v1/contacts?name=Sedin
GET https://mobigo-api.kundens-server.se/v1/contacts?modifiedSince=2026-08-01T00:00:00Z
POST https://mobigo-api.kundens-server.se/v1/contacts
Idempotency-Key: kontakt-10003-linus
{ "customerNr": "10003", "name": "Linus Sedin",
"position": "Fastighetschef", "email": "[email protected]",
"mobile": "070-1234567", "mostImportant": true }
Skicka dem i samma anrop. Avvisas någon kontakt rullas hela kunden tillbaka.
POST https://mobigo-api.kundens-server.se/v1/customers
Idempotency-Key: kund-storfors
{
"name": "Storfors Service AB",
"addressLine1": "Storgatan 1",
"postalCode": "412 50",
"city": "Göteborg",
"contacts": [
{ "name": "Linus Sedin", "position": "Fastighetschef",
"email": "[email protected]", "mostImportant": true },
{ "name": "Anna Ek", "position": "Ekonomi", "email": "[email protected]" }
]
}
Numret utelämnades, så Mobigos nummerserie satte det. Svaret innehåller kunden med sitt
Nr.
Samma fält, egen väg: /v1/suppliercontacts med supplierNr.
Extra adresser — leverans, faktura, besök. Ägaren måste anges, för adresstabellen är gemensam för kunder, leverantörer och objekt.
GET https://mobigo-api.kundens-server.se/v1/addresses?customerNr=10003
GET https://mobigo-api.kundens-server.se/v1/addresses?objectNr=O1-11840&level=1
Kundens egna fält, definierade i deras Mobigo. De heter vad kunden döpt dem till och kommer alltid som strängar.
Varje resurs beskriver sina extrafält: nyckel, typ, om det går att skriva till och vilka värden ett listfält tillåter.
GET https://mobigo-api.kundens-server.se/v1/customers/extra-fields
# → { "items": [
# { "Key": "Avtals_typ", "Name": "Avtals typ", "Category": "Avtal",
# "Type": "Combo", "Writable": true, "ReadOnly": false, "Computed": false,
# "Options": ["Grundservice", "Incitamentsavtal", "Jouravtal"] },
# { "Key": "Startdatum_avtal", "Name": "Startdatum avtal",
# "Type": "Date", "Writable": true },
# { "Key": "Region", "Name": "Region",
# "Type": "Sql", "Writable": false, "Computed": true }
# ],
# "count": 59 }
Writable: false betyder att en skrivning avvisas — fältet är antingen
skrivskyddat eller beräknat av Mobigo. Options finns bara på listfält.
Samma väg på alla resurser, inklusive uppdrag:
GET https://mobigo-api.kundens-server.se/v1/tasks/extra-fields.
GET https://mobigo-api.kundens-server.se/v1/customers/10003
# → {
# "Nr": "10003",
# "Name": "Storfors Service AB",
# "ExtraFields": {
# "Avtals_typ": "Helservice",
# "Startdatum_avtal": "2024-01-01",
# "Index_regleras": ""
# }
# }
Tomma fält kommer med som tom sträng, så du ser vilka fält som finns. Det är också så du får de exakta namnen.
curl -X PATCH "https://mobigo-api.kundens-server.se/v1/customers/10003" \
-H "Authorization: Bearer mk_..." \
-H "Idempotency-Key: sync-10003-v4" \
-H "Content-Type: application/json" \
-d '{ "extraFields": { "Avtals_typ": "Delservice", "Avtals_nr": "A-9912" } }'
Samma objekt, i samma anrop som uppdraget skapas:
curl -X POST "https://mobigo-api.kundens-server.se/v1/tasks" \
-H "Authorization: Bearer mk_..." \
-H "Idempotency-Key: order-4713" \
-H "Content-Type: application/json" \
-d '{
"customerNr": "10003",
"taskText": "Service",
"extraFields": {
"Visma_Ordernr.": "VO-4711",
"Avtals_typ": "Helservice",
"Startdatum": "2026-09-14"
}
}'
Nyckeln är fältets namn i kundens Mobigo, exakt som det står i
ExtraFields när du läser posten. Punkter och understreck ingår i namnet.
Värdet är alltid en sträng, även för datum och tal.
| Svar | Betyder |
|---|---|
Posten har inget extrafält som heter "X". Giltiga: … |
Fälten definieras i Mobigo. Svaret listar de giltiga namnen |
Extrafältet "Region" beräknas av Mobigo (typ Sql) och går inte att
skriva till. |
Fältet räknas fram vid visning. Ett värde dit försvinner spårlöst |
Värdet "imorgon" passar inte extrafältet "TestDatum", som är av typen
Date. |
Mobigo kastar tyst bort värden som inte går att tolka. API:et läser tillbaka och säger ifrån |
Värdena som andra anrop kräver. De är kundens egna, så de går inte att lista i förväg. Alla är läsbara — de sätts i Mobigos administration.
| Väg | Ger | Behövs för |
|---|---|---|
GET /v1/users | Signaturer och namn | ownerSign, userSigns, userSign |
GET /v1/timetypes | Tidtypernas namn | timeType på en tidrad |
GET /v1/pricelists | Prislistornas nummer | priceListNr |
GET /v1/field-names | Kundens namn på standardfälten | att visa fälten som användaren känner igen |
GET https://mobigo-api.kundens-server.se/v1/timetypes
# → { "items": [ { "Name": "Normaltid", "Unit": "tim", "BasePrice": 750,
# "InternalType": false, "SpecOptions": ["Felsökning", "Byte"] } ] }
Custom1–Custom4 heter något annat hos kunden.
/v1/field-names säger vad.
GET https://mobigo-api.kundens-server.se/v1/field-names
# → { "items": [
# { "DbFieldName": "CustCustom1", "UserFieldName": "Post adress",
# "ListOnly": false, "Hidden": false },
# { "DbFieldName": "TaskCustom1", "UserFieldName": "Serviceavtal",
# "ListOnly": true, "Hidden": false }
# ] }
DbFieldName är namnet API:et använder. UserFieldName är kundens
etikett. Hidden betyder att fältet inte visas i Mobigo.
Mobigo geokodar sina poster själv, mot den karttjänst och de regler kunden satt upp. API:et läser den positionen och kan be Mobigo räkna om den, men geokodar aldrig själv.
GET https://mobigo-api.kundens-server.se/v1/tasks/U039079/location
# → { "Latitude": 57.7089, "Longitude": 11.9746,
# "Address": "Storgatan 1, 412 50 Göteborg",
# "Status": "Ok", "SourceType": "Address", "Provider": "GoogleMaps",
# "Fixed": false, "Ambiguous": false }
?locate=true räknar om positionen först, från uppdragets kund, objekt eller
adress. ?force=true gör om det även när en position redan finns.
Latitude och Longitude är null när posten saknar
position. Status säger varför: NoAddress,
AddressNotFound, AddressInvalid, Pending eller
Error.
För adresser som inte går att slå upp. En fast position skrivs aldrig över av Mobigos egen geokodning.
PUT https://mobigo-api.kundens-server.se/v1/tasks/U039079/location
Idempotency-Key: pos-U039079
{ "latitude": 57.7089, "longitude": 11.9746,
"address": "Byggarbetsplats, Ringön" }
Samma två vägar finns på alla resurser:
/v1/customers/10003/location,
/v1/objects1/O1-11840/location och så vidare.
Tre anrop: bifoga, lista och hämta. Listan och innehållet är åtskilda — ett uppdrag kan ha bilagor på tiotals megabyte.
POST /v1/tasks/U039079/documents
Idempotency-Key: bilaga-4711
{ "name": "arbetsorder.pdf", "contentBase64": "JVBERi0xLjQK..." }
201 { "id": 60728, "nr": "U039079", "name": "arbetsorder.pdf" }
GET /v1/tasks/U039079/documents
{ "items": [ { "Id": 60728, "Name": "arbetsorder.pdf", "DocType": "EMBED",
"Kind": "embedded", "IsInternal": false, "HasContent": true,
"Modified": "2026-08-19T22:41:23.72" } ],
"count": 1 }
GET /v1/tasks/U039079/documents/60728
200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename=arbetsorder.pdf
<filens innehåll>
Kind säger vad dokumentet är:
| Kind | Vad det är | Vad du får |
|---|---|---|
embedded | Filen ligger i Mobigo | filen som den är |
link | Pekar på en sökväg utanför Mobigo | filen hämtas från sökvägen |
html | HTML-innehåll i Mobigo | |
other | Har bara en utskriftsmall | PDF, renderad ur mallen |
Mobigos egen dokumenthantering gör jobbet i alla fyra fallen. Därför kan
Content-Type bli application/pdf även när filnamnet slutar på
något annat — typen kommer från innehållet, inte från namnet. Saknar namnet filändelse
läggs rätt ändelse på i Content-Disposition.
En länk vars sökväg är otillgänglig från servern ger 422 med besked om det,
inte en tom fil.
Alla fel är application/problem+json enligt RFC 9457.
{ "type": "https://sitterit.se/problems/command_failed",
"title": "command_failed",
"status": 422,
"detail": "Ingen artikel med nummer FINNS-EJ." }
| Kod | Betyder | Vad du gör |
|---|---|---|
| 400 | Anropet är fel: saknad Idempotency-Key, okänt
fältnamn, trasig JSON | Rätta anropet |
| 401 | Nyckeln saknas, är fel eller återkallad | Kontrollera nyckeln |
| 403 | Nyckeln är giltig men saknar behörigheten | Be om ett bredare scope |
| 409 | Idempotency-Key återanvänd med annat innehåll |
Använd en ny nyckel |
| 413 | Begäran är större än 32 MB. Base64 gör dokument ungefär en tredjedel större än filen | Skicka färre eller mindre dokument |
| 422 | Anropet var välformat men Mobigo sa nej. Texten är Mobigos egen | Läs texten |
| 429 | För många anrop | Vänta enligt Retry-After |
| 503 | Motorn är nere (engine_unreachable) eller full
(engine_busy) | Försök igen enligt Retry-After |
| 504 | Motorn svarade inte i tid (engine_timeout) |
Försök igen med samma Idempotency-Key |
503 tog motorn aldrig
emot anropet och ett omförsök är riskfritt. Vid 504 kan den ha hunnit skriva
innan den slutade svara — försök igen med samma Idempotency-Key.
X-Request-IdVarje svar bär X-Request-Id. Felsvar har samma värde i fältet
requestId. Ange det i supportärenden.
{ "type": "https://sitterit.se/problems/command_failed",
"title": "command_failed",
"status": 422,
"detail": "Ingen artikel med nummer FINNS-EJ.",
"requestId": "8d1f55fc02754b1e" }
Skickar du ett eget X-Request-Id används det i stället och ekas tillbaka.
Tillåtna tecken är bokstäver, siffror och - _ . :, högst 64.
Varje resurs har samma form: GET /v1/<resurs> för en lista, GET /v1/<resurs>/<nyckel> för en post, och där det är tillåtet POST och PATCH.
customers products suppliers quotes orders orderlines contracts resources projects contacts suppliercontacts addresses users timetypes pricelists objects1 objects2 objects3 objects4 times materials
GET /v1/customers, GET /v1/customers/<Nr>, POST /v1/customers, PATCH /v1/customers/<Nr>
Behörigheter: customers:read, customers:write
Urval: modifiedSince, modifiedBefore, name, category
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
Name | text | ja |
Category | text | ja |
AddressLine1 | text | ja |
AddressLine2 | text | ja |
PostalCode | text | ja |
City | text | ja |
State | text | ja |
Country | text | ja |
Phone | text | ja |
Fax | text | ja |
Email | text | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/products, GET /v1/products/<Nr>, POST /v1/products, PATCH /v1/products/<Nr>
Behörigheter: products:read, products:write
Urval: modifiedSince, modifiedBefore, name, category
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
Name | text | ja |
Category | text | ja |
Unit | text | ja |
BasePrice | tal | ja |
PurchasePrice | tal | ja |
CostPrice | tal | ja |
Barcode | text | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/suppliers, GET /v1/suppliers/<Nr>, POST /v1/suppliers, PATCH /v1/suppliers/<Nr>
Behörigheter: suppliers:read, suppliers:write
Urval: modifiedSince, modifiedBefore, name, category
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
Name | text | ja |
Category | text | ja |
AddressLine1 | text | ja |
AddressLine2 | text | ja |
PostalCode | text | ja |
City | text | ja |
State | text | ja |
Country | text | ja |
Phone | text | ja |
Fax | text | ja |
Email | text | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/quotes, GET /v1/quotes/<Nr>, POST /v1/quotes, PATCH /v1/quotes/<Nr>
Behörigheter: quotes:read, quotes:write
Urval: modifiedSince, modifiedBefore, status, customerNr
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
CustomerNr | text | ja |
CustomerName | text | |
CustomerOrderer | text | ja |
CustomerRef | text | ja |
Description | text | ja |
Note | text | ja |
OwnerSign | text | ja |
QuoteDate | datum (ISO 8601) | ja |
ValidUntilDate | datum (ISO 8601) | ja |
AcceptedDate | datum (ISO 8601) | ja |
PlanStartDate | datum (ISO 8601) | ja |
PlanStopDate | datum (ISO 8601) | ja |
PlanDateType | text | ja |
Object1Nr | text | ja |
Object1Name | text | |
Object2Nr | text | ja |
Object2Name | text | |
Object3Nr | text | ja |
Object3Name | text | |
Object4Nr | text | ja |
Object4Name | text | |
CreatedBy | text | |
CreatedDate | datum (ISO 8601) | |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/orders, GET /v1/orders/<Nr>, POST /v1/orders, PATCH /v1/orders/<Nr>
Behörigheter: orders:read, orders:write
Urval: modifiedSince, modifiedBefore, status, customerNr, supplierNr
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
CustomerNr | text | ja |
CustomerName | text | |
CustomerOrderer | text | ja |
SupplierNr | text | ja |
UserSign | text | ja |
OrderDate | datum (ISO 8601) | ja |
DeliveryDate | datum (ISO 8601) | ja |
DeliveryName | text | ja |
InternalNote | text | ja |
Note | text | ja |
DeliveryAddressLine1 | text | ja |
DeliveryAddressLine2 | text | ja |
DeliveryPostalCode | text | ja |
DeliveryCity | text | ja |
DeliveryState | text | ja |
DeliveryCountry | text | ja |
DeliveryAddressId | text | ja |
CreatedBy | text | |
CreatedDate | datum (ISO 8601) | |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/orderlines, GET /v1/orderlines/<Id>, PATCH /v1/orderlines/<Id>
Behörigheter: orderlines:read, orderlines:write
Urval: modifiedSince, modifiedBefore, orderNr, includeZeroQuantity
| Fält | Typ | Skrivbart |
|---|---|---|
Id | text | |
OrderNr | text | ja |
ProductNr | text | ja |
ProductName | text | |
Quantity | tal | ja |
Unit | text | ja |
Price | tal | ja |
PurchasePrice | tal | ja |
PriceListNr | text | ja |
PurchasePriceListNr | text | ja |
SupplierNr | text | ja |
DiscountPct | tal | ja |
DiscountPrice | tal | ja |
TotalPrice | tal | |
DeliveryDate | datum (ISO 8601) | ja |
Note | text | ja |
InternalNote | text | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Modified | datum (ISO 8601) |
GET /v1/contracts, GET /v1/contracts/<Nr>, POST /v1/contracts, PATCH /v1/contracts/<Nr>
Behörigheter: contracts:read, contracts:write
Urval: modifiedSince, modifiedBefore, status, customerNr
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
CustomerNr | text | ja |
CustomerName | text | |
CustomerRef | text | ja |
CustomerOrderer | text | ja |
StartDate | datum (ISO 8601) | ja |
StopDate | datum (ISO 8601) | ja |
LastGenerationDate | datum (ISO 8601) | |
GeneratedStartDate | datum (ISO 8601) | ja |
GeneratedStopDate | datum (ISO 8601) | ja |
IsGenerated | ja/nej | |
Object1Nr | text | ja |
Object1Name | text | |
Object2Nr | text | ja |
Object2Name | text | |
Object3Nr | text | ja |
Object3Name | text | |
Object4Nr | text | ja |
Object4Name | text | |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/resources, GET /v1/resources/<Nr>, POST /v1/resources, PATCH /v1/resources/<Nr>
Behörigheter: resources:read, resources:write
Urval: modifiedSince, modifiedBefore, name, category
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
Name | text | ja |
Category | text | ja |
ProductNr | text | ja |
LogUnit | text | ja |
BasePrice | tal | ja |
CostPrice | tal | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/projects, GET /v1/projects/<Nr>, POST /v1/projects, PATCH /v1/projects/<Nr>
Behörigheter: projects:read, projects:write
Urval: modifiedSince, modifiedBefore, customerNr, owner, status
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
Name | text | ja |
CustomerNr | text | ja |
CustomerName | text | |
CustomerRef | text | ja |
CustomerOrderer | text | ja |
Owner | text | ja |
PlanStartDate | datum (ISO 8601) | ja |
PlanStopDate | datum (ISO 8601) | ja |
Object1Nr | text | ja |
Object1Name | text | |
Object2Nr | text | ja |
Object2Name | text | |
Object3Nr | text | ja |
Object3Name | text | |
Object4Nr | text | ja |
Object4Name | text | |
CreatedBy | text | |
CreatedDate | datum (ISO 8601) | |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/contacts, GET /v1/contacts/<Id>, POST /v1/contacts, PATCH /v1/contacts/<Id>
Behörigheter: contacts:read, contacts:write
Urval: modifiedSince, modifiedBefore, customerNr, name
| Fält | Typ | Skrivbart |
|---|---|---|
Id | text | |
CustomerNr | text | ja |
Status | text | |
Name | text | ja |
Position | text | ja |
Phone | text | ja |
Mobile | text | ja |
Fax | text | ja |
Email | text | ja |
MostImportant | ja/nej | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) |
GET /v1/suppliercontacts, GET /v1/suppliercontacts/<Id>, POST /v1/suppliercontacts, PATCH /v1/suppliercontacts/<Id>
Behörigheter: suppliercontacts:read, suppliercontacts:write
Urval: modifiedSince, modifiedBefore, supplierNr, name
| Fält | Typ | Skrivbart |
|---|---|---|
Id | text | |
SupplierNr | text | ja |
Status | text | |
Name | text | ja |
Position | text | ja |
Phone | text | ja |
Mobile | text | ja |
Fax | text | ja |
Email | text | ja |
MostImportant | ja/nej | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) |
GET /v1/addresses, GET /v1/addresses/<Id>, POST /v1/addresses, PATCH /v1/addresses/<Id>
Behörigheter: addresses:read, addresses:write
Urval: modifiedSince, modifiedBefore, customerNr, supplierNr, objectNr, level
| Fält | Typ | Skrivbart |
|---|---|---|
Id | text | |
CustomerNr | text | ja |
SupplierNr | text | ja |
ObjectNr | text | ja |
Level | tal | ja |
Status | text | |
Name | text | ja |
MostImportant | ja/nej | ja |
AddressLine1 | text | ja |
AddressLine2 | text | ja |
PostalCode | text | ja |
City | text | ja |
State | text | ja |
Country | text | ja |
Phone | text | ja |
Fax | text | ja |
Email | text | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) |
GET /v1/users, GET /v1/users/<Sign>
Behörigheter: users:read, users:write
Urval: modifiedSince, modifiedBefore, name, includePassive, includeArchived
| Fält | Typ | Skrivbart |
|---|---|---|
Sign | text | |
Name | text | |
Status | text | |
Phone | text | |
Mobile | text | |
Email | text | |
Custom1 | text | |
Custom2 | text | |
Custom3 | text | |
Custom4 | text | |
Note | text | |
Modified | datum (ISO 8601) |
GET /v1/timetypes, GET /v1/timetypes/<Name>
Behörigheter: timetypes:read, timetypes:write
Urval: modifiedSince, modifiedBefore, billable, includeArchived
| Fält | Typ | Skrivbart |
|---|---|---|
Name | text | |
Status | text | |
Unit | text | |
BasePrice | tal | |
CostPrice | tal | |
ProductNr | text | |
InternalType | ja/nej | |
ResourceType | ja/nej | |
BookingType | ja/nej | |
Summable | ja/nej | |
ShowInCalendar | ja/nej | |
Color | text | |
SpecOptions | text | |
DateType | text | |
Custom1 | text | |
Custom2 | text | |
Custom3 | text | |
Modified | datum (ISO 8601) |
GET /v1/pricelists, GET /v1/pricelists/<Nr>
Behörigheter: pricelists:read, pricelists:write
Urval: modifiedSince, modifiedBefore, includeArchived
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | |
Name | text | |
Status | text | |
HasMarkupPct | ja/nej | |
MarkupPct | tal | |
Note | text | |
Modified | datum (ISO 8601) |
GET /v1/objects1, GET /v1/objects1/<Nr>, POST /v1/objects1, PATCH /v1/objects1/<Nr>
Behörigheter: objects1:read, objects1:write
Urval: modifiedSince, modifiedBefore, name, category, customerNr
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
Name | text | ja |
Category | text | ja |
CustomerNr | text | ja |
Level | tal | |
ParentNr | text | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/objects2, GET /v1/objects2/<Nr>, POST /v1/objects2, PATCH /v1/objects2/<Nr>
Behörigheter: objects2:read, objects2:write
Urval: modifiedSince, modifiedBefore, name, category, customerNr
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
Name | text | ja |
Category | text | ja |
CustomerNr | text | ja |
Level | tal | |
ParentNr | text | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/objects3, GET /v1/objects3/<Nr>, POST /v1/objects3, PATCH /v1/objects3/<Nr>
Behörigheter: objects3:read, objects3:write
Urval: modifiedSince, modifiedBefore, name, category, customerNr
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
Name | text | ja |
Category | text | ja |
CustomerNr | text | ja |
Level | tal | |
ParentNr | text | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/objects4, GET /v1/objects4/<Nr>, POST /v1/objects4, PATCH /v1/objects4/<Nr>
Behörigheter: objects4:read, objects4:write
Urval: modifiedSince, modifiedBefore, name, category, customerNr
| Fält | Typ | Skrivbart |
|---|---|---|
Nr | text | ja |
Status | text | |
Name | text | ja |
Category | text | ja |
CustomerNr | text | ja |
Level | tal | |
ParentNr | text | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Custom4 | text | ja |
Note | text | ja |
Modified | datum (ISO 8601) | |
ExtraFields | objekt, sträng → sträng | ja |
GET /v1/times, GET /v1/times/<Id>, PATCH /v1/times/<Id>
Behörigheter: times:read, times:write
Urval: modifiedSince, modifiedBefore, ownerNr, ownerType, userSign, invoice
POST /v1/tasks/<nr>/times. En rad utan ägare blir en lös post som aldrig syns på uppdraget, så den vägen finns inte här.| Fält | Typ | Skrivbart |
|---|---|---|
Id | text | |
OwnerNr | text | |
TimeType | text | |
UserSign | text | ja |
Spec | text | ja |
Hours | tal | ja |
InvoiceHours | tal | ja |
Price | tal | ja |
DiscountPct | tal | ja |
Invoice | ja/nej | ja |
ResourceNr | text | ja |
CostPerUnit | tal | ja |
TotalCost | tal | ja |
Date | datum (ISO 8601) | ja |
Sign1By | text | ja |
Sign1Date | datum (ISO 8601) | ja |
Sign2By | text | ja |
Sign2Date | datum (ISO 8601) | ja |
Modified | datum (ISO 8601) |
GET /v1/materials, GET /v1/materials/<Id>, PATCH /v1/materials/<Id>
Behörigheter: materials:read, materials:write
Urval: modifiedSince, modifiedBefore, ownerNr, ownerType, productNr, invoice
POST /v1/tasks/<nr>/materials. En rad utan ägare blir en lös post som aldrig syns på uppdraget, så den vägen finns inte här.| Fält | Typ | Skrivbart |
|---|---|---|
Id | text | |
OwnerNr | text | |
ProductNr | text | |
ProductName | text | |
Unit | text | |
Note | text | ja |
UserSign | text | ja |
Quantity | tal | ja |
InvoiceQuantity | tal | ja |
Price | tal | ja |
DiscountPct | tal | ja |
Invoice | ja/nej | ja |
DeliveryDate | datum (ISO 8601) | ja |
SupplierNr | text | ja |
PurchasePriceListNr | text | ja |
PurchasePrice | tal | ja |
CostPerUnit | tal | ja |
TotalCost | tal | ja |
Custom1 | text | ja |
Custom2 | text | ja |
Custom3 | text | ja |
Sign1By | text | ja |
Sign1Date | datum (ISO 8601) | ja |
Sign2By | text | ja |
Sign2Date | datum (ISO 8601) | ja |
Modified | datum (ISO 8601) |