Fejlesztőknek

Egy szervezet CRM-je HTTP-n. Minden kérés a kulcs szervezetére szűkül; nincs paraméter, ami ezt tágítaná.

Ez az oldal ugyanabból a leírásból készül, amit egy eszköz olvas: https://app.helloteam.hu/api/v1/openapi.json

Hitelesítés

Kulcsot a Beállítások → API oldalon hozol létre. Minden kérés fejlécében:

Authorization: Bearer mck_…

Hatókörök: read, write, quotes:write, invoices:write, forms:submit, analytics:write. A read és a write a CRM-et fedi le; az árajánlat és a számla írásához saját hatókör kell (quotes:write, invoices:write), mert azok bizonylatok, amiket az ügyfél megkap. Opcionálisan lejárat és IP-lista (CIDR) is tartozhat hozzá. Percenként 120 kérés.

Korlátok

Kulcsonként 120 kérés percenként. A válasz X-RateLimit-Remaining és 429 esetén Retry-After fejlécet visz. A GET /me a maradék keretet a keret terhelése nélkül adja vissza.

Idempotencia

Minden író kérés fogad egy Idempotency-Key fejlécet. Ugyanazzal a kulccsal 24 órán belül megismételt kérés az első választ kapja vissza (Idempotency-Replayed: true), és nem hoz létre semmit.

Idempotency-Key: order-10042

Hibák

Minden hiba egy JSON objektum: { "error": "<kód>", "detail": ... }.

KódStátuszJelentés
missing_bearer_token401No `Authorization: Bearer` header.
invalid_api_key401Unknown, revoked, or used from an address outside the key's allow-list.
expired_api_key401The key's `expires_at` has passed.
missing_scope:write403The key has only the `read` scope.
plan_refused403The plan is read-only (trial ended) or a counted limit is reached; `detail` carries the code.
not_found404No such record in this organisation: another organisation's id gets the same answer.
idempotency_in_progress409The first request with this `Idempotency-Key` is still running; retry after `Retry-After`.
email_already_exists409A live contact in this organisation already has that address.
validation_failed422The body failed validation; `detail` lists the issues.
no_fields_to_update422A PATCH with no recognised field.
rate_limited429More than 120 requests in a minute; honour `Retry-After`.
missing_scope:quotes:write403Creating or changing a quote needs the `quotes:write` scope.
missing_scope:invoices:write403Creating, changing, issuing or paying an invoice needs the `invoices:write` scope.
not_draft409The quote or invoice is no longer a draft; an issued invoice is reversed with a storno, never edited.
not_payable409A draft is not owed and a cancelled invoice or a storno is owed by nobody.
not_issuable422The draft cannot become a document yet; `detail` says why (e.g. `RATE_REQUIRED`, `VAT_REASON_REQUIRED`).
invalid_target_url422A hook target must resolve to a public address, and be https when the CRM is; `detail` says which rule.
too_many_hooks409This API key already holds the maximum number of hook subscriptions.
unknown_event404Not an event in the webhook catalogue.
missing_scope:analytics:write403Recording website visits needs the `analytics:write` scope.
missing_scope:forms:submit403Submitting a form from another page, or reading its counts, needs the `forms:submit` scope.
submission_refused422The form refused the answers; `detail` names the `reason` (e.g. `missing_required`) and the `field`.

Végpontok

contacts

  • get/api/v1/contactsreadList contacts
    Paraméterek: email (query)status (query: lead|prospect|customer|inactive)updated_since (query)q (query)limit (query)offset (query)
    Válaszok: 200 The page.401 Not authenticated.429 Rate limited.
  • post/api/v1/contactswriteCreate a contact
    Paraméterek: Idempotency-Key (header)
    Törzs: ContactInput
    Válaszok: 201 Created.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.409 A live contact already has that email.422 Validation failed.
  • get/api/v1/contacts/{id}readOne contact
    Paraméterek: id (path)
    Válaszok: 200 The record.404 Not found.
  • patch/api/v1/contacts/{id}writeUpdate a contact
    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: ContactInput
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.
  • delete/api/v1/contacts/{id}writeArchive a contact
    Paraméterek: id (path)Idempotency-Key (header)
    Válaszok: 204 Archived (or removed).401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.

companies

  • get/api/v1/companiesreadList companies
    Paraméterek: q (query)limit (query)offset (query)
    Válaszok: 200 The page.401 Not authenticated.429 Rate limited.
  • post/api/v1/companieswriteCreate a company
    Paraméterek: Idempotency-Key (header)
    Válaszok: 201 Created.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.422 Validation failed.
  • get/api/v1/companies/{id}readOne company
    Paraméterek: id (path)
    Válaszok: 200 The record.404 Not found.
  • patch/api/v1/companies/{id}writeUpdate a company
    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: CompanyPatch
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.
  • delete/api/v1/companies/{id}writeArchive a company
    Paraméterek: id (path)Idempotency-Key (header)
    Válaszok: 204 Archived (or removed).401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.

deals

  • get/api/v1/dealsreadList deals
    Paraméterek: status_kind (query: open|won|lost)contact_id (query)pipeline_id (query)limit (query)offset (query)
    Válaszok: 200 The page.401 Not authenticated.429 Rate limited.
  • post/api/v1/dealswriteOpen a deal

    Without `pipeline_id` the deal goes into the organisation's first pipeline; without `status_id` into that pipeline's first open stage.

    Paraméterek: Idempotency-Key (header)
    Törzs: DealCreate
    Válaszok: 201 Created.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.422 Validation failed.
  • get/api/v1/deals/{id}readOne deal
    Paraméterek: id (path)
    Válaszok: 200 The record.404 Not found.
  • patch/api/v1/deals/{id}writeUpdate a deal's fields

    The stage is not a field: move it with `POST /deals/{id}/status`.

    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: DealPatch
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.
  • delete/api/v1/deals/{id}writeArchive a deal
    Paraméterek: id (path)Idempotency-Key (header)
    Válaszok: 204 Archived (or removed).401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.
  • post/api/v1/deals/{id}/statuswriteMove a deal to another stage

    Writes the stage history, stamps `closed_at`, starts automations waiting on the stage and emits `deal.status_changed` (plus `deal.won` / `deal.lost`). `status_id` must belong to the deal's own pipeline.

    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: DealStatus
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.

tasks

  • get/api/v1/tasksreadList tasks
    Paraméterek: done (query: true|false)priority (query: low|normal|high|urgent)assignee_id (query)entity_id (query)limit (query)offset (query)
    Válaszok: 200 The page.401 Not authenticated.429 Rate limited.
  • post/api/v1/taskswriteCreate a task
    Paraméterek: Idempotency-Key (header)
    Törzs: TaskCreate
    Válaszok: 201 Created.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.422 Validation failed.
  • get/api/v1/tasks/{id}readOne of tasks
    Paraméterek: id (path)
    Válaszok: 200 The record.404 Not found.
  • patch/api/v1/tasks/{id}writeUpdate a task
    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: TaskPatch
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.
  • delete/api/v1/tasks/{id}writeDelete a task
    Paraméterek: id (path)Idempotency-Key (header)
    Válaszok: 204 Archived (or removed).401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.
  • post/api/v1/tasks/{id}/completewriteMark a task done

    Idempotent: an already-completed task keeps its original time and emits nothing.

    Paraméterek: id (path)Idempotency-Key (header)
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.

quotes

  • get/api/v1/quotesreadList quotes
    Paraméterek: status (query: draft|sent|accepted|rejected|expired|cancelled)contact_id (query)company_id (query)limit (query)offset (query)
    Válaszok: 200 The page.401 Not authenticated.429 Rate limited.
  • post/api/v1/quotesquotes:writeCreate a draft quote

    Lines are priced by the same arithmetic the editor and the PDF use (rounded per line, then summed). A zero VAT rate needs a `vat_reason`. The quote is a draft; sending it stays a button somebody presses.

    Paraméterek: Idempotency-Key (header)
    Törzs: QuoteCreate
    Válaszok: 201 Created.401 Not authenticated.403 Missing the `quotes:write` scope, or refused by the plan.422 Validation failed.
  • get/api/v1/quotes/{id}readOne of quotes
    Paraméterek: id (path)
    Válaszok: 200 The record.404 Not found.
  • patch/api/v1/quotes/{id}quotes:writeChange a draft quote

    Drafts only: a quote already in a customer's inbox is changed on the screen, where sending it again freezes a new revision. Fields left out keep their value; `items`, when sent, replaces every line.

    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: QuotePatch
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `quotes:write` scope, or refused by the plan.404 Not found.409 No longer a draft.422 Validation failed.

invoices

  • get/api/v1/invoicesreadList invoices
    Paraméterek: status (query: draft|issued|partial|paid|overdue|cancelled)kind (query: normal|storno|corrective|proforma|advance)contact_id (query)company_id (query)limit (query)offset (query)
    Válaszok: 200 The page.401 Not authenticated.429 Rate limited.
  • post/api/v1/invoicesinvoices:writeCreate a draft invoice

    Written by the same code as the invoice editor: lines priced per line by `lib/money.ts`, the buyer's VAT exemption checked, the addressee frozen. No number: a draft is not a document; issue it with `POST /invoices/{id}/issue`. Dates default to today in the organisation's timezone and the due date to its payment terms.

    Paraméterek: Idempotency-Key (header)
    Válaszok: 201 Created.401 Not authenticated.403 Missing the `invoices:write` scope, or refused by the plan.422 Validation failed.
  • get/api/v1/invoices/{id}readOne of invoices
    Paraméterek: id (path)
    Válaszok: 200 The record.404 Not found.
  • patch/api/v1/invoices/{id}invoices:writeChange a draft invoice

    Drafts only. Fields left out keep their value; `items`, when sent, replaces every line.

    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: InvoicePatch
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `invoices:write` scope, or refused by the plan.404 Not found.409 No longer a draft.422 Validation failed.
  • post/api/v1/invoices/{id}/issueinvoices:writeIssue a draft invoice

    Allocates the number from the series of the invoice's kind and the year of its issue date, in the transaction that writes it, and emits `invoice.issued`. The body is optional; a foreign-currency invoice without `exchange_rate` uses the central bank's rate for the fulfilment date.

    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: InvoiceIssue
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `invoices:write` scope, or refused by the plan.404 Not found.409 No longer a draft.422 Validation failed.
  • post/api/v1/invoices/{id}/paymentsinvoices:writeRecord a payment against an issued invoice

    Send an `Idempotency-Key`: a retried payment is money counted twice.

    Paraméterek: id (path)Idempotency-Key (header)
    Válaszok: 201 Recorded; the invoice's status follows from the sum of its payments.401 Not authenticated.403 Missing the `invoices:write` scope, or refused by the plan.404 Not found.409 Not payable (a draft, cancelled, or a storno).422 Validation failed.

products

  • get/api/v1/productsreadList products
    Paraméterek: active (query: true|false)category (query)kind (query: physical|service|digital|dropship|gift_card)stock (query: untracked|out|low|ok)limit (query)offset (query)
    Válaszok: 200 The page.401 Not authenticated.429 Rate limited.
  • post/api/v1/productswriteCreate a product
    Paraméterek: Idempotency-Key (header)
    Válaszok: 201 Created.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.422 Validation failed.
  • get/api/v1/products/{id}readOne of products
    Paraméterek: id (path)
    Válaszok: 200 The record.404 Not found.
  • patch/api/v1/products/{id}writeUpdate a product
    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: ProductPatch
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.
  • post/api/v1/products/{id}/stockwriteMove stock, or set it to a count

    Stock is a ledger, not a field: `delta` records a movement (restock, return, adjust) and `count` a stocktake as the difference; `count: null` stops tracking. Send one of the two. Refused with 409 when a movement would take stock below zero or the product is not tracked. A product sold in variants (its `options` are not empty) keeps its stock on each variant: send `variant_id`, one of the ids in the product's `variants`, or the request is refused with 422 `variant_required`.

    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: StockMove
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.

orders

  • get/api/v1/ordersreadList orders
    Paraméterek: fulfilment (query: new|confirmed|shipped|delivered|cancelled)payment_status (query: none|pending|paid|failed)contact_id (query)limit (query)offset (query)
    Válaszok: 200 The page.401 Not authenticated.429 Rate limited.
  • get/api/v1/orders/{id}readOne of orders
    Paraméterek: id (path)
    Válaszok: 200 The record.404 Not found.
  • patch/api/v1/orders/{id}writeMove an order's fulfilment

    The same transition table the fulfilment screen enforces: `new` confirms or cancels, `confirmed` ships or cancels, `shipped` delivers, and a delivered or cancelled order is final. `tracking_url` is stored on the move to `shipped`, when the buyer is also mailed. Cancelling returns the order's stock through the inventory ledger.

    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: OrderPatch
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.409 The transition is not allowed from the order's current state.422 Validation failed.

records

  • get/api/v1/recordsreadList records
    Paraméterek: type (query)contact_id (query)company_id (query)deal_id (query)limit (query)offset (query)
    Válaszok: 200 The page.401 Not authenticated.429 Rate limited.
  • post/api/v1/recordswriteCreate a record of a custom type

    `type` is the record type's key. Keys in `custom` the type does not define are dropped and listed in `ignored_fields` in the response.

    Paraméterek: Idempotency-Key (header)
    Törzs: RecordCreate
    Válaszok: 201 Created.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.422 Validation failed.
  • get/api/v1/records/{id}readOne of records
    Paraméterek: id (path)
    Válaszok: 200 The record.404 Not found.
  • patch/api/v1/records/{id}writeUpdate a record
    Paraméterek: id (path)Idempotency-Key (header)
    Törzs: RecordPatch
    Válaszok: 200 Updated.401 Not authenticated.403 Missing the `write` scope, or refused by the plan.404 Not found.422 Validation failed.

meta

  • get/api/v1/mereadThe key, its organisation and the remaining rate budget
    Válaszok: 200 Who is asking.
  • get/api/v1/eventsreadPoll the organisation's event history

    For Zapier, Make and anything else that would rather poll than host an endpoint. Send back `next_cursor` as `since` on the next call. The same events, in the same shape, as the webhooks deliver; thirty days are kept.

    Paraméterek: since (query)event (query: contact.created|contact.updated|deal.created|deal.status_changed|deal.won|deal.lost|quote.accepted|quote.rejected|invoice.paid|form.submitted|task.completed|webshop.order|record.created|record.updated|company.created|company.updated|deal.updated|task.created|quote.created|product.created|product.updated|invoice.issued|lead.received|call.ended|call.missed|survey.answered|order.paid|call.transcribed|ticket.created|ticket.updated|return.created|return.updated|purchase_order.received)limit (query)
    Válaszok: 200 Events after the cursor, oldest first.400 `since` is not a number, or `event` is not in the catalogue.
  • get/api/v1/openapi.jsonThis document
    Válaszok: 200 The OpenAPI 3.1 document.

Webhookok

Egy webhook egy URL és az események listája, a Beállítások → API oldalon. Minden kézbesítés aláírt; a titok forgatható 24 órás átfedéssel.

Aláírás
header X-HelloTeam-Signature
format t=<unix seconds>,v1=<hex hmac-sha256>[,v1=<hex hmac-sha256>]
signed HMAC-SHA256(secret, <t>.<raw body>)

After a secret rotation both the new and the previous secret sign every delivery for 24 hours, so the header carries two `v1` values. Verify against the secret you hold and accept if any `v1` matches.

  • contact.created
    {
      "event": "contact.created",
      "data": {
        "id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "first_name": "Péter",
        "last_name": "Kovács",
        "email": "peter.kovacs@example.hu",
        "phone": "+36 20 123 4567",
        "company_id": null,
        "status": "lead",
        "source": "api",
        "custom": {},
        "created_at": "2026-09-07T10:12:00.000Z"
      }
    }
  • contact.updated
    {
      "event": "contact.updated",
      "data": {
        "id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "first_name": "Péter",
        "last_name": "Kovács",
        "email": "peter.kovacs@example.hu",
        "status": "customer",
        "updated_at": "2026-09-08T08:00:00.000Z"
      }
    }
  • deal.created
    {
      "event": "deal.created",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "title": "Webshop bevezetés",
        "value": 1250000,
        "currency": "HUF",
        "pipeline_id": "c0ffee00-0000-4000-8000-000000000001",
        "status_id": "c0ffee00-0000-4000-8000-000000000002",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "expected_close_date": "2026-10-31"
      }
    }
  • deal.status_changed
    {
      "event": "deal.status_changed",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "title": "Webshop bevezetés",
        "status_id": "c0ffee00-0000-4000-8000-000000000003",
        "status_kind": "open",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a"
      }
    }
  • deal.won
    {
      "event": "deal.won",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "title": "Webshop bevezetés",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "lost_reason": null
      }
    }
  • deal.lost
    {
      "event": "deal.lost",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "title": "Webshop bevezetés",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "lost_reason": "Túl drága"
      }
    }
  • quote.accepted
    {
      "event": "quote.accepted",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "number": "AJ-2026-0042",
        "total": 1587500,
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a"
      }
    }
  • quote.rejected
    {
      "event": "quote.rejected",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "number": "AJ-2026-0042",
        "total": 1587500,
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a"
      }
    }
  • invoice.paid
    {
      "event": "invoice.paid",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "number": "SZ-2026-0107",
        "total": 1587500,
        "paid_amount": 1587500,
        "currency": "HUF",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a"
      }
    }
  • form.submitted
    {
      "event": "form.submitted",
      "data": {
        "form_id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "fields": {
          "email": "peter.kovacs@example.hu",
          "message": "Érdekel az ajánlat."
        }
      }
    }
  • task.completed
    {
      "event": "task.completed",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "title": "Visszahívás",
        "entity_type": "contact",
        "entity_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a"
      }
    }
  • webshop.order
    {
      "event": "webshop.order",
      "data": {
        "order_id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "external_id": "10042",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "deal_id": "c0ffee00-0000-4000-8000-000000000004",
        "total": 24900,
        "currency": "HUF"
      }
    }
  • record.created
    {
      "event": "record.created",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "type_id": "c0ffee00-0000-4000-8000-000000000005",
        "type_key": "ingatlan",
        "title": "Budapest, XIII. ker., 62 m²",
        "owner_id": null
      }
    }
  • record.updated
    {
      "event": "record.updated",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "type_id": "c0ffee00-0000-4000-8000-000000000005",
        "type_key": "ingatlan",
        "title": "Budapest, XIII. ker., 62 m²",
        "owner_id": null
      }
    }
  • company.created
    {
      "event": "company.created",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "name": "Minta Kft.",
        "domain": "minta.hu",
        "email": "info@minta.hu",
        "vat_number": "12345678-2-41",
        "city": "Budapest",
        "country": "HU",
        "custom": {},
        "created_at": "2026-09-07T10:12:00.000Z"
      }
    }
  • company.updated
    {
      "event": "company.updated",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "name": "Minta Kft.",
        "domain": "minta.hu",
        "city": "Debrecen",
        "updated_at": "2026-09-08T08:00:00.000Z"
      }
    }
  • deal.updated
    {
      "event": "deal.updated",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "title": "Webshop bevezetés",
        "value": 1400000,
        "currency": "HUF",
        "status_id": "c0ffee00-0000-4000-8000-000000000002",
        "status_kind": "open",
        "expected_close_date": "2026-11-15"
      }
    }
  • task.created
    {
      "event": "task.created",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "title": "Visszahívás",
        "type": "call",
        "priority": "high",
        "due_at": "2026-09-09T09:00:00.000Z",
        "entity_type": "contact",
        "entity_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a"
      }
    }
  • quote.created
    {
      "event": "quote.created",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "number": "AJ-2026-0042",
        "status": "draft",
        "total": 1587500,
        "currency": "HUF",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a"
      }
    }
  • product.created
    {
      "event": "product.created",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "sku": "WEB-001",
        "name": "Webshop bevezetés",
        "unit": "db",
        "unit_price": 1250000,
        "currency": "HUF",
        "vat_rate": 27,
        "active": true
      }
    }
  • product.updated
    {
      "event": "product.updated",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "sku": "WEB-001",
        "name": "Webshop bevezetés",
        "unit_price": 1350000,
        "active": true
      }
    }
  • invoice.issued
    {
      "event": "invoice.issued",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "number": "SZ-2026-0107",
        "kind": "normal",
        "issue_date": "2026-09-07",
        "due_date": "2026-09-15",
        "total": 1587500,
        "currency": "HUF",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "company_id": null
      }
    }
  • lead.received
    {
      "event": "lead.received",
      "data": {
        "provider": "facebook",
        "lead_id": "1234567890123456",
        "form_id": "987654321098765",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "created": true
      }
    }
  • call.ended
    {
      "event": "call.ended",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "provider": "aircall",
        "direction": "inbound",
        "status": "completed",
        "duration_seconds": 185,
        "from_number": "+36 20 123 4567",
        "to_number": "+36 1 234 5678",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "recording_url": "https://assets.aircall.io/calls/123/recording"
      }
    }
  • call.missed
    {
      "event": "call.missed",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "provider": "twilio",
        "direction": "inbound",
        "status": "missed",
        "duration_seconds": 0,
        "from_number": "+36 20 123 4567",
        "to_number": "+36 1 234 5678",
        "contact_id": null,
        "recording_url": null
      }
    }
  • survey.answered
    {
      "event": "survey.answered",
      "data": {
        "survey_id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "response_id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "kind": "nps",
        "score": 9,
        "comment": "Gyors és pontos munka.",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "deal_id": null
      }
    }
  • order.paid
    {
      "event": "order.paid",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "order_number": "web-3f2c1b7e-0a4d-4c",
        "amount": 25400,
        "currency": "HUF",
        "provider": "stripe"
      }
    }
  • call.transcribed
    {
      "event": "call.transcribed",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "provider": "twilio",
        "direction": "inbound",
        "status": "completed",
        "duration_seconds": 74,
        "from_number": "+36 20 123 4567",
        "to_number": "+36 1 234 5678",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "recording_url": "https://api.twilio.com/rec/1",
        "transcript": "…",
        "summary": "…"
      }
    }
  • ticket.created
    {
      "event": "ticket.created",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "number": "T-00042",
        "subject": "A termék nem indul el",
        "status": "open",
        "priority": "normal",
        "channel": "email",
        "contact_id": "8d1e2f3a-4b5c-4d6e-8f9a-0b1c2d3e4f5a",
        "requester_email": "peter.kovacs@example.hu"
      }
    }
  • ticket.updated
    {
      "event": "ticket.updated",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "number": "T-00042",
        "status": "solved",
        "priority": "high",
        "assigned_to": "c0ffee00-0000-4000-8000-000000000006"
      }
    }
  • return.created
    {
      "event": "return.created",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "number": "RMA-2026-0004",
        "order_id": "9a8b7c6d-5e4f-4a3b-8c7d-6e5f4a3b2c1d"
      }
    }
  • return.updated
    {
      "event": "return.updated",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "status": "received"
      }
    }
  • purchase_order.received
    {
      "event": "purchase_order.received",
      "data": {
        "id": "3f2c9a4e-7b1d-4c2a-9e6f-1a2b3c4d5e6f",
        "number": "PO-00012"
      }
    }

Lekérdezés webhook helyett

Zapier, Make és társai inkább kérdeznek, mint fogadnak: a GET /events?since=<kurzor> ugyanazokat az eseményeket adja vissza, ugyanabban a formában. A válasz next_cursor mezőjét küldd vissza since-ként.

GET /api/v1/events?since=0
→ { "data": [ { "id": "1042", "event": "contact.created", "data": {…}, "created_at": "…" } ],
    "next_cursor": "1042", "has_more": false }

MCP: AI-asszisztensek

Ugyanaz az API kulcs, ugyanazok a jogosultságok és korlátok, a Model Context Protocol felett. Add hozzá távoli MCP-kiszolgálóként, a kulcsot Bearer tokenként küldve.

https://app.helloteam.hu/api/mcp   (MCP 2025-11-25)
  • searchreadSearch contacts, companies and deals by name, email, phone or title, and get back ids, titles and links. The first tool to use for any question naming a person, a company or a deal; follow up with fetch (or get_contact / get_company / get_deal) for the detail. Only records the caller may see are returned. Returns at most 20 results.
  • fetchreadThe full text of one record found by search, by the id search returned (contact:<uuid>, company:<uuid> or deal:<uuid>): its details, open deals and tasks, and the latest timeline entries, as readable text with a link to the record.
  • search_contactsreadFind contacts by name, email, phone or company. Matches the same way the CRM's own search box does, so a partial Hungarian name works. Returns at most 25.
  • get_contactreadOne contact in full, with its deals, open tasks and the last few timeline entries. Use this before answering a question about a person: the search result is deliberately thin.
  • get_companyreadOne company in full: its details, the people who work there, its deals, open tasks and the latest timeline entries.
  • get_dealreadOne deal in full: stage, value, owner, contact and company, the stages of its pipeline (the ids move_deal takes), open tasks and the latest timeline entries.
  • recent_activityreadThe timeline of one contact, company or deal, newest first: notes, calls, meetings, emails, stage moves. Use it for 'what happened with X lately' and before writing a note, so you do not repeat what is already there.
  • list_dealsreadDeals in the pipeline, most recently changed first. Filter by stage kind (open/won/lost), by contact, by company, or to the caller's own (`mine`). `overdue_close` finds open deals whose expected close date has passed, the answer to 'which deals are overdue'. For 'how are we doing' questions use pipeline_summary instead: it aggregates in the database rather than making you add up rows.
  • pipeline_summaryreadPer-stage counts and values for every pipeline, plus what was won and lost in the last 30 days. This is the right tool for 'how is the pipeline looking': it is one query, and the totals are the database's, not a sum you did yourself. Values are in each deal's own currency, summed per currency.
  • list_tasksreadOpen tasks, soonest due first. `due: "overdue"` is the one to use for 'what is late', `due: "today"` for 'what do I have today'; `mine: true` narrows to the caller's own (for an API key: the person who made the key). Dates are in the company's time zone.
  • list_unpaid_invoicesreadIssued invoices not yet paid in full, the most overdue first, with how many days past due each is and what is still owed (`outstanding`, gross, in the invoice's currency). `overdue_only` leaves out the ones not yet due. Drafts, proformas and cancelled invoices are never in it.
  • stalled_dealsreadOpen deals sitting in one stage longer than that stage's own median. Compared per stage rather than against a fixed number of days, because a week in an early stage is normal and a week in a late one is not. `median_days` is null where the stage has no history to judge by yet.
  • cash_flow_forecastreadExpected money in, by month, split by how certain it is: 'invoiced' is issued and unpaid so somebody owes it, 'contracted' is a recurring schedule that will issue, and 'weighted' is open deals times their stage probability and is a guess. Do not add them together and present one number: the caller needs to know which part is a promise. An overdue invoice is counted in the current month, because that is when it can still be collected.
  • receivables_ageingreadUnpaid invoices bucketed by how far past due they are: not yet due, 1-30, 31-60, 61-90 and 90+ days. The last bucket is the one that decides whether to keep asking or write it off.
  • sales_healthreadHow the pipeline is performing over a window of closed deals, plus recurring revenue normalised to a month so weekly and annual retainers compare. Use this for 'how are we doing' rather than listing deals and adding them up.
  • create_contactwriteAdd a person. Search first: an email address may only belong to one live contact, and creating a duplicate is refused rather than merged. At least one of first_name, last_name or email is required. Created by a person, the contact is theirs.
  • update_contactwriteChange fields on an existing contact. Only the fields you pass are touched, so this cannot blank out a phone number by not mentioning it. Use it to correct details or to move someone from lead to customer.
  • create_dealwriteOpen a deal in a pipeline. Call pipeline_summary first to see the pipelines and their stages; without a status_id the deal starts in the pipeline's first open stage. Created by a person, the deal is theirs.
  • move_dealwriteChange a deal's stage. This is a real pipeline event, not an edit: it writes the stage history the reports read, starts any automation waiting on that stage, creates the stage's playbook tasks, and notifies the owner when the deal closes. get_deal lists the stages of the deal's pipeline. A stage may require fields (value, expected close date, contact, company, custom fields); a move without them is refused with the missing ones named. Moving to a lost stage without a reason is allowed but unhelpful.
  • create_taskwriteAdd a follow-up. Attach it to a contact, company or deal by passing both entity_type and entity_id, so it shows on that record rather than only in the task list. Created by a person, the task is assigned to them.
  • log_notewriteAppend to a record's history: a call summary, what was agreed, why a deal stalled. Use type "call" to log a phone call. This is how a conversation held elsewhere ends up where the next person will look for it.
  • list_record_typesreadThe record types this company has defined for itself, things that are not a contact, a company or a deal: properties, serviced machines, vehicles, contracts. Call this first: the `key` it returns is what list_records and create_record expect, and the field list tells you what a record of that type actually holds.
  • list_recordsreadRecords of one custom type, newest first. `type` is the key from list_record_types. Optionally filter by a title fragment, or by the contact, company or deal a record is attached to.
  • create_recordwriteFiles a new record of a custom type. `type` is the key from list_record_types, and `custom` takes that type's field keys: anything not defined on the type is ignored rather than stored, so check the field list first. A multiselect field takes an array of its listed options, and every element must be one of them; formula and rollup fields are worked out by the CRM and cannot be set. Links to a contact, company or deal are optional and must already exist.
  • list_sitesreadThe public websites this company has built, with how many pages each has and which domain serves it. Call this first: `key` is what list_site_pages and create_site_page expect. A site that is not published serves only its preview URL.
  • list_site_pagesreadEvery page of one site, with its path, whether it is published, and the section types it is built from. `path` is empty for the home page. A page with `template` set ('product' or 'category') is the layout every product or category page is built from: it has no public address of its own, and its product_detail / collection_header sections are filled in per product or category.
  • list_site_postsreadEvery blog post of one site, newest first, with its id, title, tags and whether it is live: published and its date come. A posts section with `source: "picked"` takes `postIds` from here; one that is not live is skipped on the page, so pick live ones.
  • create_site_pagewriteWrites a new page. `sections` is a list of {type, data}: call list_section_types for what each type accepts, including how a posts or products section chooses what it lists (`source`: latest/tag/picked, or all/category/picked with `postIds` / `productIds`; a courses or jobs section lists the company's real rows with `source: "live"`). Created as a draft unless `publish` is true, because a page nobody has read should not appear on a live domain. A path already in use is refused rather than overwritten.
  • list_section_typesreadEvery section create_site_page accepts, with the fields each one reads. Call this before building a page: a section type that does not exist is dropped, and a field nobody reads is stored and never rendered.
  • list_bookingsreadThe diary, soonest last: appointments with the service, the colleague, the room and the customer's own details. Ask `upcoming=true` for what is still to come, which is almost always the question; `status` tells a cancelled hour from a no-show. `series_id` groups the sessions of a course and `series_seq` says which session this is. `answers` holds what the customer replied to the service's own questions.
  • list_link_pagesreadThe company's link pages ("link in bio"), newest first: the short address is /@<handle> on the app's host, or `site_path` on the website `site_id` when attached. `links` holds every link in the order shown, with whether it is `active` and inside its schedule window (`starts_at`/`ends_at`), and `clicks_30`: its clicks in the last 30 days. Counts are per link per day; nothing about visitors is kept.
  • list_quotesreadQuotes, newest first. Filter by status (draft, sent, accepted, rejected, expired, cancelled) or by the contact or company they are for. Totals are gross and in the quote's own currency.
  • list_invoicesreadInvoices, newest first. Filter by status: `overdue` is the one to ask for when somebody wants to know who owes money, and `paid_amount` beside `total` says how much of each is still outstanding.
  • list_productsreadThe catalogue this company sells from, with unit prices and VAT rates. `unit_price` is net; the VAT rate is a percentage on top of it. `stock` is null when a product is not stock-tracked; filter `stock` by out, low, ok or untracked to find what needs reordering.
  • list_ordersreadOrders from the company's own shop and connected webshops, newest first. `fulfilment` is where it is in delivery (new, confirmed, shipped, delivered, cancelled); `total` is gross in the order's currency; `items` is what the customer saw. `payment_method` is card, cod (cash on delivery), transfer or null; `payment_status` pending means a card order not yet paid, which cannot be confirmed or shipped.
  • list_ticketsreadThe helpdesk queue, most recently touched first. `number` is the T-00042 the customer was told. `status` is open (ours to answer), pending (waiting on the customer), solved or closed; `breached=true` finds live tickets past a promised time: `first_response_due_at` with no `first_responded_at`, or `resolution_due_at`, which is the question behind "what is late". `assigned_to` is a colleague's id and null means nobody has it. `channel` is email, portal, manual or chat. Read-only: answering a customer sends mail, so it is done by a person or through POST /api/v1/tickets/{id}/reply.
  • list_purchase_ordersreadOrders placed with this company's suppliers, newest first. `number` is the company's own sequence (PO-00042), not a tax document number. `status` is where it is: draft (still editable), ordered (sent to the supplier), partial (some of it arrived), received (all of it arrived), cancelled. `net_total`, `vat_total` and `gross_total` are in the order's `currency`. `supplier_id` is a company; `supplier_name` is its name when ordered. `qc_required` means received goods wait in quarantine until inspected, so `received` then says the goods arrived, not that they are sellable. `approval_state` pending or rejected means the order's cost centre has not allowed it to be ordered. `webshop_order_id` is set on a draft raised for a dropshipped sale. Goods reach stock as `purchase` movements naming the order.

Sémák

  • ContactInput
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "first_name": {
          "type": "string",
          "maxLength": 80
        },
        "last_name": {
          "type": "string",
          "maxLength": 80
        },
        "email": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200,
              "format": "email",
              "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "phone": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "mobile": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "position": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 120
            },
            {
              "type": "null"
            }
          ]
        },
        "company_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "lead",
            "prospect",
            "customer",
            "inactive"
          ]
        },
        "source": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "city": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 80
            },
            {
              "type": "null"
            }
          ]
        },
        "postal_code": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "null"
            }
          ]
        },
        "address": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 5000
            },
            {
              "type": "null"
            }
          ]
        },
        "subscribed": {
          "type": "boolean"
        },
        "custom": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      }
    }
  • CompanyCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "domain": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 120
            },
            {
              "type": "null"
            }
          ]
        },
        "email": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200,
              "format": "email",
              "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "phone": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "website": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "vat_number": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "reg_number": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "industry": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 80
            },
            {
              "type": "null"
            }
          ]
        },
        "size": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "postal_code": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "null"
            }
          ]
        },
        "city": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 80
            },
            {
              "type": "null"
            }
          ]
        },
        "address": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "country": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 2,
              "maxLength": 2
            },
            {
              "type": "null"
            }
          ]
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 5000
            },
            {
              "type": "null"
            }
          ]
        },
        "owner_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "custom": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "name"
      ]
    }
  • CompanyPatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "domain": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 120
            },
            {
              "type": "null"
            }
          ]
        },
        "email": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200,
              "format": "email",
              "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "phone": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "website": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "vat_number": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "reg_number": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "industry": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 80
            },
            {
              "type": "null"
            }
          ]
        },
        "size": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "postal_code": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "null"
            }
          ]
        },
        "city": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 80
            },
            {
              "type": "null"
            }
          ]
        },
        "address": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "country": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 2,
              "maxLength": 2
            },
            {
              "type": "null"
            }
          ]
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 5000
            },
            {
              "type": "null"
            }
          ]
        },
        "owner_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "custom": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      }
    }
  • DealCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 5000
            },
            {
              "type": "null"
            }
          ]
        },
        "contact_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "company_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "value": {
          "type": "number",
          "minimum": 0
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "owner_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "source": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "expected_close_date": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "custom": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "pipeline_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "status_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "title"
      ]
    }
  • DealPatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 5000
            },
            {
              "type": "null"
            }
          ]
        },
        "contact_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "company_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "value": {
          "type": "number",
          "minimum": 0
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "owner_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "source": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ]
        },
        "expected_close_date": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "custom": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      }
    }
  • DealStatus
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "status_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "lost_reason": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 500
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "status_id"
      ]
    }
  • TaskCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 5000
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "type": "string",
          "enum": [
            "todo",
            "call",
            "email",
            "meeting",
            "deadline"
          ]
        },
        "priority": {
          "type": "string",
          "enum": [
            "low",
            "normal",
            "high",
            "urgent"
          ]
        },
        "due_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "remind_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "assignee_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "entity_type": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "contact",
                "company",
                "deal"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "entity_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "title"
      ]
    }
  • TaskPatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 5000
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "type": "string",
          "enum": [
            "todo",
            "call",
            "email",
            "meeting",
            "deadline"
          ]
        },
        "priority": {
          "type": "string",
          "enum": [
            "low",
            "normal",
            "high",
            "urgent"
          ]
        },
        "due_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "remind_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "assignee_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "entity_type": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "contact",
                "company",
                "deal"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "entity_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    }
  • TicketCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "subject": {
          "type": "string",
          "minLength": 1,
          "maxLength": 300
        },
        "contact_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "requester_email": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 254,
              "format": "email",
              "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "requester_name": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 120
            },
            {
              "type": "null"
            }
          ]
        },
        "assigned_to": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "priority": {
          "type": "string",
          "enum": [
            "low",
            "normal",
            "high",
            "urgent"
          ]
        },
        "body": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 20000
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "subject"
      ]
    }
  • TicketPatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "open",
            "pending",
            "solved",
            "closed"
          ]
        },
        "priority": {
          "type": "string",
          "enum": [
            "low",
            "normal",
            "high",
            "urgent"
          ]
        },
        "assigned_to": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "subject": {
          "type": "string",
          "minLength": 1,
          "maxLength": 300
        }
      }
    }
  • TicketReply
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "body": {
          "type": "string",
          "minLength": 1,
          "maxLength": 20000
        },
        "internal": {
          "type": "boolean"
        },
        "status": {
          "type": "string",
          "enum": [
            "open",
            "pending",
            "solved",
            "closed"
          ]
        }
      },
      "required": [
        "body"
      ]
    }
  • QuoteCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "contact_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "company_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "deal_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "issue_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "valid_until": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 6000
            },
            {
              "type": "null"
            }
          ]
        },
        "terms": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 6000
            },
            {
              "type": "null"
            }
          ]
        },
        "items": {
          "minItems": 1,
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "product_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 1000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "quantity": {
                "type": "number",
                "minimum": 0
              },
              "unit": {
                "default": "db",
                "type": "string",
                "maxLength": 20
              },
              "unit_price": {
                "type": "number"
              },
              "discount_pct": {
                "default": 0,
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "vat_rate": {
                "default": 27,
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "vat_reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "AAM",
                      "TAM",
                      "KBAET",
                      "EUFAD37",
                      "FAD",
                      "HO",
                      "ATK",
                      "EAM"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "name",
              "quantity"
            ]
          }
        }
      },
      "required": [
        "items"
      ]
    }
  • ProductCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "sku": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 60
            },
            {
              "type": "null"
            }
          ]
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2000
            },
            {
              "type": "null"
            }
          ]
        },
        "unit": {
          "type": "string",
          "maxLength": 20
        },
        "unit_price": {
          "type": "number",
          "minimum": 0
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "vat_rate": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "category": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 80
            },
            {
              "type": "null"
            }
          ]
        },
        "kind": {
          "type": "string",
          "enum": [
            "physical",
            "service",
            "digital",
            "dropship"
          ]
        },
        "lead_time_days": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 365
            },
            {
              "type": "null"
            }
          ]
        },
        "supplier_name": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 120
            },
            {
              "type": "null"
            }
          ]
        },
        "supplier_sku": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 60
            },
            {
              "type": "null"
            }
          ]
        },
        "supplier_cost": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0
            },
            {
              "type": "null"
            }
          ]
        },
        "active": {
          "type": "boolean"
        }
      },
      "required": [
        "name"
      ]
    }
  • ProductPatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "sku": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 60
            },
            {
              "type": "null"
            }
          ]
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2000
            },
            {
              "type": "null"
            }
          ]
        },
        "unit": {
          "type": "string",
          "maxLength": 20
        },
        "unit_price": {
          "type": "number",
          "minimum": 0
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "vat_rate": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "category": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 80
            },
            {
              "type": "null"
            }
          ]
        },
        "kind": {
          "type": "string",
          "enum": [
            "physical",
            "service",
            "digital",
            "dropship"
          ]
        },
        "lead_time_days": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 365
            },
            {
              "type": "null"
            }
          ]
        },
        "supplier_name": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 120
            },
            {
              "type": "null"
            }
          ]
        },
        "supplier_sku": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 60
            },
            {
              "type": "null"
            }
          ]
        },
        "supplier_cost": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0
            },
            {
              "type": "null"
            }
          ]
        },
        "active": {
          "type": "boolean"
        }
      }
    }
  • StockMove
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "variant_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "delta": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "count": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        },
        "reason": {
          "type": "string",
          "enum": [
            "restock",
            "adjust",
            "return"
          ]
        },
        "note": {
          "type": "string",
          "maxLength": 500
        }
      }
    }
  • RecordCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "minLength": 1,
          "maxLength": 40
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 5000
            },
            {
              "type": "null"
            }
          ]
        },
        "owner_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "contact_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "company_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "deal_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "custom": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "type",
        "title"
      ]
    }
  • RecordPatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 5000
            },
            {
              "type": "null"
            }
          ]
        },
        "owner_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "contact_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "company_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "deal_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "custom": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      }
    }
  • HookCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "event": {
          "type": "string",
          "enum": [
            "contact.created",
            "contact.updated",
            "deal.created",
            "deal.status_changed",
            "deal.won",
            "deal.lost",
            "quote.accepted",
            "quote.rejected",
            "invoice.paid",
            "form.submitted",
            "task.completed",
            "webshop.order",
            "record.created",
            "record.updated",
            "company.created",
            "company.updated",
            "deal.updated",
            "task.created",
            "quote.created",
            "product.created",
            "product.updated",
            "invoice.issued",
            "lead.received",
            "call.ended",
            "call.missed",
            "survey.answered",
            "order.paid",
            "call.transcribed",
            "ticket.created",
            "ticket.updated",
            "return.created",
            "return.updated",
            "purchase_order.received"
          ]
        },
        "target_url": {
          "type": "string",
          "maxLength": 500,
          "format": "uri"
        }
      },
      "required": [
        "event",
        "target_url"
      ]
    }
  • QuotePatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "contact_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "company_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "deal_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "issue_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "valid_until": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 6000
            },
            {
              "type": "null"
            }
          ]
        },
        "terms": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 6000
            },
            {
              "type": "null"
            }
          ]
        },
        "items": {
          "minItems": 1,
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "product_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 1000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "quantity": {
                "type": "number",
                "minimum": 0
              },
              "unit": {
                "default": "db",
                "type": "string",
                "maxLength": 20
              },
              "unit_price": {
                "type": "number"
              },
              "discount_pct": {
                "default": 0,
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "vat_rate": {
                "default": 27,
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "vat_reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "AAM",
                      "TAM",
                      "KBAET",
                      "EUFAD37",
                      "FAD",
                      "HO",
                      "ATK",
                      "EAM"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "name",
              "quantity"
            ]
          }
        }
      }
    }
  • InvoiceCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "normal",
            "proforma",
            "advance"
          ]
        },
        "contact_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "company_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "deal_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "issue_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "fulfillment_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "due_date": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "payment_method": {
          "type": "string",
          "enum": [
            "transfer",
            "cash",
            "card"
          ]
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 6000
            },
            {
              "type": "null"
            }
          ]
        },
        "vat_exemption": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "EUFAD37",
                "KBAET",
                "HO",
                "EAM"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "deduct_advances": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          }
        },
        "items": {
          "minItems": 1,
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "product_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 1000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "quantity": {
                "type": "number",
                "minimum": 0
              },
              "unit": {
                "default": "db",
                "type": "string",
                "maxLength": 20
              },
              "unit_price": {
                "type": "number"
              },
              "discount_pct": {
                "default": 0,
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "vat_rate": {
                "default": 27,
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "vat_reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "AAM",
                      "TAM",
                      "KBAET",
                      "EUFAD37",
                      "FAD",
                      "HO",
                      "ATK",
                      "EAM"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "name",
              "quantity"
            ]
          }
        }
      },
      "required": [
        "items"
      ]
    }
  • InvoicePatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "normal",
            "proforma",
            "advance"
          ]
        },
        "contact_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "company_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "deal_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "issue_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "fulfillment_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "due_date": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "payment_method": {
          "type": "string",
          "enum": [
            "transfer",
            "cash",
            "card"
          ]
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 6000
            },
            {
              "type": "null"
            }
          ]
        },
        "vat_exemption": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "EUFAD37",
                "KBAET",
                "HO",
                "EAM"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "deduct_advances": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          }
        },
        "items": {
          "minItems": 1,
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "product_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 1000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "quantity": {
                "type": "number",
                "minimum": 0
              },
              "unit": {
                "default": "db",
                "type": "string",
                "maxLength": 20
              },
              "unit_price": {
                "type": "number"
              },
              "discount_pct": {
                "default": 0,
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "vat_rate": {
                "default": 27,
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              "vat_reason": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "AAM",
                      "TAM",
                      "KBAET",
                      "EUFAD37",
                      "FAD",
                      "HO",
                      "ATK",
                      "EAM"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "name",
              "quantity"
            ]
          }
        }
      }
    }
  • InvoiceIssue
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "exchange_rate": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      }
    }
  • PaymentCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "amount": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "paid_on": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "method": {
          "type": "string",
          "enum": [
            "transfer",
            "cash",
            "card",
            "other"
          ]
        },
        "note": {
          "type": "string",
          "maxLength": 300
        }
      },
      "required": [
        "amount"
      ]
    }
  • OrderPatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "fulfilment": {
          "type": "string",
          "enum": [
            "new",
            "confirmed",
            "shipped",
            "delivered",
            "cancelled"
          ]
        },
        "tracking_url": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 500,
              "format": "uri"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "fulfilment"
      ]
    }
  • AutomationEnrol
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "contact_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "deal_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "contact_id"
      ]
    }
  • FormSubmission
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "fields": {
          "type": "object",
          "propertyNames": {
            "type": "string",
            "maxLength": 64
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4000
              },
              {
                "type": "boolean"
              },
              {
                "maxItems": 30,
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 200
                }
              }
            ]
          }
        },
        "consent_text": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2000
            },
            {
              "type": "null"
            }
          ]
        },
        "locale": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "hu",
                "en"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "ip": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 64
            },
            {
              "type": "null"
            }
          ]
        },
        "user_agent": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 500
            },
            {
              "type": "null"
            }
          ]
        },
        "honeypot": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 500
            },
            {
              "type": "null"
            }
          ]
        },
        "attribution": {
          "anyOf": [
            {
              "type": "object",
              "propertyNames": {
                "type": "string",
                "maxLength": 32
              },
              "additionalProperties": {
                "type": "string",
                "maxLength": 500
              }
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "fields"
      ]
    }
  • WebEventBatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "site": {
          "type": "string",
          "pattern": "^[a-z0-9][a-z0-9.-]{0,99}$"
        },
        "visitor": {
          "type": "object",
          "properties": {
            "ip": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 64
                },
                {
                  "type": "null"
                }
              ]
            },
            "user_agent": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "country": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 8
                },
                {
                  "type": "null"
                }
              ]
            },
            "region": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 16
                },
                {
                  "type": "null"
                }
              ]
            },
            "dnt": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "gpc": {
              "type": [
                "boolean",
                "null"
              ]
            }
          }
        },
        "events": {
          "minItems": 1,
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "pageview",
                  "scroll",
                  "engage",
                  "click",
                  "outbound",
                  "form_start",
                  "form_submit_ok",
                  "form_submit_error",
                  "notfound"
                ]
              },
              "path": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 2000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lang": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 8
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "referrer": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 500
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "utm_source": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 300
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "utm_medium": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 300
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "utm_campaign": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 300
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "utm_content": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 300
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "utm_term": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 300
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "screen": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "depth": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ms": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 86400000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "code": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 80
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "age_ms": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 86400000
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        }
      },
      "required": [
        "site",
        "visitor",
        "events"
      ]
    }
  • PurchaseOrderCreate
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "supplier_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "notes": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2000
            },
            {
              "type": "null"
            }
          ]
        },
        "expected_on": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "qc_required": {
          "type": "boolean"
        },
        "cost_center_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "warehouse_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "items": {
          "minItems": 1,
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "product_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "description": {
                "type": "string",
                "maxLength": 300
              },
              "quantity": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 1000000
              },
              "unit_price": {
                "type": "number",
                "minimum": 0,
                "maximum": 1000000000
              },
              "vat_rate": {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              }
            },
            "required": [
              "quantity",
              "unit_price"
            ]
          }
        }
      },
      "required": [
        "items"
      ]
    }
  • PurchaseOrderPatch
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "ordered",
            "cancelled"
          ]
        }
      },
      "required": [
        "status"
      ]
    }
  • PurchaseOrderReceive
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "items": {
          "minItems": 1,
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "quantity": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 1000000
              }
            },
            "required": [
              "id",
              "quantity"
            ]
          }
        }
      }
    }
  • PurchaseOrderInspect
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "items": {
          "minItems": 1,
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "accept": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1000000
              },
              "reject": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1000000
              },
              "note": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 500
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id"
            ]
          }
        }
      },
      "required": [
        "items"
      ]
    }
  • Error
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "enum": [
            "missing_bearer_token",
            "invalid_api_key",
            "expired_api_key",
            "missing_scope:write",
            "plan_refused",
            "not_found",
            "idempotency_in_progress",
            "email_already_exists",
            "validation_failed",
            "no_fields_to_update",
            "rate_limited",
            "missing_scope:quotes:write",
            "missing_scope:invoices:write",
            "not_draft",
            "not_payable",
            "not_issuable",
            "invalid_target_url",
            "too_many_hooks",
            "unknown_event",
            "missing_scope:analytics:write",
            "missing_scope:forms:submit",
            "submission_refused"
          ]
        },
        "detail": {
          "description": "Optional; validation issues or a plan code."
        },
        "retry_after": {
          "type": "integer",
          "description": "Seconds, on a 429."
        }
      },
      "required": [
        "error"
      ]
    }
  • Pagination
    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        }
      }
    }

Fiók létrehozása · OpenAPI dokumentum