Verkstofa › API
API fyrir önnur kerfi
Önnur kerfi (bókhaldsstofur, vefverslanir, tímaskráning) geta lesið gögn fyrirtækisins í Verkstofu og búið til viðskiptavini, vörur og drög að reikningum. REST með JSON. Vélræn lýsing: openapi.json (OpenAPI 3.1).
Síðan er búin til sjálfkrafa úr kerfinu sjálfu (2026-10-28) – hún sýnir alltaf nákvæmlega það sem API-ið gerir.
Sandkassi – prófaðu strax
Sandkassalykill bendir á Sýnishorn-fyrirtækið: gervigögn, sömu slóðir og reglur. Hann gildir í 30 daga, 30 köll á mínútu, og sér ekkert annað fyrirtæki. Reikningar sem þú býrð til verða drög í Sýnishorni.
- Skráðu þig inn í Verkstofu (eigandi, stjórnandi eða bókari).
- Opnaðu Uppsetning → API-lyklar → Sandkassalykill og smelltu á Búa til.
- Afritaðu lykilinn – hann sést aðeins einu sinni.
curl -H "Authorization: Bearer $SANDKASSALYKILL" "https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/vorur?staerd=2"
Lykill og réttindi
Eigandi býr til lykil í Uppsetning → API-lyklar, gefur honum heiti og velur réttindi. Verkstofa geymir aðeins fingrafar (SHA-256). Afturkalla má hvenær sem er.
Authorization: Bearer vs_<48 stafir> (eða hausinn X-Api-Lykill)
Grunnslóð: https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1
| Réttindi | Leyfir |
|---|---|
vidskiptavinir:les | GET /vidskiptavinir |
vidskiptavinir:skrifa | POST /vidskiptavinir |
vorur:les | GET /vorur |
vorur:skrifa | POST /vorur |
birgdastada:les | GET /birgdastada |
reikningar:les | GET /reikningar |
reikningar:skrifa | POST /reikningar |
verk:les | GET /verk |
timar:les | GET /timar |
Slóðir (lesa)
Viðskiptavinir
GET /vidskiptavinir · GET /vidskiptavinir/{id}
| Færibreyta | Lýsing |
|---|---|
sida | Síða (frá 1) |
staerd | Stærð síðu (1–200, sjálfgefið 50) |
leit | Frjáls leit |
breytt_eftir | Aðeins breytt eftir þessum tíma (ISO 8601) |
curl -H "Authorization: Bearer $LYKILL" "https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/vidskiptavinir?staerd=2"
Dæmi um svar (sandkassi, gervigögn):
{
"gogn": [
{
"id": "6e39eaae-7b0e-49d0-bc9a-26591290df63",
"land": "IS",
"nafn": "Byggingafélagið Hlíð ehf",
"simi": null,
"postnr": "201",
"stadur": "Kópavogur",
"virkur": true,
"netfang": "netfang@daemi.is",
"stofnad": "2026-10-20T17:10:00.629992+00:00",
"uppfaert": "2026-10-20T17:10:00.629992+00:00",
"kennitala": "0000000000",
"ytra_numer": null,
"heimilisfang": "Hlíðarsmári 40",
"netfang_reikninga": null,
"greidslufrestur_dagar": 30
},
{
"id": "5fc5dc15-ae08-4bda-919f-78e30b272836",
"land": "IS",
"nafn": "Einar Dæmason",
"simi": null,
"postnr": "108",
"stadur": "Reykjavík",
"virkur": true,
"netfang": "netfang@daemi.is",
"stofnad": "2026-10-20T17:10:00.629992+00:00",
"uppfaert": "2026-10-20T17:10:00.629992+00:00",
"kennitala": "0000000000",
"ytra_numer": null,
"heimilisfang": "Melgerði 3",
"netfang_reikninga": null,
"greidslufrestur_dagar": 14
}
],
"sida": 1,
"fjoldi": 8,
"staerd": 2,
"naesta_sida": 2
}
Vörur
GET /vorur · GET /vorur/{id}
| Færibreyta | Lýsing |
|---|---|
sida | Síða (frá 1) |
staerd | Stærð síðu (1–200, sjálfgefið 50) |
leit | Frjáls leit |
breytt_eftir | Aðeins breytt eftir þessum tíma (ISO 8601) |
numer | Vörunúmer (nákvæmt) |
curl -H "Authorization: Bearer $LYKILL" "https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/vorur?staerd=2"
Dæmi um svar (sandkassi, gervigögn):
{
"gogn": [
{
"id": "5f14974b-f0cb-408a-9d04-5f3a4d3f5437",
"virk": true,
"heiti": "Rakavarnardúkur 0,2 mm (rúlla 50 m²)",
"numer": "EIN-DUKUR",
"eining": "rl",
"i_bodi": true,
"lysing": null,
"tegund": "vara",
"vsk_pr": 24,
"stofnad": "2026-10-20T17:10:00.629992+00:00",
"soluverd": 14900,
"uppfaert": "2026-10-20T17:13:07.987883+00:00",
"birgdastyrd": true,
"strikamerki": [
"5690001197975"
]
},
{
"id": "1315c683-5800-4720-a171-bef51b59d24e",
"virk": true,
"heiti": "Steinull 100 mm (pk 3,6 m²)",
"numer": "EIN-STEIN",
"eining": "pk",
"i_bodi": true,
"lysing": null,
"tegund": "vara",
"vsk_pr": 24,
"stofnad": "2026-10-20T17:10:00.629992+00:00",
"soluverd": 5900,
"uppfaert": "2026-10-20T17:13:07.987883+00:00",
"birgdastyrd": true,
"strikamerki": [
"5690001190056"
]
}
],
"sida": 1,
"fjoldi": 28,
"staerd": 2,
"naesta_sida": 2
}
Birgðastaða
GET /birgdastada
| Færibreyta | Lýsing |
|---|---|
sida | Síða (frá 1) |
staerd | Stærð síðu (1–200, sjálfgefið 50) |
numer | Vörunúmer (nákvæmt) |
vara_id | Auðkenni vöru |
curl -H "Authorization: Bearer $LYKILL" "https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/birgdastada?staerd=2"
Dæmi um svar (sandkassi, gervigögn):
{
"gogn": [
{
"heiti": "Rakavarnardúkur 0,2 mm (rúlla 50 m²)",
"lager": 7,
"numer": "EIN-DUKUR",
"stadir": [
{
"lager": 7,
"stadur": "Lager",
"tiltaekt": 7
}
],
"vara_id": "5f14974b-f0cb-408a-9d04-5f3a4d3f5437",
"fratekid": 0,
"tiltaekt": 7,
"vaentanlegt": 0
},
{
"heiti": "Steinull 100 mm (pk 3,6 m²)",
"lager": 85,
"numer": "EIN-STEIN",
"stadir": [
{
"lager": 85,
"stadur": "Lager",
"tiltaekt": 85
}
],
"vara_id": "1315c683-5800-4720-a171-bef51b59d24e",
"fratekid": 0,
"tiltaekt": 85,
"vaentanlegt": 0
}
],
"sida": 1,
"fjoldi": 27,
"staerd": 2,
"naesta_sida": 2
}
Reikningar
GET /reikningar · GET /reikningar/{id}
| Færibreyta | Lýsing |
|---|---|
sida | Síða (frá 1) |
staerd | Stærð síðu (1–200, sjálfgefið 50) |
breytt_eftir | Aðeins breytt eftir þessum tíma (ISO 8601) |
fra | Frá dags. (ÁÁÁÁ-MM-DD) |
til | Til dags. (ÁÁÁÁ-MM-DD) |
stada | Staða |
vidskiptavinur_id | Auðkenni viðskiptavinar |
curl -H "Authorization: Bearer $LYKILL" "https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/reikningar?staerd=2"
Dæmi um svar (sandkassi, gervigögn):
{
"gogn": [
{
"id": "3ee6d374-9893-4e0e-a9c0-3cb3c6b90806",
"vsk": 3576,
"dags": "2026-10-20",
"numer": 20,
"stada": "greitt",
"eindagi": null,
"stofnad": "2026-10-20T17:13:07.987883+00:00",
"upphaed": 18476,
"verk_id": null,
"tilvisun": "Pöntun 11",
"uppfaert": "2026-10-20T17:13:07.987883+00:00",
"gjalddagi": "2026-11-19",
"greitt_kl": "2026-10-20T17:13:07.987883+00:00",
"kredit_fyrir": null,
"pontunarnumer": null,
"upphaed_an_vsk": 14900,
"vidskiptavinur": "Staðgreiðsla",
"vidskiptavinur_id": "236733ad-7102-4349-bfdd-d49d9e2c3ae5"
},
{
"id": "205dceb8-d89a-4746-8aaa-8eab5c03d72a",
"vsk": 4152,
"dags": "2026-10-20",
"numer": 19,
"stada": "greitt",
"eindagi": null,
"stofnad": "2026-10-20T17:13:07.987883+00:00",
"upphaed": 21452,
"verk_id": null,
"tilvisun": "Pöntun 10",
"uppfaert": "2026-10-20T17:13:07.987883+00:00",
"gjalddagi": "2026-11-19",
"greitt_kl": "2026-10-20T17:13:07.987883+00:00",
"kredit_fyrir": null,
"pontunarnumer": null,
"upphaed_an_vsk": 17300,
"vidskiptavinur": "Staðgreiðsla",
"vidskiptavinur_id": "236733ad-7102-4349-bfdd-d49d9e2c3ae5"
}
],
"sida": 1,
"fjoldi": 20,
"staerd": 2,
"naesta_sida": 2
}
Einn reikningur með línum:
{
"id": "88c33ee4-434b-4fca-850a-8761326eac62",
"vsk": 336096,
"dags": "2026-10-20",
"linur": [
{
"rod": 1,
"magn": 112,
"eining": "klst",
"lysing": "Dagvinna",
"vsk_pr": 24,
"upphaed": 1332800,
"vara_id": null,
"vorunumer": null,
"einingarverd": 11900
},
{
"rod": 2,
"magn": 4,
"eining": "klst",
"lysing": "Yfirvinna",
"vsk_pr": 24,
"upphaed": 67600,
"vara_id": null,
"vorunumer": null,
"einingarverd": 16900
}
],
"numer": 1,
"stada": "greitt",
"eindagi": null,
"stofnad": "2026-10-20T16:47:54.943271+00:00",
"upphaed": 1736496,
"verk_id": 1000000134,
"tilvisun": null,
"uppfaert": "2026-10-20T16:47:54.943271+00:00",
"gjalddagi": "2026-11-19",
"greitt_kl": "2026-10-20T00:00:00+00:00",
"kredit_fyrir": null,
"pontunarnumer": null,
"upphaed_an_vsk": 1400400,
"vidskiptavinur": "Húsfélagið Lyngás 12",
"vidskiptavinur_id": null
}
Verk
GET /verk · GET /verk/{id}
| Færibreyta | Lýsing |
|---|---|
sida | Síða (frá 1) |
staerd | Stærð síðu (1–200, sjálfgefið 50) |
leit | Frjáls leit |
breytt_eftir | Aðeins breytt eftir þessum tíma (ISO 8601) |
curl -H "Authorization: Bearer $LYKILL" "https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/verk?staerd=2"
Dæmi um svar (sandkassi, gervigögn):
{
"gogn": [
{
"id": 1000000138,
"nafn": "Skólinn í Dalnum – klæðning",
"stada": "Í vinnslu",
"verknr": "V5",
"stofnad": "2026-10-20T16:47:54.943271+00:00",
"uppfaert": "2026-10-21T17:34:24.544966+00:00",
"vidskiptavinur": "Skólinn í Dalnum",
"aaetlud_verklok": null,
"vidskiptavinur_id": "55765b00-6270-4fe4-a35a-47544daa99f3"
},
{
"id": 1000000137,
"nafn": "Hótel Fjörður – þakskipti",
"stada": "Í vinnslu",
"verknr": "V4",
"stofnad": "2026-10-20T16:47:54.943271+00:00",
"uppfaert": "2026-10-21T17:34:24.544966+00:00",
"vidskiptavinur": "Hótel Fjörður ehf",
"aaetlud_verklok": null,
"vidskiptavinur_id": "e154923c-518a-4683-92c3-ec83cfb04d95"
}
],
"sida": 1,
"fjoldi": 5,
"staerd": 2,
"naesta_sida": 2
}
Tímar
GET /timar
| Færibreyta | Lýsing |
|---|---|
sida | Síða (frá 1) |
staerd | Stærð síðu (1–200, sjálfgefið 50) |
fra | Frá dags. (ÁÁÁÁ-MM-DD) – sjálfgefið síðustu 31 dagur, mest 366 |
til | Til dags. (ÁÁÁÁ-MM-DD) |
verk_id | Auðkenni verks |
curl -H "Authorization: Bearer $LYKILL" "https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/timar?staerd=2"
Dæmi um svar (sandkassi, gervigögn):
{
"gogn": [
{
"id": "syn-61-f9e86b",
"ut": "2026-09-28T16:00:00+00:00",
"inn": "2026-09-28T08:00:00+00:00",
"dags": "2026-09-28",
"klst": 8,
"verk": "Hótel Fjörður – þakskipti",
"dv_klst": 8,
"verk_id": 1000000137,
"yv_klst": 0,
"aukaverk": false,
"verklysing": null,
"starfsmadur": "Jón Smiður",
"starfsmadur_id": "m1000121"
},
{
"id": "syn-62-551130",
"ut": "2026-09-28T18:00:00+00:00",
"inn": "2026-09-28T08:00:00+00:00",
"dags": "2026-09-28",
"klst": 10,
"verk": "Skólinn í Dalnum – klæðning",
"dv_klst": 8,
"verk_id": 1000000138,
"yv_klst": 2,
"aukaverk": false,
"verklysing": null,
"starfsmadur": "Anna Málari",
"starfsmadur_id": "m1000122"
}
],
"sida": 1,
"fjoldi": 64,
"staerd": 2,
"naesta_sida": 2
}
Síðuskipting: naesta_sida er null á síðustu síðu.
Búa til (POST)
Viðskiptavinir
POST /vidskiptavinir
Reitir: nafn, kennitala, netfang, netfang_reikninga, simi, gsm, heimilisfang, heimilisfang2, postnr, stadur, land, tengilidur, greidslufrestur_dagar, ytra_numer
curl -X POST -H "Authorization: Bearer $LYKILL" -H "Content-Type: application/json" \
-d '{"nafn": "Dæmi ehf", "kennitala": "0000000000", "netfang": "netfang@daemi.is", "postnr": "101"}' \
https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/vidskiptavinir
Vörur
POST /vorur
Reitir: numer, heiti, lysing, eining, soluverd, vsk_pr, tegund, strikamerki
curl -X POST -H "Authorization: Bearer $LYKILL" -H "Content-Type: application/json" \
-d '{"numer": "V-100", "heiti": "Skrúfur 5×50", "eining": "pk", "soluverd": 1990, "vsk_pr": 24, "tegund": "vara"}' \
https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/vorur
Reikningar
POST /reikningar – alltaf drög
Reitir: vidskiptavinur_id, linur, tilvisun, pontunarnumer, lysing, gjalddagi, verk_id
Línur (linur, 1–500): vara_id, vorunumer, lysing, magn, einingarverd, vsk_pr, afslattur_pr, eining
curl -X POST -H "Authorization: Bearer $LYKILL" -H "Content-Type: application/json" \
-d '{"vidskiptavinur_id": "<uuid>", "tilvisun": "Verk 42", "linur": [{"vorunumer": "V-100", "magn": 2}, {"lysing": "Vinna", "magn": 3, "einingarverd": 9500, "vsk_pr": 24}]}' \
https://uijopyskwnozqbqsmpho.supabase.co/functions/v1/api/v1/reikningar
Villukóðar
| HTTP | Texti (dæmi) |
|---|---|
400 | Tímabil má mest vera 366 dagar · Efni þarf að vera JSON-hlutur · tegund er vara eða thjonusta · vsk_pr er 0, 11 eða 24 |
401 | Lykill vantar eða er ógildur · Lykillinn er útrunninn – búðu til nýjan sandkassalykil |
403 | Sandkassalykill gildir aðeins á sýnishornsfyrirtæki · API er ekki opið fyrir þetta fyrirtæki · Lykillinn hefur ekki réttindin |
404 | Óþekkt slóð · Finnst ekki |
405 | POST er aðeins leyft á /v1/vidskiptavinir, /v1/vorur og /v1/reikningar · Aðeins GET og POST · Aðferð ekki leyfð á þessari slóð |
409 | Viðskiptavinur með þessa kennitölu er þegar til · Vörunúmer er þegar til |
413 | Efni of stórt (mest 1 MB) |
422 | Viðskiptavinur finnst ekki · Vörunúmer finnst ekki: |
429 | Of margar rangar tilraunir – reyndu aftur síðar · Hámark |
500 | Villa – reyndu aftur síðar |
Hraðatakmörk
- Per lykil: sjálfgefið 120 köll á mínútu (sandkassi: 30). Umfram →
429meðRetry-After: 60. - Per IP-tölu: mest 300 köll á mínútu yfir alla lykla.
- 20 rangar lyklatilraunir á klukkustund frá sömu IP-tölu → læst í klukkustund.
- Efni POST mest 1 MB; síðustærð mest 200.
Spurningar: hjálparinn í Verkstofu eða Leiðbeiningar.