Lumenbase API-referens

    Lumenbase API är uppbyggt kring REST. Vårt API har förutsägbara resursbaserade URL:er, accepterar JSON som begärandeinnehåll, returnerar JSON-kodade svar och använder standard-HTTP-svarskoder, autentisering och verb.

    Du använder API-nycklar från din arbetsyta för att autentisera begäranden. Skapa och hantera nycklar under Inställningar -> Företagsinställningar -> Integrationer -> API. API-nyckeln avgör vilken arbetsyta begäran gäller.

    Full CRUD finns tillgänglig för Kontakter, Företag, Deals, Tasks, Fakturor och Aktiviteter.

    Bas-URL & autentisering

    https://api.lumenbase.io

    Alla begäranden kräver:

    Authorization: Bearer <YOUR_API_KEY>
    Content-Type: application/json

    Valfritt: X-Idempotency-Key för att förhindra dubbelbearbetning vid återförsök; X-Request-Id för spårning.

    Svarskuvert: Lyckade svar returnerar { success: true, data: { ... }, meta: { request_id, api_version, timestamp } }. Fel returnerar { success: false, error: { code, message, details? }, meta: { ... } }.

    Konfiguration

    1. Gå till Inställningar -> Företagsinställningar -> Integrationer -> API. Klicka "Skapa API-nyckel" och välj de behörigheter du behöver.
    2. Kopiera nyckeln omedelbart: den visas inte igen.
    3. Du kan också skapa en Koppling för att mappa inkommande fält till CRM-fält och ange matchningsregler (för importslutpunkter).

    API-nyckelbehörigheter

    Varje API-nyckel har en eller flera behörigheter som styr vad den kan komma åt. Tilldela bara de behörigheter du behöver.

    FältTypBeskrivning
    contacts:readscopeLäs och lista kontakter
    contacts:writescopeSkapa, uppdatera och radera kontakter
    companies:readscopeLäs och lista företag
    companies:writescopeSkapa, uppdatera och radera företag
    deals:readscopeLäs och lista deals
    deals:writescopeSkapa, uppdatera och radera deals
    tasks:readscopeLäs och lista tasks
    tasks:writescopeSkapa, uppdatera och radera tasks
    invoices:readscopeLäs och lista fakturor
    invoices:writescopeSkapa, uppdatera och radera fakturor
    activities:readscopeLäs och lista aktiviteter
    activities:writescopeSkapa och radera aktiviteter
    readscopeLäsåtkomst till alla entitetstyper
    adminscopeFull åtkomst till alla slutpunkter

    Äldre behörigheter contact_ingest och activity_ingest fungerar fortfarande och mappas till motsvarande läs- och skrivbehörigheter.

    Paginering

    Alla listslutpunkter stöder paginering via frågeparametrar:

    FältTypBeskrivning
    pageintegerSidnummer (standard: 1)
    per_pageintegerObjekt per sida, max 100 (standard: 25)
    sort_bystringFält att sortera efter (varierar per entitet)
    sort_orderstring"asc" eller "desc" (standard: "desc")
    searchstringFritextsökning över nyckelfält

    Paginerat svarsformat:

    {
      "success": true,
      "data": {
        "items": [ ... ],
        "pagination": {
          "page": 1,
          "per_page": 25,
          "total": 142,
          "total_pages": 6
        }
      },
      "meta": { "request_id": "...", "api_version": "1", "timestamp": "..." }
    }

    POST: Skapa / Importera kontakt

    Skapa eller uppdatera kontakter från formulär, landningssidor eller tredjepartssystem. Matchas på e-post; skapar eller länkar eventuellt företag.

    POSThttps://api.lumenbase.io/functions/v1/v1-public-contacts

    Scope:

    contacts:write
    or
    contact_ingest

    Request body:

    {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "phone": "+1-555-123-4567",
      "title": "Product Manager",
      "company_name": "Acme Inc",
      "company_domain": "acme.com",
      "source": "website_form",
      "signal_strength": 75,
      "message": "Interested in your enterprise plan"
    }
    FältTypBeskrivning
    first_namestringKontaktens förnamn
    last_namestringKontaktens efternamn
    emailstringE-post (används för matchning)
    phonestringTelefonnummer
    titlestringJobbtitel
    company_namestringFöretagsnamn (skapas om nytt)
    company_domainstringFöretagsdomän för matchning
    sourcestringLeadkälla
    signal_strengthnumberIntentionssignal 0-100
    messagestringAnteckningar

    201 när ny kontakt skapas; 200 när befintlig kontakt uppdateras.

    POST: Massimportera kontakter

    Importera upp till 100 kontakter i en begäran. Samma fältschema som Kontaktimport.

    POSThttps://api.lumenbase.io/functions/v1/v1-public-contacts-batch

    Scope:

    contacts:write

    {
      "contacts": [
        { "email": "a@example.com", "first_name": "Alice" },
        { "email": "b@example.com", "first_name": "Bob" }
      ],
      "options": { "stop_on_error": false }
    }

    201 alla lyckades; 207 blandat; 400 alla misslyckades. Max 100 kontakter, 500 KB nyttolast.

    GET: Hämta / Lista kontakter

    GEThttps://api.lumenbase.io/functions/v1/v1-public-contacts-crud?id={uuid}

    Hämta en enstaka kontakt via ID.

    GEThttps://api.lumenbase.io/functions/v1/v1-public-contacts-crud?page=1&per_page=25

    Lista kontakter med paginering.

    Scope:

    contacts:read

    Filter:

    FältTypBeskrivning
    emailstringFiltrera på exakt e-post
    company_iduuidFiltrera på företag
    statusstringFiltrera på status
    searchstringSök first_name, last_name, email

    Sortera efter: created_at, updated_at, first_name, last_name, email

    PATCH: Uppdatera kontakt

    PATCHhttps://api.lumenbase.io/functions/v1/v1-public-contacts-crud?id={uuid}

    Scope:

    contacts:write

    {
      "title": "Senior Product Manager",
      "phone": "+1-555-999-0000"
    }

    Uppdaterbara fält: first_name, last_name, email, phone, title, company_id, source, status.

    DELETE: Radera kontakt

    DELETEhttps://api.lumenbase.io/functions/v1/v1-public-contacts-crud?id={uuid}

    Scope:

    contacts:write

    { "success": true, "data": { "deleted": true, "id": "uuid" } }

    POST: Skapa företag

    POSThttps://api.lumenbase.io/functions/v1/v1-public-companies

    Scope:

    companies:write

    Upsert på domän om angiven. Skapar nytt om ingen matchning hittas.

    {
      "name": "Acme Inc",
      "domain": "acme.com",
      "industry": "Technology",
      "size": "51-200",
      "website": "https://acme.com",
      "city": "San Francisco",
      "country": "US"
    }
    FältTypBeskrivning
    namestringFöretagsnamn
    domainstringFöretagsdomän (används för matchning)
    industrystringBransch
    sizestringStorleksintervall
    websitestringWebbplats-URL
    phonestringTelefonnummer
    citystringStad
    statestringStat/region
    countrystringLandskod
    statusstringStatus

    GET: Hämta / Lista företag

    GEThttps://api.lumenbase.io/functions/v1/v1-public-companies?id={uuid}
    GEThttps://api.lumenbase.io/functions/v1/v1-public-companies?page=1&per_page=25

    Scope:

    companies:read

    Filter:

    FältTypBeskrivning
    domainstringFiltrera på exakt domän
    industrystringFiltrera på bransch
    searchstringSök name, domain

    Sortera efter: created_at, updated_at, name, domain

    PATCH: Uppdatera företag

    PATCHhttps://api.lumenbase.io/functions/v1/v1-public-companies?id={uuid}

    Scope:

    companies:write

    { "industry": "SaaS", "size": "201-500" }

    DELETE: Radera företag

    DELETEhttps://api.lumenbase.io/functions/v1/v1-public-companies?id={uuid}

    Scope:

    companies:write

    POST: Skapa deal

    POSThttps://api.lumenbase.io/functions/v1/v1-public-deals

    Scope:

    deals:write

    {
      "title": "Enterprise License: Acme",
      "value": 50000,
      "currency": "USD",
      "stage": "Proposal",
      "expected_close_date": "2026-04-15",
      "company_id": "uuid",
      "contact_id": "uuid"
    }
    FältTypBeskrivning
    titlestring (required)Dealrubrik
    valuenumberDealvärde
    currencystringValutakod (standard: USD)
    stagestringPipelinesteg
    statusstringDealstatus
    probabilitynumberVinstsannolikhet 0-100
    expected_close_datedateFörväntat slutdatum
    company_iduuidKopplat företag
    contact_iduuidKopplad kontakt
    pipeline_iduuidPipeline-ID
    assigned_touuidTilldelad användares ID

    GET: Hämta / Lista deals

    GEThttps://api.lumenbase.io/functions/v1/v1-public-deals?id={uuid}
    GEThttps://api.lumenbase.io/functions/v1/v1-public-deals?page=1&per_page=25

    Scope:

    deals:read

    Filter:

    FältTypBeskrivning
    stagestringFiltrera på steg
    statusstringFiltrera på status
    company_iduuidFiltrera på företag
    pipeline_iduuidFiltrera på pipeline
    searchstringSök title

    Sortera efter: created_at, updated_at, title, value, expected_close_date

    PATCH: Uppdatera deal

    PATCHhttps://api.lumenbase.io/functions/v1/v1-public-deals?id={uuid}

    Scope:

    deals:write

    { "stage": "Negotiation", "probability": 80 }

    DELETE: Radera deal

    DELETEhttps://api.lumenbase.io/functions/v1/v1-public-deals?id={uuid}

    Scope:

    deals:write

    POST: Skapa task

    POSThttps://api.lumenbase.io/functions/v1/v1-public-tasks

    Scope:

    tasks:write

    {
      "title": "Follow up with Acme",
      "description": "Send proposal by Friday",
      "priority": "high",
      "due_date": "2026-03-01",
      "assigned_to": "uuid",
      "contact_id": "uuid",
      "deal_id": "uuid"
    }
    FältTypBeskrivning
    titlestring (required)Taskrubrik
    descriptionstringTaskbeskrivning
    statusstringTaskstatus
    prioritystringPrioritet: low, medium, high, urgent
    due_datedateFörfallodatum
    assigned_touuidTilldelad användares ID
    contact_iduuidKopplad kontakt
    company_iduuidKopplat företag
    deal_iduuidKopplad deal

    GET: Hämta / Lista tasks

    GEThttps://api.lumenbase.io/functions/v1/v1-public-tasks?id={uuid}
    GEThttps://api.lumenbase.io/functions/v1/v1-public-tasks?page=1&per_page=25

    Scope:

    tasks:read

    Filter:

    FältTypBeskrivning
    statusstringFiltrera på status
    prioritystringFiltrera på prioritet
    assigned_touuidFiltrera på tilldelad
    contact_iduuidFiltrera på kontakt
    company_iduuidFiltrera på företag
    deal_iduuidFiltrera på deal
    searchstringSök title

    Sortera efter: created_at, updated_at, title, due_date, priority

    PATCH: Uppdatera task

    PATCHhttps://api.lumenbase.io/functions/v1/v1-public-tasks?id={uuid}

    Scope:

    tasks:write

    { "status": "completed", "description": "Proposal sent" }

    DELETE: Radera task

    DELETEhttps://api.lumenbase.io/functions/v1/v1-public-tasks?id={uuid}

    Scope:

    tasks:write

    POST: Skapa faktura

    POSThttps://api.lumenbase.io/functions/v1/v1-public-invoices

    Scope:

    invoices:write

    {
      "invoice_number": "INV-2026-001",
      "status": "draft",
      "issue_date": "2026-02-19",
      "due_date": "2026-03-19",
      "subtotal": 5000,
      "tax_amount": 500,
      "total": 5500,
      "currency": "USD",
      "company_id": "uuid",
      "contact_id": "uuid",
      "notes": "Net 30"
    }
    FältTypBeskrivning
    invoice_numberstringFakturanummer
    statusstringdraft, sent, paid, overdue, cancelled
    issue_datedateUtfärdandedatum
    due_datedateFörfallodatum
    subtotalnumberDelsumma
    tax_amountnumberSkattebelopp
    totalnumberTotalbelopp
    currencystringValutakod
    company_iduuidKopplat företag
    contact_iduuidKopplad kontakt
    deal_iduuidKopplad deal
    notesstringAnteckningar
    line_itemsjsonRadposter som array

    GET: Hämta / Lista fakturor

    GEThttps://api.lumenbase.io/functions/v1/v1-public-invoices?id={uuid}
    GEThttps://api.lumenbase.io/functions/v1/v1-public-invoices?page=1&per_page=25

    Scope:

    invoices:read

    Filter:

    FältTypBeskrivning
    statusstringFiltrera på status
    company_iduuidFiltrera på företag
    contact_iduuidFiltrera på kontakt
    searchstringSök invoice_number

    Sortera efter: created_at, updated_at, invoice_number, due_date, total, issue_date

    PATCH: Uppdatera faktura

    PATCHhttps://api.lumenbase.io/functions/v1/v1-public-invoices?id={uuid}

    Scope:

    invoices:write

    { "status": "sent", "due_date": "2026-04-01" }

    DELETE: Radera faktura

    DELETEhttps://api.lumenbase.io/functions/v1/v1-public-invoices?id={uuid}

    Scope:

    invoices:write

    POST: Skapa / Importera aktivitet

    POSThttps://api.lumenbase.io/functions/v1/v1-public-activities

    Scope:

    activities:write
    or
    activity_ingest

    Registrera aktiviteter från Jira, supportverktyg, webhooks eller andra externa källor. Länkar till kontakter/företag via e-post eller domän.

    {
      "type": "jira_issue_created",
      "entity_email": "john.doe@example.com",
      "entity_domain": "acme.com",
      "title": "PROJ-123: New Feature Request",
      "description": "Customer requested dashboard export",
      "timestamp": "2026-01-15T10:30:00Z",
      "data": { "issue_key": "PROJ-123", "priority": "high" }
    }

    Aktivitetstyper:

    jira_issue
    support_ticket
    form_submission
    webhook
    external_activity

    Entitetslänkning:

    • entity_email → Kontakt via e-post
    • entity_domain → Företag via domän
    • entity_id → Deal via ID

    GET: Hämta / Lista aktiviteter

    GEThttps://api.lumenbase.io/functions/v1/v1-public-activities-crud?id={uuid}
    GEThttps://api.lumenbase.io/functions/v1/v1-public-activities-crud?page=1&per_page=25

    Scope:

    activities:read

    Filter:

    FältTypBeskrivning
    typestringFiltrera på aktivitetstyp
    contact_iduuidFiltrera på kontakt
    company_iduuidFiltrera på företag
    deal_iduuidFiltrera på deal
    searchstringSök title

    Sortera efter: created_at, type, title

    DELETE: Radera aktivitet

    DELETEhttps://api.lumenbase.io/functions/v1/v1-public-activities-crud?id={uuid}

    Scope:

    activities:write

    Fältmappning (Kopplingar)

    Kopplingar mappar inkommande JSON-fält till CRM-fält. Använd punktnotation för kapslad JSON, t.ex. user.profile.email -> E-post. Kopplingar gäller importslutpunkterna (Kontaktimport, Aktivitetsimport).

    Matchningsregler

    Kontakt: e-post (rekommenderas), telefon eller ID. Företag: domän (rekommenderas), namn eller ID. Deal: ID eller rubrik. Om ingen matchning hittas och nödvändig data anges skapas en ny post.

    Felhantering

    FältTypBeskrivning
    401UNAUTHORIZEDOgiltig eller saknad API-nyckel; använd Bearer <nyckel>
    403FORBIDDENAPI-nyckeln saknar nödvändig behörighet
    400VALIDATION_ERROROgiltig begärandenyttolast eller saknade obligatoriska fält
    404NOT_FOUNDResursen hittades inte
    405METHOD_NOT_ALLOWEDHTTP-metoden stöds inte för den här slutpunkten
    413PAYLOAD_TOO_LARGEBegärandekroppen överskrider maxstorlek (50 KB enstaka, 500 KB batch)
    429RATE_LIMIT_EXCEEDEDFör många begäranden; kontrollera X-RateLimit-* och Retry-After
    500INTERNAL_ERRORServerfel

    Felsvarets innehall:

    {
      "success": false,
      "error": {
        "code": "VALIDATION_ERROR",
        "message": "Human-readable message",
        "details": { }
      },
      "meta": { "request_id": "...", "api_version": "1", "timestamp": "..." }
    }

    Bästa praxis

    • Använd separata kopplingar per källa för att spåra ursprung och anpassa mappning.
    • Inkludera e-post för kontaktmatchning (mest tillförlitligt).
    • Skicka X-Idempotency-Key vid återförsök för att undvika dubbletter.
    • Hastighetsgräns: 100 begäranden/minut per arbetsyta; dagliga gränser 10 000 kontakter och 50 000 aktiviteter. Kontrollera X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset och Retry-After vid 429.
    • Använd detaljerade behörigheter (t.ex. contacts:read) istället för admin för minsta möjliga åtkomst.
    • För massoperationer, använd batchslutpunkten för att minska antalet API-anrop.

    Inte en utvecklare?

    Använd Zapier för att koppla Lumenbase till 6 000+ appar, eller bläddra i kunskapsbasen.

    Behöver du en API-nyckel? Logga in och gå till Inställningar -> Integrationer -> API.