> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fintoro.sk/llms.txt
> Use this file to discover all available pages before exploring further.

# Detail CRM udalosti

> Vráti detail jednej CRM udalosti vrátane metadata payloadu a zoznamu príloh.



## OpenAPI

````yaml /openapi.yaml get /contact-activity-logs/{contactActivityLog}
openapi: 3.1.0
info:
  title: Fintoro API v1
  version: 1.0.0
  description: >
    Fintoro API v1 je REST API pre integráciu Fintoro fakturácie, CRM a
    skladového systému do systémov tretích strán.


    Produkčné aj sandboxové firmy používajú rovnakú základnú URL
    `https://app.fintoro.sk/api/public/v1`. O tom, s ktorou firmou pracujete,
    rozhoduje bearer token.


    Voliteľný request header `Accept-Language` lokalizuje systémové názvy v
    lookupoch, v súvisiacich objektoch v odpovediach aj vo validačných chybách.
    Response header `Content-Language` vracia jazyk použitý v odpovedi.


    Pre onboarding a prevádzkové pravidlá si pozrite aj:

    - [Začíname](/getting-started)

    - [Autentifikácia](/authentication)

    - [Webhooky](/webhooks)

    - [Testovanie v sandboxe](/sandbox-testing)

    - [Konvencie API](/conventions)

    - [Chyby a idempotencia](/errors-and-idempotency)
servers:
  - url: https://app.fintoro.sk/api/public/v1
    description: Produkčné Fintoro API.
security:
  - bearerAuth: []
tags:
  - name: Identita tokenu
    description: >-
      Technický read-only endpoint na overenie, ku ktorej firme bearer token
      aktuálne patrí.
  - name: Lookupy
    description: >-
      Endpointy len na čítanie pre integračné dáta. Tieto endpointy vracajú
      číselníky so stabilnými ID, ktoré môžete bezpečne ukladať do cache na
      svojej strane. Pri doplnení nových lookup hodnôt sa existujúce ID nemenia
      ani neprepisujú.
  - name: Číselné rady
    description: >-
      Endpointy len na čítanie nad číselnými radmi. Vracia sa aktuálna
      konfigurácia použitá pri tvorbe dokladov vrátane ďalšieho vygenerovaného
      čísla a variabilného symbolu.
  - name: Subjekty
    description: Vyhľadanie a overenie údajov o subjekte ešte pred vytvorením klienta.
  - name: Klienti
    description: >-
      Správa klientov vrátane fakturačnej adresy, dodacej adresy a klientských
      predvolených hodnôt použiteľných pri tvorbe nových dokladov. Create,
      update a delete operácie môžu emitovať webhook eventy `clients.created`,
      `clients.updated` a `clients.deleted`.
  - name: Dodávatelia
    description: >-
      Správa dodávateľov vrátane fakturačnej adresy a identifikačných údajov
      použiteľných aj pri resolve-or-create flowe skladových príjemiek. Create,
      update a delete operácie môžu emitovať webhook eventy `suppliers.created`,
      `suppliers.updated` a `suppliers.deleted`.
  - name: Stavy obchodných prípadov
    description: >-
      Správa stavov obchodných prípadov. Stavy reprezentujú stĺpce pipeline.
      Endpoint na zmenu poradia v tejto verzii dostupný nie je; pri zmazaní
      stavu sa naviazané obchodné prípady odviažu na `null`. Create, update a
      delete operácie môžu emitovať webhook eventy
      `business-case-statuses.created`, `business-case-statuses.updated` a
      `business-case-statuses.deleted`.
  - name: Obchodné prípady
    description: >-
      Správa obchodných prípadov vrátane vnoreného klienta alebo dodávateľa a
      voliteľného stavu. Zmena poradia ani zmena naviazaného kontaktu cez update
      v tejto verzii dostupné nie sú. Create, update a delete operácie môžu
      emitovať webhook eventy `business-cases.created`, `business-cases.updated`
      a `business-cases.deleted`.
  - name: CRM udalosti
    description: >-
      Správa CRM udalostí pre typy `note`, `email`, `phone_call` a
      `document_linked`. Attachmenty používajú dvojkrokový upload cez samostatný
      endpoint. Create, update a delete operácie môžu emitovať webhook eventy
      `contact-activity-logs.created`, `contact-activity-logs.updated` a
      `contact-activity-logs.deleted`.
  - name: Bankové účty
    description: >-
      Správa bankových účtov vrátane údajov o banke, primárnom účte a stave open
      banking napojenia. Create, update a delete operácie môžu emitovať webhook
      eventy `bank-accounts.created`, `bank-accounts.updated` a
      `bank-accounts.deleted`.
  - name: Webhooky
    description: >-
      Správa odberov webhookov pre Fintoro API. Táto sekcia pokrýva CRUD
      operácie nad odbermi, manuálnu rotáciu secretu a payload kontrakt pre
      integrácie riadené udalosťami. Kontrakt doručenia, overenie podpisu, retry
      mechanizmus a podrobný katalóg eventov nájdete v [príručke
      Webhooky](/webhooks).
  - name: Sklady
    description: >-
      CRUD operácie nad skladmi vrátane inbound a outbound číselných radov.
      Create, update a delete operácie môžu emitovať webhook eventy
      `warehouses.created`, `warehouses.updated` a `warehouses.deleted`.
  - name: Skladové príjemky
    description: >-
      CRUD operácie nad skladovými príjemkami vrátane detailu skladu,
      dodávateľského snapshotu, položiek a `pdfDownloadUrl`. Create, update a
      delete operácie môžu emitovať webhook eventy
      `warehouse-inbound-receipts.created`, `warehouse-inbound-receipts.updated`
      a `warehouse-inbound-receipts.deleted`.
  - name: Skladové výdajky
    description: >-
      CRUD operácie nad skladovými výdajkami vrátane detailu skladu, klientského
      snapshotu, položiek a `pdfDownloadUrl`. Create a update flow používajú
      rovnakú stock availability validáciu ako web. Create, update a delete
      operácie môžu emitovať webhook eventy
      `warehouse-outbound-receipts.created`,
      `warehouse-outbound-receipts.updated` a
      `warehouse-outbound-receipts.deleted`.
  - name: Skladové a cenníkové položky
    description: >-
      CRUD operácie nad skladovými a cenníkovými položkami. Endpointy vracajú
      jednotku ako vnorený objekt, podporujú filtrovanie podľa názvu, EANu,
      skladového kódu, ceny a stavu skladu a používajú rovnaký business kontrakt
      ako administrácia Fintoro pre warehouse evidenciu, EAN a nákupné ceny.
      Create, update a delete operácie môžu emitovať webhook eventy
      `price-list-items.created`, `price-list-items.updated` a
      `price-list-items.deleted`. Zmeny skladového stavu vyvolané skladovými
      príjemkami a výdajkami môžu emitovať webhook event
      `price-list-items.stock-updated`.
  - name: Úhrady dokladov
    description: >-
      Evidencia úhrad pre podporované doklady. Táto sekcia pokrýva zoznam úhrad
      konkrétneho dokladu, vytvorenie novej úhrady, detail jednej úhrady a jej
      zmazanie. Podporované typy dokladov sú `invoice`, `proforma`,
      `credit-note`, `received-invoice` a `received-receipt`. Create a delete
      operácie môžu emitovať webhook eventy `document-payments.created` a
      `document-payments.deleted`. Ak nová úhrada spôsobí, že podporovaný doklad
      sa stane plne uhradeným, môže sa navyše vyemitovať aj zodpovedajúci
      `*.paid` event pre daný resource dokladu.
  - name: Dokladové e-maily
    description: >-
      Odosielanie podporovaných public dokumentov emailom. Endpoint používa
      jednotný kontrakt nad kombináciou `documentType` + `documentId`, validuje
      vlastníctvo dokladu a podporuje typy `invoice`, `proforma`, `order`,
      `credit-note` a `quotation`.
  - name: Faktúry
    description: >-
      CRUD operácie nad faktúrami. Create, update a delete operácie môžu
      emitovať webhook eventy `invoices.created`, `invoices.updated` a
      `invoices.deleted`. Keď sa faktúra po zaevidovaní úhrady stane plne
      uhradenou, môže sa vyemitovať aj `invoices.paid`.
  - name: Dobropisy
    description: >-
      CRUD operácie nad dobropismi. Kontrakt používa camelCase payloady, plný
      `PUT` update flow a explicitnú väzbu na pôvodnú faktúru cez `invoiceId`.
      Klient dobropisu sa vždy odvodzuje zo zvolenej zdrojovej faktúry;
      `clientId` nie je súčasťou request kontraktu a inline client resolution
      ani create flow sa tu nepoužívajú. Create, update a delete operácie môžu
      emitovať webhook eventy `credit-notes.created`, `credit-notes.updated` a
      `credit-notes.deleted`. Keď sa dobropis po zaevidovaní úhrady stane plne
      uhradeným, môže sa vyemitovať aj `credit-notes.paid`.
  - name: Zálohové faktúry
    description: >-
      CRUD operácie nad zálohovými faktúrami. Kontrakt je navrhnutý rovnakou
      filozofiou ako Fintoro API faktúry: camelCase payloady, deterministický
      resolve/create klienta, create-like defaulty a plný `PUT` update flow bez
      patch fallbacku na pôvodný stav dokladu. Create, update a delete operácie
      môžu emitovať webhook eventy `proformas.created`, `proformas.updated`,
      `proformas.deleted` a pri plnom uhradení po zaevidovaní úhrady aj
      `proformas.paid`.
  - name: Objednávky
    description: >-
      CRUD operácie nad objednávkami. Kontrakt používa camelCase payloady,
      deterministický resolve/create klienta, create-like defaulty a plný `PUT`
      update flow bez patch fallbacku na pôvodný stav dokladu. Create, update a
      delete operácie môžu emitovať webhook eventy `orders.created`,
      `orders.updated` a `orders.deleted`.
  - name: Cenové ponuky
    description: >-
      CRUD operácie nad cenovými ponukami. Kontrakt používa camelCase payloady,
      deterministický resolve/create klienta, create-like defaulty a plný `PUT`
      update flow bez patch fallbacku na pôvodný stav dokladu. Create, update a
      delete operácie môžu emitovať webhook eventy `quotations.created`,
      `quotations.updated` a `quotations.deleted`.
paths:
  /contact-activity-logs/{contactActivityLog}:
    parameters:
      - $ref: '#/components/parameters/ContactActivityLogId'
    get:
      tags:
        - CRM udalosti
      summary: Detail CRM udalosti
      description: >-
        Vráti detail jednej CRM udalosti vrátane metadata payloadu a zoznamu
        príloh.
      operationId: showContactActivityLog
      responses:
        '200':
          description: Detail CRM udalosti.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactActivityLog'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
components:
  parameters:
    ContactActivityLogId:
      name: contactActivityLog
      in: path
      required: true
      description: ID kontaktnej aktivity.
      schema:
        type: integer
        example: 551
  headers:
    XRequestId:
      description: >-
        Unikátny identifikátor requestu pre traceovanie, audit a support
        diagnostiku.
      schema:
        type: string
        example: req_public_api_01
    ContentLanguage:
      description: Jazyk vybraný pre request podľa headera `Accept-Language`.
      schema:
        type: string
        example: en
  schemas:
    ContactActivityLog:
      description: Unified CRM udalosť.
      type: object
      properties:
        id:
          description: Interné ID CRM udalosti.
          type: integer
          example: 551
        type:
          description: Typ CRM udalosti.
          type: string
          enum:
            - note
            - email
            - phone_call
            - document_linked
            - document_created
            - document_updated
            - document_deleted
            - document_payment_added
          example: note
        metadata:
          $ref: '#/components/schemas/ContactActivityLogMetadata'
          description: Metadata CRM udalosti pripravené pre Fintoro API response.
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/ContactActivityLogAttachment'
        businessCaseId:
          description: ID obchodného prípadu, ak je aktivita naviazaná na obchodný prípad.
          type:
            - integer
            - 'null'
          example: 501
        clientId:
          description: >-
            ID klienta, ak je aktivita naviazaná priamo na klienta mimo
            obchodného prípadu.
          type:
            - integer
            - 'null'
          example: 101
        supplierId:
          description: >-
            ID dodávateľa, ak je aktivita naviazaná priamo na dodávateľa mimo
            obchodného prípadu.
          type:
            - integer
            - 'null'
          example: 151
        createdAt:
          description: Dátum a čas vytvorenia CRM udalosti.
          type:
            - string
            - 'null'
          format: date-time
          example: '2026-03-10T10:00:00+01:00'
        updatedAt:
          description: Dátum a čas poslednej úpravy CRM udalosti.
          type:
            - string
            - 'null'
          format: date-time
          example: '2026-03-10T10:30:00+01:00'
    ContactActivityLogMetadata:
      description: >-
        Response metadata CRM udalosti prispôsobené pre Fintoro API. Pri
        dokladových typoch obsahujú live naviazaný doklad priamo v
        `relatedDocument` a pri snapshot sumách aj snapshot menu v
        `documentCurrencySnapshot`.
      type: object
      properties:
        content:
          description: >-
            Text poznámky, e-mailu alebo súhrn telefonátu uložený v CRM
            udalosti. Dostupné iba pre response typy `note`, `email` a
            `phone_call`.
          type:
            - string
            - 'null'
          example: Follow-up call summary
        email:
          description: >-
            E-mailová adresa použitá pri CRM udalosti. Dostupné iba pre response
            typ `email`.
          type:
            - string
            - 'null'
          format: email
          example: crm@example.test
        personName:
          description: >-
            Meno osoby, s ktorou prebehol telefonát. Dostupné iba pre response
            typ `phone_call`.
          type:
            - string
            - 'null'
          example: John Caller
        phoneNumber:
          description: >-
            Telefónne číslo osoby, ak bolo zadané. Dostupné iba pre response typ
            `phone_call`.
          type:
            - string
            - 'null'
          example: '+421900000000'
        documentNumberSnapshot:
          description: >-
            Snapshot čísla dokladu uložený pri lifecycle eventoch
            `document_created`, `document_updated` a `document_deleted`.
          type:
            - string
            - 'null'
          example: '20260001'
        documentPriceSnapshot:
          description: >-
            Snapshot sumy s DPH uložený pri lifecycle eventoch
            `document_created` a `document_updated`.
          type:
            - number
            - 'null'
          format: float
          example: 121
        documentCurrencySnapshot:
          description: >-
            Snapshot meny použitej pri snapshot sumách v metadata payload-e.
            Dostupné pri lifecycle eventoch, ktoré vracajú snapshot sumu alebo
            snapshot úhradu.
          anyOf:
            - $ref: '#/components/schemas/Currency'
            - type: 'null'
        paidAmount:
          description: Výška pridanej úhrady uložená pri evente `document_payment_added`.
          type:
            - number
            - 'null'
          format: float
          example: 25.5
        relatedDocument:
          description: >-
            Naviazaný doklad. Dostupné iba pre typy `document_linked`,
            `document_created`, `document_updated`, `document_deleted` a
            `document_payment_added`. `null`, ak naviazaný doklad už neexistuje.
          anyOf:
            - $ref: '#/components/schemas/RelatedDocument'
            - type: 'null'
    ContactActivityLogAttachment:
      description: Jedna príloha naviazaná na CRM udalosť.
      type: object
      properties:
        id:
          description: Interné ID prílohy kontaktnej aktivity.
          type: integer
          example: 9001
        name:
          description: Pôvodný názov súboru.
          type: string
          example: note.pdf
        mimeType:
          description: MIME type prílohy.
          type: string
          example: application/pdf
        url:
          description: Priama URL adresa prílohy, ak je dostupná.
          type: string
          example: https://cdn.fintoro.sk/contact-activity-attachments/note.pdf
    Currency:
      description: Mena dostupná v lookup endpointoch Fintoro API.
      type: object
      properties:
        id:
          description: Stabilné ID meny používané v API.
          type: integer
          example: 1
        symbol:
          description: ISO alebo interný symbol meny.
          type: string
          example: EUR
        name:
          description: >-
            Lokalizovaný názov meny. Ak pošlete `Accept-Language`, backend podľa
            neho preloží systémový label.
          type: string
          example: Euro
        mark:
          description: Skrátená značka meny zobrazovaná vo Fintoro.
          type: string
          example: €
    RelatedDocument:
      description: Live naviazaný doklad vyrátaný backendom z `relatedEntity`.
      type: object
      properties:
        documentType:
          description: Typ naviazaného dokladu.
          type: string
          enum:
            - invoice
            - proforma
            - order
            - quotation
            - credit-note
            - received-invoice
            - received-receipt
            - warehouse-inbound-receipt
            - warehouse-outbound-receipt
          example: invoice
        documentId:
          description: ID naviazaného dokladu.
          type: integer
          example: 301
        name:
          description: Ľudsky čitateľný názov dokladu.
          type: string
          example: Faktúra 20260001
        number:
          description: Číslo dokladu.
          type: string
          example: '20260001'
        issueDate:
          description: Dátum vystavenia dokladu, ak je dostupný.
          type: string
          example: '2026-03-10'
        totalWithVat:
          description: Aktuálna live suma dokladu s DPH, ak je dostupná.
          type:
            - number
            - 'null'
          format: float
          example: 121
        currency:
          description: Aktuálna mena dokladu, ak je dostupná.
          anyOf:
            - $ref: '#/components/schemas/Currency'
            - type: 'null'
  responses:
    Forbidden:
      description: Prístup k zdroju nie je povolený alebo scope.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: This action is unauthorized.
    NotFound:
      description: Požadovaný zdroj sa nenašiel.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: No query results for model.
    TooManyRequests:
      description: >-
        Firma prekročila Fintoro API rate limit. Táto 429 odpoveď nesie tie isté
        `X-RateLimit-Limit` a `X-RateLimit-Remaining` hlavičky ako ostatné
        throttled odpovede a navyše pridáva `Retry-After` a `X-RateLimit-Reset`.
        Ak potrebujete vyšší limit, kontaktujte info@fintoro.sk pre individuálne
        enterprise nastavenie.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
        X-RateLimit-Limit:
          description: >-
            Maximálny počet requestov povolený pre firmu v aktuálnom
            60-sekundovom okne. Túto hlavičku vraciame na všetkých throttled
            odpovediach, nielen pri 429.
          schema:
            type: integer
            example: 120
        X-RateLimit-Remaining:
          description: >-
            Počet requestov, ktoré ešte firme ostávajú v aktuálnom 60-sekundovom
            okne. Túto hlavičku vraciame na všetkých throttled odpovediach,
            nielen pri 429.
          schema:
            type: integer
            example: 0
        Retry-After:
          description: >-
            Počet sekúnd, po ktorých môžete request bezpečne zopakovať. Túto
            hlavičku posielame len pri 429.
          schema:
            type: integer
            example: 60
        X-RateLimit-Reset:
          description: >-
            Unix timestamp, kedy sa aktuálne rate-limit okno resetuje. Túto
            hlavičku posielame len pri 429.
          schema:
            type: integer
            example: 1774810800
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Too Many Attempts.
    InternalServerError:
      description: >-
        Nastala neočakávaná interná chyba. Tento stav by sa nemal vyskytovať pri
        bežnej prevádzke a automaticky ho reportujeme.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Server Error
    ServiceUnavailable:
      description: >-
        API je dočasne nedostupné počas riadenej údržby. Plánovaný výpadok
        oznamujeme minimálne 24 hodín vopred.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
        Content-Language:
          $ref: '#/components/headers/ContentLanguage'
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Service Unavailable
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Token
      description: Bearer token vytvorený pre konkrétnu firmu v Integrácie → API.

````