{"openapi":"3.2.0","info":{"title":"ObraLedger Public API","description":"The ObraLedger public API: your own accounting data, as resources you can build a connector\nagainst.\n\nAuthenticate with an API key in the `X-AUTH-TOKEN` header \u2014 create one under Settings \u2192 API\nkeys. A key is bound to one company and can never exceed the permissions of the user who\ncreated it.\n\nCollections are cursor-paginated and carry no total count. Money is returned as decimal\nstrings, never as JSON numbers, because a JSON number is a float to most parsers and this is\nan accounting system. Errors are RFC 7807 problem documents.\n\nThis API is versioned in the path. New fields are added without a version bump, so ignore\nfields you do not recognise; removing or retyping one means a new major version, announced in\nadvance.\n\nNot to be confused with `\/api\/v1`, which is the backend our own apps call. It is shaped around\nscreens, changes whenever the UI does, and is promised to nobody.","version":"1.0.0"},"servers":[{"url":"https:\/\/app.obraledger.com","description":"Production"}],"paths":{"\/api\/public\/v1\/accounts":{"get":{"operationId":"api_publicv1accounts_get_collection","tags":["Account"],"responses":{"200":{"description":"Account collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Account"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Account resources.","description":"Retrieves the collection of Account resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/accounts\/{id}":{"get":{"operationId":"api_publicv1accounts_id_get","tags":["Account"],"responses":{"200":{"description":"Account resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Account"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Account resource.","description":"Retrieves a Account resource.","parameters":[{"name":"id","in":"path","description":"Account identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/account-addresses":{"get":{"operationId":"api_publicv1account-addresses_get_collection","tags":["AccountAddress"],"responses":{"200":{"description":"AccountAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/AccountAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of AccountAddress resources.","description":"Retrieves the collection of AccountAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/account-addresses\/{id}":{"get":{"operationId":"api_publicv1account-addresses_id_get","tags":["AccountAddress"],"responses":{"200":{"description":"AccountAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AccountAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a AccountAddress resource.","description":"Retrieves a AccountAddress resource.","parameters":[{"name":"id","in":"path","description":"AccountAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/account-contact-relations":{"get":{"operationId":"api_publicv1account-contact-relations_get_collection","tags":["AccountContactRelation"],"responses":{"200":{"description":"AccountContactRelation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/AccountContactRelation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of AccountContactRelation resources.","description":"Retrieves the collection of AccountContactRelation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/account-contact-relations\/{id}":{"get":{"operationId":"api_publicv1account-contact-relations_id_get","tags":["AccountContactRelation"],"responses":{"200":{"description":"AccountContactRelation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AccountContactRelation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a AccountContactRelation resource.","description":"Retrieves a AccountContactRelation resource.","parameters":[{"name":"id","in":"path","description":"AccountContactRelation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/account-contact-shopping-stores":{"get":{"operationId":"api_publicv1account-contact-shopping-stores_get_collection","tags":["AccountContactShoppingStore"],"responses":{"200":{"description":"AccountContactShoppingStore collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/AccountContactShoppingStore"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of AccountContactShoppingStore resources.","description":"Retrieves the collection of AccountContactShoppingStore resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/account-contact-shopping-stores\/{id}":{"get":{"operationId":"api_publicv1account-contact-shopping-stores_id_get","tags":["AccountContactShoppingStore"],"responses":{"200":{"description":"AccountContactShoppingStore resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AccountContactShoppingStore"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a AccountContactShoppingStore resource.","description":"Retrieves a AccountContactShoppingStore resource.","parameters":[{"name":"id","in":"path","description":"AccountContactShoppingStore identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/account-customer-project-rates":{"get":{"operationId":"api_publicv1account-customer-project-rates_get_collection","tags":["AccountCustomerProjectRate"],"responses":{"200":{"description":"AccountCustomerProjectRate collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/AccountCustomerProjectRate"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of AccountCustomerProjectRate resources.","description":"Retrieves the collection of AccountCustomerProjectRate resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/account-customer-project-rates\/{id}":{"get":{"operationId":"api_publicv1account-customer-project-rates_id_get","tags":["AccountCustomerProjectRate"],"responses":{"200":{"description":"AccountCustomerProjectRate resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AccountCustomerProjectRate"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a AccountCustomerProjectRate resource.","description":"Retrieves a AccountCustomerProjectRate resource.","parameters":[{"name":"id","in":"path","description":"AccountCustomerProjectRate identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/account-settings":{"get":{"operationId":"api_publicv1account-settings_get_collection","tags":["AccountSetting"],"responses":{"200":{"description":"AccountSetting collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/AccountSetting"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of AccountSetting resources.","description":"Retrieves the collection of AccountSetting resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/account-settings\/{id}":{"get":{"operationId":"api_publicv1account-settings_id_get","tags":["AccountSetting"],"responses":{"200":{"description":"AccountSetting resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AccountSetting"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a AccountSetting resource.","description":"Retrieves a AccountSetting resource.","parameters":[{"name":"id","in":"path","description":"AccountSetting identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/bank-feed-accounts":{"get":{"operationId":"api_publicv1bank-feed-accounts_get_collection","tags":["BankFeedAccount"],"responses":{"200":{"description":"BankFeedAccount collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/BankFeedAccount"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of BankFeedAccount resources.","description":"Retrieves the collection of BankFeedAccount resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/bank-feed-accounts\/{id}":{"get":{"operationId":"api_publicv1bank-feed-accounts_id_get","tags":["BankFeedAccount"],"responses":{"200":{"description":"BankFeedAccount resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BankFeedAccount"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a BankFeedAccount resource.","description":"Retrieves a BankFeedAccount resource.","parameters":[{"name":"id","in":"path","description":"BankFeedAccount identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/bank-feed-connections":{"get":{"operationId":"api_publicv1bank-feed-connections_get_collection","tags":["BankFeedConnection"],"responses":{"200":{"description":"BankFeedConnection collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/BankFeedConnection"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of BankFeedConnection resources.","description":"Retrieves the collection of BankFeedConnection resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/bank-feed-connections\/{id}":{"get":{"operationId":"api_publicv1bank-feed-connections_id_get","tags":["BankFeedConnection"],"responses":{"200":{"description":"BankFeedConnection resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BankFeedConnection"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a BankFeedConnection resource.","description":"Retrieves a BankFeedConnection resource.","parameters":[{"name":"id","in":"path","description":"BankFeedConnection identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/bank-payer-memories":{"get":{"operationId":"api_publicv1bank-payer-memories_get_collection","tags":["BankPayerMemory"],"responses":{"200":{"description":"BankPayerMemory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/BankPayerMemory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of BankPayerMemory resources.","description":"Retrieves the collection of BankPayerMemory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/bank-payer-memories\/{id}":{"get":{"operationId":"api_publicv1bank-payer-memories_id_get","tags":["BankPayerMemory"],"responses":{"200":{"description":"BankPayerMemory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BankPayerMemory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a BankPayerMemory resource.","description":"Retrieves a BankPayerMemory resource.","parameters":[{"name":"id","in":"path","description":"BankPayerMemory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/boms":{"get":{"operationId":"api_publicv1boms_get_collection","tags":["Bom"],"responses":{"200":{"description":"Bom collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Bom"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Bom resources.","description":"Retrieves the collection of Bom resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/boms\/{id}":{"get":{"operationId":"api_publicv1boms_id_get","tags":["Bom"],"responses":{"200":{"description":"Bom resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Bom"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Bom resource.","description":"Retrieves a Bom resource.","parameters":[{"name":"id","in":"path","description":"Bom identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/bom-lines":{"get":{"operationId":"api_publicv1bom-lines_get_collection","tags":["BomLine"],"responses":{"200":{"description":"BomLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/BomLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of BomLine resources.","description":"Retrieves the collection of BomLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/bom-lines\/{id}":{"get":{"operationId":"api_publicv1bom-lines_id_get","tags":["BomLine"],"responses":{"200":{"description":"BomLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BomLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a BomLine resource.","description":"Retrieves a BomLine resource.","parameters":[{"name":"id","in":"path","description":"BomLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/budgets":{"get":{"operationId":"api_publicv1budgets_get_collection","tags":["Budget"],"responses":{"200":{"description":"Budget collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Budget"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Budget resources.","description":"Retrieves the collection of Budget resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/budgets\/{id}":{"get":{"operationId":"api_publicv1budgets_id_get","tags":["Budget"],"responses":{"200":{"description":"Budget resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Budget"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Budget resource.","description":"Retrieves a Budget resource.","parameters":[{"name":"id","in":"path","description":"Budget identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/budget-lines":{"get":{"operationId":"api_publicv1budget-lines_get_collection","tags":["BudgetLine"],"responses":{"200":{"description":"BudgetLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/BudgetLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of BudgetLine resources.","description":"Retrieves the collection of BudgetLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/budget-lines\/{id}":{"get":{"operationId":"api_publicv1budget-lines_id_get","tags":["BudgetLine"],"responses":{"200":{"description":"BudgetLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BudgetLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a BudgetLine resource.","description":"Retrieves a BudgetLine resource.","parameters":[{"name":"id","in":"path","description":"BudgetLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/consignments":{"get":{"operationId":"api_publicv1consignments_get_collection","tags":["Consignment"],"responses":{"200":{"description":"Consignment collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Consignment"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Consignment resources.","description":"Retrieves the collection of Consignment resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/consignments\/{id}":{"get":{"operationId":"api_publicv1consignments_id_get","tags":["Consignment"],"responses":{"200":{"description":"Consignment resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Consignment"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Consignment resource.","description":"Retrieves a Consignment resource.","parameters":[{"name":"id","in":"path","description":"Consignment identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/consignment-addresses":{"get":{"operationId":"api_publicv1consignment-addresses_get_collection","tags":["ConsignmentAddress"],"responses":{"200":{"description":"ConsignmentAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ConsignmentAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ConsignmentAddress resources.","description":"Retrieves the collection of ConsignmentAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/consignment-addresses\/{id}":{"get":{"operationId":"api_publicv1consignment-addresses_id_get","tags":["ConsignmentAddress"],"responses":{"200":{"description":"ConsignmentAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConsignmentAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ConsignmentAddress resource.","description":"Retrieves a ConsignmentAddress resource.","parameters":[{"name":"id","in":"path","description":"ConsignmentAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/consignment-definitions":{"get":{"operationId":"api_publicv1consignment-definitions_get_collection","tags":["ConsignmentDefinition"],"responses":{"200":{"description":"ConsignmentDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ConsignmentDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ConsignmentDefinition resources.","description":"Retrieves the collection of ConsignmentDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/consignment-definitions\/{id}":{"get":{"operationId":"api_publicv1consignment-definitions_id_get","tags":["ConsignmentDefinition"],"responses":{"200":{"description":"ConsignmentDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConsignmentDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ConsignmentDefinition resource.","description":"Retrieves a ConsignmentDefinition resource.","parameters":[{"name":"id","in":"path","description":"ConsignmentDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/consignment-histories":{"get":{"operationId":"api_publicv1consignment-histories_get_collection","tags":["ConsignmentHistory"],"responses":{"200":{"description":"ConsignmentHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ConsignmentHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ConsignmentHistory resources.","description":"Retrieves the collection of ConsignmentHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/consignment-histories\/{id}":{"get":{"operationId":"api_publicv1consignment-histories_id_get","tags":["ConsignmentHistory"],"responses":{"200":{"description":"ConsignmentHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConsignmentHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ConsignmentHistory resource.","description":"Retrieves a ConsignmentHistory resource.","parameters":[{"name":"id","in":"path","description":"ConsignmentHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/consignment-lines":{"get":{"operationId":"api_publicv1consignment-lines_get_collection","tags":["ConsignmentLine"],"responses":{"200":{"description":"ConsignmentLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ConsignmentLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ConsignmentLine resources.","description":"Retrieves the collection of ConsignmentLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/consignment-lines\/{id}":{"get":{"operationId":"api_publicv1consignment-lines_id_get","tags":["ConsignmentLine"],"responses":{"200":{"description":"ConsignmentLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConsignmentLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ConsignmentLine resource.","description":"Retrieves a ConsignmentLine resource.","parameters":[{"name":"id","in":"path","description":"ConsignmentLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/contacts":{"get":{"operationId":"api_publicv1contacts_get_collection","tags":["Contact"],"responses":{"200":{"description":"Contact collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Contact"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Contact resources.","description":"Retrieves the collection of Contact resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"order[id]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string","default":"asc","enum":["asc","desc"]},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]},"post":{"operationId":"api_publicv1contacts_post","tags":["Contact"],"responses":{"201":{"description":"Contact resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Contact"}}},"links":[]},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation"}}},"links":[]},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Creates a Contact resource.","description":"Creates a Contact resource.","parameters":[],"requestBody":{"description":"The new Contact resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Contact"}}},"required":true}}},"\/api\/public\/v1\/contacts\/{id}":{"get":{"operationId":"api_publicv1contacts_id_get","tags":["Contact"],"responses":{"200":{"description":"Contact resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Contact"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Contact resource.","description":"Retrieves a Contact resource.","parameters":[{"name":"id","in":"path","description":"Contact identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]},"delete":{"operationId":"api_publicv1contacts_id_delete","tags":["Contact"],"responses":{"204":{"description":"Contact resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Removes the Contact resource.","description":"Removes the Contact resource.","parameters":[{"name":"id","in":"path","description":"Contact identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]},"patch":{"operationId":"api_publicv1contacts_id_patch","tags":["Contact"],"responses":{"200":{"description":"Contact resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Contact"}}},"links":[]},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation"}}},"links":[]},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Updates the Contact resource.","description":"Updates the Contact resource.","parameters":[{"name":"id","in":"path","description":"Contact identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}],"requestBody":{"description":"The updated Contact resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Contact.jsonMergePatch"}}},"required":true}}},"\/api\/public\/v1\/cost-centers":{"get":{"operationId":"api_publicv1cost-centers_get_collection","tags":["CostCenter"],"responses":{"200":{"description":"CostCenter collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CostCenter"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CostCenter resources.","description":"Retrieves the collection of CostCenter resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/cost-centers\/{id}":{"get":{"operationId":"api_publicv1cost-centers_id_get","tags":["CostCenter"],"responses":{"200":{"description":"CostCenter resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CostCenter"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CostCenter resource.","description":"Retrieves a CostCenter resource.","parameters":[{"name":"id","in":"path","description":"CostCenter identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/credit-notes":{"get":{"operationId":"api_publicv1credit-notes_get_collection","tags":["CreditNote"],"responses":{"200":{"description":"CreditNote collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CreditNote"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CreditNote resources.","description":"Retrieves the collection of CreditNote resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/credit-notes\/{id}":{"get":{"operationId":"api_publicv1credit-notes_id_get","tags":["CreditNote"],"responses":{"200":{"description":"CreditNote resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreditNote"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CreditNote resource.","description":"Retrieves a CreditNote resource.","parameters":[{"name":"id","in":"path","description":"CreditNote identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/credit-note-addresses":{"get":{"operationId":"api_publicv1credit-note-addresses_get_collection","tags":["CreditNoteAddress"],"responses":{"200":{"description":"CreditNoteAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CreditNoteAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CreditNoteAddress resources.","description":"Retrieves the collection of CreditNoteAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/credit-note-addresses\/{id}":{"get":{"operationId":"api_publicv1credit-note-addresses_id_get","tags":["CreditNoteAddress"],"responses":{"200":{"description":"CreditNoteAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreditNoteAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CreditNoteAddress resource.","description":"Retrieves a CreditNoteAddress resource.","parameters":[{"name":"id","in":"path","description":"CreditNoteAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/credit-note-definitions":{"get":{"operationId":"api_publicv1credit-note-definitions_get_collection","tags":["CreditNoteDefinition"],"responses":{"200":{"description":"CreditNoteDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CreditNoteDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CreditNoteDefinition resources.","description":"Retrieves the collection of CreditNoteDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/credit-note-definitions\/{id}":{"get":{"operationId":"api_publicv1credit-note-definitions_id_get","tags":["CreditNoteDefinition"],"responses":{"200":{"description":"CreditNoteDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreditNoteDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CreditNoteDefinition resource.","description":"Retrieves a CreditNoteDefinition resource.","parameters":[{"name":"id","in":"path","description":"CreditNoteDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/credit-note-histories":{"get":{"operationId":"api_publicv1credit-note-histories_get_collection","tags":["CreditNoteHistory"],"responses":{"200":{"description":"CreditNoteHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CreditNoteHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CreditNoteHistory resources.","description":"Retrieves the collection of CreditNoteHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/credit-note-histories\/{id}":{"get":{"operationId":"api_publicv1credit-note-histories_id_get","tags":["CreditNoteHistory"],"responses":{"200":{"description":"CreditNoteHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreditNoteHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CreditNoteHistory resource.","description":"Retrieves a CreditNoteHistory resource.","parameters":[{"name":"id","in":"path","description":"CreditNoteHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/credit-note-lines":{"get":{"operationId":"api_publicv1credit-note-lines_get_collection","tags":["CreditNoteLine"],"responses":{"200":{"description":"CreditNoteLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CreditNoteLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CreditNoteLine resources.","description":"Retrieves the collection of CreditNoteLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/credit-note-lines\/{id}":{"get":{"operationId":"api_publicv1credit-note-lines_id_get","tags":["CreditNoteLine"],"responses":{"200":{"description":"CreditNoteLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CreditNoteLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CreditNoteLine resource.","description":"Retrieves a CreditNoteLine resource.","parameters":[{"name":"id","in":"path","description":"CreditNoteLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-calls":{"get":{"operationId":"api_publicv1crm-calls_get_collection","tags":["CrmCall"],"responses":{"200":{"description":"CrmCall collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmCall"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmCall resources.","description":"Retrieves the collection of CrmCall resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-calls\/{id}":{"get":{"operationId":"api_publicv1crm-calls_id_get","tags":["CrmCall"],"responses":{"200":{"description":"CrmCall resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmCall"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmCall resource.","description":"Retrieves a CrmCall resource.","parameters":[{"name":"id","in":"path","description":"CrmCall identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-emails":{"get":{"operationId":"api_publicv1crm-emails_get_collection","tags":["CrmEmail"],"responses":{"200":{"description":"CrmEmail collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmEmail"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmEmail resources.","description":"Retrieves the collection of CrmEmail resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-emails\/{id}":{"get":{"operationId":"api_publicv1crm-emails_id_get","tags":["CrmEmail"],"responses":{"200":{"description":"CrmEmail resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmEmail"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmEmail resource.","description":"Retrieves a CrmEmail resource.","parameters":[{"name":"id","in":"path","description":"CrmEmail identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-linkedins":{"get":{"operationId":"api_publicv1crm-linkedins_get_collection","tags":["CrmLinkedin"],"responses":{"200":{"description":"CrmLinkedin collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmLinkedin"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmLinkedin resources.","description":"Retrieves the collection of CrmLinkedin resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-linkedins\/{id}":{"get":{"operationId":"api_publicv1crm-linkedins_id_get","tags":["CrmLinkedin"],"responses":{"200":{"description":"CrmLinkedin resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmLinkedin"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmLinkedin resource.","description":"Retrieves a CrmLinkedin resource.","parameters":[{"name":"id","in":"path","description":"CrmLinkedin identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-mailing-contacts":{"get":{"operationId":"api_publicv1crm-mailing-contacts_get_collection","tags":["CrmMailingContact"],"responses":{"200":{"description":"CrmMailingContact collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmMailingContact"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmMailingContact resources.","description":"Retrieves the collection of CrmMailingContact resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-mailing-contacts\/{id}":{"get":{"operationId":"api_publicv1crm-mailing-contacts_id_get","tags":["CrmMailingContact"],"responses":{"200":{"description":"CrmMailingContact resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmMailingContact"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmMailingContact resource.","description":"Retrieves a CrmMailingContact resource.","parameters":[{"name":"id","in":"path","description":"CrmMailingContact identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-mailing-lists":{"get":{"operationId":"api_publicv1crm-mailing-lists_get_collection","tags":["CrmMailingList"],"responses":{"200":{"description":"CrmMailingList collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmMailingList"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmMailingList resources.","description":"Retrieves the collection of CrmMailingList resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-mailing-lists\/{id}":{"get":{"operationId":"api_publicv1crm-mailing-lists_id_get","tags":["CrmMailingList"],"responses":{"200":{"description":"CrmMailingList resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmMailingList"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmMailingList resource.","description":"Retrieves a CrmMailingList resource.","parameters":[{"name":"id","in":"path","description":"CrmMailingList identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-mailing-list-contacts":{"get":{"operationId":"api_publicv1crm-mailing-list-contacts_get_collection","tags":["CrmMailingListContact"],"responses":{"200":{"description":"CrmMailingListContact collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmMailingListContact"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmMailingListContact resources.","description":"Retrieves the collection of CrmMailingListContact resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-mailing-list-contacts\/{id}":{"get":{"operationId":"api_publicv1crm-mailing-list-contacts_id_get","tags":["CrmMailingListContact"],"responses":{"200":{"description":"CrmMailingListContact resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmMailingListContact"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmMailingListContact resource.","description":"Retrieves a CrmMailingListContact resource.","parameters":[{"name":"id","in":"path","description":"CrmMailingListContact identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-mailing-list-unsubscribes":{"get":{"operationId":"api_publicv1crm-mailing-list-unsubscribes_get_collection","tags":["CrmMailingListUnsubscribe"],"responses":{"200":{"description":"CrmMailingListUnsubscribe collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmMailingListUnsubscribe"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmMailingListUnsubscribe resources.","description":"Retrieves the collection of CrmMailingListUnsubscribe resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-mailing-list-unsubscribes\/{id}":{"get":{"operationId":"api_publicv1crm-mailing-list-unsubscribes_id_get","tags":["CrmMailingListUnsubscribe"],"responses":{"200":{"description":"CrmMailingListUnsubscribe resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmMailingListUnsubscribe"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmMailingListUnsubscribe resource.","description":"Retrieves a CrmMailingListUnsubscribe resource.","parameters":[{"name":"id","in":"path","description":"CrmMailingListUnsubscribe identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-mailing-messages":{"get":{"operationId":"api_publicv1crm-mailing-messages_get_collection","tags":["CrmMailingMessage"],"responses":{"200":{"description":"CrmMailingMessage collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmMailingMessage"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmMailingMessage resources.","description":"Retrieves the collection of CrmMailingMessage resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-mailing-messages\/{id}":{"get":{"operationId":"api_publicv1crm-mailing-messages_id_get","tags":["CrmMailingMessage"],"responses":{"200":{"description":"CrmMailingMessage resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmMailingMessage"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmMailingMessage resource.","description":"Retrieves a CrmMailingMessage resource.","parameters":[{"name":"id","in":"path","description":"CrmMailingMessage identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-mailing-sents":{"get":{"operationId":"api_publicv1crm-mailing-sents_get_collection","tags":["CrmMailingSent"],"responses":{"200":{"description":"CrmMailingSent collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmMailingSent"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmMailingSent resources.","description":"Retrieves the collection of CrmMailingSent resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-mailing-sents\/{id}":{"get":{"operationId":"api_publicv1crm-mailing-sents_id_get","tags":["CrmMailingSent"],"responses":{"200":{"description":"CrmMailingSent resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmMailingSent"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmMailingSent resource.","description":"Retrieves a CrmMailingSent resource.","parameters":[{"name":"id","in":"path","description":"CrmMailingSent identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-mailing-sent-events":{"get":{"operationId":"api_publicv1crm-mailing-sent-events_get_collection","tags":["CrmMailingSentEvent"],"responses":{"200":{"description":"CrmMailingSentEvent collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmMailingSentEvent"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmMailingSentEvent resources.","description":"Retrieves the collection of CrmMailingSentEvent resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-mailing-sent-events\/{id}":{"get":{"operationId":"api_publicv1crm-mailing-sent-events_id_get","tags":["CrmMailingSentEvent"],"responses":{"200":{"description":"CrmMailingSentEvent resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmMailingSentEvent"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmMailingSentEvent resource.","description":"Retrieves a CrmMailingSentEvent resource.","parameters":[{"name":"id","in":"path","description":"CrmMailingSentEvent identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-meetings":{"get":{"operationId":"api_publicv1crm-meetings_get_collection","tags":["CrmMeeting"],"responses":{"200":{"description":"CrmMeeting collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmMeeting"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmMeeting resources.","description":"Retrieves the collection of CrmMeeting resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-meetings\/{id}":{"get":{"operationId":"api_publicv1crm-meetings_id_get","tags":["CrmMeeting"],"responses":{"200":{"description":"CrmMeeting resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmMeeting"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmMeeting resource.","description":"Retrieves a CrmMeeting resource.","parameters":[{"name":"id","in":"path","description":"CrmMeeting identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-notes":{"get":{"operationId":"api_publicv1crm-notes_get_collection","tags":["CrmNote"],"responses":{"200":{"description":"CrmNote collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmNote"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmNote resources.","description":"Retrieves the collection of CrmNote resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-notes\/{id}":{"get":{"operationId":"api_publicv1crm-notes_id_get","tags":["CrmNote"],"responses":{"200":{"description":"CrmNote resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmNote"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmNote resource.","description":"Retrieves a CrmNote resource.","parameters":[{"name":"id","in":"path","description":"CrmNote identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-reminder-outbox-items":{"get":{"operationId":"api_publicv1crm-reminder-outbox-items_get_collection","tags":["CrmReminderOutboxItem"],"responses":{"200":{"description":"CrmReminderOutboxItem collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmReminderOutboxItem"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmReminderOutboxItem resources.","description":"Retrieves the collection of CrmReminderOutboxItem resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-reminder-outbox-items\/{id}":{"get":{"operationId":"api_publicv1crm-reminder-outbox-items_id_get","tags":["CrmReminderOutboxItem"],"responses":{"200":{"description":"CrmReminderOutboxItem resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmReminderOutboxItem"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmReminderOutboxItem resource.","description":"Retrieves a CrmReminderOutboxItem resource.","parameters":[{"name":"id","in":"path","description":"CrmReminderOutboxItem identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-sms":{"get":{"operationId":"api_publicv1crm-sms_get_collection","tags":["CrmSms"],"responses":{"200":{"description":"CrmSms collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmSms"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmSms resources.","description":"Retrieves the collection of CrmSms resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-sms\/{id}":{"get":{"operationId":"api_publicv1crm-sms_id_get","tags":["CrmSms"],"responses":{"200":{"description":"CrmSms resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmSms"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmSms resource.","description":"Retrieves a CrmSms resource.","parameters":[{"name":"id","in":"path","description":"CrmSms identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-whatsapps":{"get":{"operationId":"api_publicv1crm-whatsapps_get_collection","tags":["CrmWhatsapp"],"responses":{"200":{"description":"CrmWhatsapp collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmWhatsapp"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmWhatsapp resources.","description":"Retrieves the collection of CrmWhatsapp resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-whatsapps\/{id}":{"get":{"operationId":"api_publicv1crm-whatsapps_id_get","tags":["CrmWhatsapp"],"responses":{"200":{"description":"CrmWhatsapp resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmWhatsapp"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmWhatsapp resource.","description":"Retrieves a CrmWhatsapp resource.","parameters":[{"name":"id","in":"path","description":"CrmWhatsapp identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-workflows":{"get":{"operationId":"api_publicv1crm-workflows_get_collection","tags":["CrmWorkflow"],"responses":{"200":{"description":"CrmWorkflow collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmWorkflow"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmWorkflow resources.","description":"Retrieves the collection of CrmWorkflow resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-workflows\/{id}":{"get":{"operationId":"api_publicv1crm-workflows_id_get","tags":["CrmWorkflow"],"responses":{"200":{"description":"CrmWorkflow resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmWorkflow"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmWorkflow resource.","description":"Retrieves a CrmWorkflow resource.","parameters":[{"name":"id","in":"path","description":"CrmWorkflow identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-workflow-email-opt-outs":{"get":{"operationId":"api_publicv1crm-workflow-email-opt-outs_get_collection","tags":["CrmWorkflowEmailOptOut"],"responses":{"200":{"description":"CrmWorkflowEmailOptOut collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmWorkflowEmailOptOut"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmWorkflowEmailOptOut resources.","description":"Retrieves the collection of CrmWorkflowEmailOptOut resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-workflow-email-opt-outs\/{id}":{"get":{"operationId":"api_publicv1crm-workflow-email-opt-outs_id_get","tags":["CrmWorkflowEmailOptOut"],"responses":{"200":{"description":"CrmWorkflowEmailOptOut resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmWorkflowEmailOptOut"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmWorkflowEmailOptOut resource.","description":"Retrieves a CrmWorkflowEmailOptOut resource.","parameters":[{"name":"id","in":"path","description":"CrmWorkflowEmailOptOut identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-workflow-email-sends":{"get":{"operationId":"api_publicv1crm-workflow-email-sends_get_collection","tags":["CrmWorkflowEmailSend"],"responses":{"200":{"description":"CrmWorkflowEmailSend collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmWorkflowEmailSend"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmWorkflowEmailSend resources.","description":"Retrieves the collection of CrmWorkflowEmailSend resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-workflow-email-sends\/{id}":{"get":{"operationId":"api_publicv1crm-workflow-email-sends_id_get","tags":["CrmWorkflowEmailSend"],"responses":{"200":{"description":"CrmWorkflowEmailSend resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmWorkflowEmailSend"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmWorkflowEmailSend resource.","description":"Retrieves a CrmWorkflowEmailSend resource.","parameters":[{"name":"id","in":"path","description":"CrmWorkflowEmailSend identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-workflow-enrolments":{"get":{"operationId":"api_publicv1crm-workflow-enrolments_get_collection","tags":["CrmWorkflowEnrolment"],"responses":{"200":{"description":"CrmWorkflowEnrolment collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmWorkflowEnrolment"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmWorkflowEnrolment resources.","description":"Retrieves the collection of CrmWorkflowEnrolment resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-workflow-enrolments\/{id}":{"get":{"operationId":"api_publicv1crm-workflow-enrolments_id_get","tags":["CrmWorkflowEnrolment"],"responses":{"200":{"description":"CrmWorkflowEnrolment resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmWorkflowEnrolment"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmWorkflowEnrolment resource.","description":"Retrieves a CrmWorkflowEnrolment resource.","parameters":[{"name":"id","in":"path","description":"CrmWorkflowEnrolment identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/crm-workflow-runs":{"get":{"operationId":"api_publicv1crm-workflow-runs_get_collection","tags":["CrmWorkflowRun"],"responses":{"200":{"description":"CrmWorkflowRun collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/CrmWorkflowRun"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of CrmWorkflowRun resources.","description":"Retrieves the collection of CrmWorkflowRun resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/crm-workflow-runs\/{id}":{"get":{"operationId":"api_publicv1crm-workflow-runs_id_get","tags":["CrmWorkflowRun"],"responses":{"200":{"description":"CrmWorkflowRun resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CrmWorkflowRun"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a CrmWorkflowRun resource.","description":"Retrieves a CrmWorkflowRun resource.","parameters":[{"name":"id","in":"path","description":"CrmWorkflowRun identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-accounts":{"get":{"operationId":"api_publicv1data-exchange-accounts_get_collection","tags":["DataExchangeAccount"],"responses":{"200":{"description":"DataExchangeAccount collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeAccount"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeAccount resources.","description":"Retrieves the collection of DataExchangeAccount resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-accounts\/{id}":{"get":{"operationId":"api_publicv1data-exchange-accounts_id_get","tags":["DataExchangeAccount"],"responses":{"200":{"description":"DataExchangeAccount resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeAccount"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeAccount resource.","description":"Retrieves a DataExchangeAccount resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeAccount identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-bank-statements":{"get":{"operationId":"api_publicv1data-exchange-bank-statements_get_collection","tags":["DataExchangeBankStatement"],"responses":{"200":{"description":"DataExchangeBankStatement collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeBankStatement"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeBankStatement resources.","description":"Retrieves the collection of DataExchangeBankStatement resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-bank-statements\/{id}":{"get":{"operationId":"api_publicv1data-exchange-bank-statements_id_get","tags":["DataExchangeBankStatement"],"responses":{"200":{"description":"DataExchangeBankStatement resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeBankStatement"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeBankStatement resource.","description":"Retrieves a DataExchangeBankStatement resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeBankStatement identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-bols":{"get":{"operationId":"api_publicv1data-exchange-bols_get_collection","tags":["DataExchangeBol"],"responses":{"200":{"description":"DataExchangeBol collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeBol"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeBol resources.","description":"Retrieves the collection of DataExchangeBol resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-bols\/{id}":{"get":{"operationId":"api_publicv1data-exchange-bols_id_get","tags":["DataExchangeBol"],"responses":{"200":{"description":"DataExchangeBol resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeBol"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeBol resource.","description":"Retrieves a DataExchangeBol resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeBol identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-bol-shipments":{"get":{"operationId":"api_publicv1data-exchange-bol-shipments_get_collection","tags":["DataExchangeBolShipment"],"responses":{"200":{"description":"DataExchangeBolShipment collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeBolShipment"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeBolShipment resources.","description":"Retrieves the collection of DataExchangeBolShipment resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-bol-shipments\/{id}":{"get":{"operationId":"api_publicv1data-exchange-bol-shipments_id_get","tags":["DataExchangeBolShipment"],"responses":{"200":{"description":"DataExchangeBolShipment resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeBolShipment"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeBolShipment resource.","description":"Retrieves a DataExchangeBolShipment resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeBolShipment identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-customer-contacts":{"get":{"operationId":"api_publicv1data-exchange-customer-contacts_get_collection","tags":["DataExchangeCustomerContact"],"responses":{"200":{"description":"DataExchangeCustomerContact collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeCustomerContact"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeCustomerContact resources.","description":"Retrieves the collection of DataExchangeCustomerContact resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-customer-contacts\/{id}":{"get":{"operationId":"api_publicv1data-exchange-customer-contacts_id_get","tags":["DataExchangeCustomerContact"],"responses":{"200":{"description":"DataExchangeCustomerContact resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeCustomerContact"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeCustomerContact resource.","description":"Retrieves a DataExchangeCustomerContact resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeCustomerContact identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-documents":{"get":{"operationId":"api_publicv1data-exchange-documents_get_collection","tags":["DataExchangeDocument"],"responses":{"200":{"description":"DataExchangeDocument collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeDocument"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeDocument resources.","description":"Retrieves the collection of DataExchangeDocument resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-documents\/{id}":{"get":{"operationId":"api_publicv1data-exchange-documents_id_get","tags":["DataExchangeDocument"],"responses":{"200":{"description":"DataExchangeDocument resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeDocument"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeDocument resource.","description":"Retrieves a DataExchangeDocument resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeDocument identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-document-lines":{"get":{"operationId":"api_publicv1data-exchange-document-lines_get_collection","tags":["DataExchangeDocumentLine"],"responses":{"200":{"description":"DataExchangeDocumentLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeDocumentLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeDocumentLine resources.","description":"Retrieves the collection of DataExchangeDocumentLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-document-lines\/{id}":{"get":{"operationId":"api_publicv1data-exchange-document-lines_id_get","tags":["DataExchangeDocumentLine"],"responses":{"200":{"description":"DataExchangeDocumentLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeDocumentLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeDocumentLine resource.","description":"Retrieves a DataExchangeDocumentLine resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeDocumentLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-journal-lines":{"get":{"operationId":"api_publicv1data-exchange-journal-lines_get_collection","tags":["DataExchangeJournalLine"],"responses":{"200":{"description":"DataExchangeJournalLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeJournalLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeJournalLine resources.","description":"Retrieves the collection of DataExchangeJournalLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-journal-lines\/{id}":{"get":{"operationId":"api_publicv1data-exchange-journal-lines_id_get","tags":["DataExchangeJournalLine"],"responses":{"200":{"description":"DataExchangeJournalLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeJournalLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeJournalLine resource.","description":"Retrieves a DataExchangeJournalLine resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeJournalLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-ledger-accounts":{"get":{"operationId":"api_publicv1data-exchange-ledger-accounts_get_collection","tags":["DataExchangeLedgerAccount"],"responses":{"200":{"description":"DataExchangeLedgerAccount collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeLedgerAccount"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeLedgerAccount resources.","description":"Retrieves the collection of DataExchangeLedgerAccount resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-ledger-accounts\/{id}":{"get":{"operationId":"api_publicv1data-exchange-ledger-accounts_id_get","tags":["DataExchangeLedgerAccount"],"responses":{"200":{"description":"DataExchangeLedgerAccount resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeLedgerAccount"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeLedgerAccount resource.","description":"Retrieves a DataExchangeLedgerAccount resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeLedgerAccount identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-marketing-mail-contacts":{"get":{"operationId":"api_publicv1data-exchange-marketing-mail-contacts_get_collection","tags":["DataExchangeMarketingMailContact"],"responses":{"200":{"description":"DataExchangeMarketingMailContact collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeMarketingMailContact"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeMarketingMailContact resources.","description":"Retrieves the collection of DataExchangeMarketingMailContact resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-marketing-mail-contacts\/{id}":{"get":{"operationId":"api_publicv1data-exchange-marketing-mail-contacts_id_get","tags":["DataExchangeMarketingMailContact"],"responses":{"200":{"description":"DataExchangeMarketingMailContact resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeMarketingMailContact"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeMarketingMailContact resource.","description":"Retrieves a DataExchangeMarketingMailContact resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeMarketingMailContact identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-nieuwkoop-products":{"get":{"operationId":"api_publicv1data-exchange-nieuwkoop-products_get_collection","tags":["DataExchangeNieuwkoopProduct"],"responses":{"200":{"description":"DataExchangeNieuwkoopProduct collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeNieuwkoopProduct"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeNieuwkoopProduct resources.","description":"Retrieves the collection of DataExchangeNieuwkoopProduct resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-nieuwkoop-products\/{id}":{"get":{"operationId":"api_publicv1data-exchange-nieuwkoop-products_id_get","tags":["DataExchangeNieuwkoopProduct"],"responses":{"200":{"description":"DataExchangeNieuwkoopProduct resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeNieuwkoopProduct"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeNieuwkoopProduct resource.","description":"Retrieves a DataExchangeNieuwkoopProduct resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeNieuwkoopProduct identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-price-list-lines":{"get":{"operationId":"api_publicv1data-exchange-price-list-lines_get_collection","tags":["DataExchangePriceListLine"],"responses":{"200":{"description":"DataExchangePriceListLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangePriceListLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangePriceListLine resources.","description":"Retrieves the collection of DataExchangePriceListLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-price-list-lines\/{id}":{"get":{"operationId":"api_publicv1data-exchange-price-list-lines_id_get","tags":["DataExchangePriceListLine"],"responses":{"200":{"description":"DataExchangePriceListLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangePriceListLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangePriceListLine resource.","description":"Retrieves a DataExchangePriceListLine resource.","parameters":[{"name":"id","in":"path","description":"DataExchangePriceListLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-products":{"get":{"operationId":"api_publicv1data-exchange-products_get_collection","tags":["DataExchangeProduct"],"responses":{"200":{"description":"DataExchangeProduct collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeProduct"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeProduct resources.","description":"Retrieves the collection of DataExchangeProduct resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-products\/{id}":{"get":{"operationId":"api_publicv1data-exchange-products_id_get","tags":["DataExchangeProduct"],"responses":{"200":{"description":"DataExchangeProduct resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeProduct"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeProduct resource.","description":"Retrieves a DataExchangeProduct resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeProduct identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-sale-force-accounts":{"get":{"operationId":"api_publicv1data-exchange-sale-force-accounts_get_collection","tags":["DataExchangeSaleForceAccount"],"responses":{"200":{"description":"DataExchangeSaleForceAccount collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeSaleForceAccount"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeSaleForceAccount resources.","description":"Retrieves the collection of DataExchangeSaleForceAccount resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-sale-force-accounts\/{id}":{"get":{"operationId":"api_publicv1data-exchange-sale-force-accounts_id_get","tags":["DataExchangeSaleForceAccount"],"responses":{"200":{"description":"DataExchangeSaleForceAccount resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeSaleForceAccount"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeSaleForceAccount resource.","description":"Retrieves a DataExchangeSaleForceAccount resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeSaleForceAccount identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-sale-force-contacts":{"get":{"operationId":"api_publicv1data-exchange-sale-force-contacts_get_collection","tags":["DataExchangeSaleForceContact"],"responses":{"200":{"description":"DataExchangeSaleForceContact collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeSaleForceContact"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeSaleForceContact resources.","description":"Retrieves the collection of DataExchangeSaleForceContact resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-sale-force-contacts\/{id}":{"get":{"operationId":"api_publicv1data-exchange-sale-force-contacts_id_get","tags":["DataExchangeSaleForceContact"],"responses":{"200":{"description":"DataExchangeSaleForceContact resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeSaleForceContact"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeSaleForceContact resource.","description":"Retrieves a DataExchangeSaleForceContact resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeSaleForceContact identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-supplier-contacts":{"get":{"operationId":"api_publicv1data-exchange-supplier-contacts_get_collection","tags":["DataExchangeSupplierContact"],"responses":{"200":{"description":"DataExchangeSupplierContact collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeSupplierContact"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeSupplierContact resources.","description":"Retrieves the collection of DataExchangeSupplierContact resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-supplier-contacts\/{id}":{"get":{"operationId":"api_publicv1data-exchange-supplier-contacts_id_get","tags":["DataExchangeSupplierContact"],"responses":{"200":{"description":"DataExchangeSupplierContact resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeSupplierContact"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeSupplierContact resource.","description":"Retrieves a DataExchangeSupplierContact resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeSupplierContact identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/data-exchange-tax-codes":{"get":{"operationId":"api_publicv1data-exchange-tax-codes_get_collection","tags":["DataExchangeTaxCode"],"responses":{"200":{"description":"DataExchangeTaxCode collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DataExchangeTaxCode"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DataExchangeTaxCode resources.","description":"Retrieves the collection of DataExchangeTaxCode resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/data-exchange-tax-codes\/{id}":{"get":{"operationId":"api_publicv1data-exchange-tax-codes_id_get","tags":["DataExchangeTaxCode"],"responses":{"200":{"description":"DataExchangeTaxCode resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DataExchangeTaxCode"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DataExchangeTaxCode resource.","description":"Retrieves a DataExchangeTaxCode resource.","parameters":[{"name":"id","in":"path","description":"DataExchangeTaxCode identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/debit-notes":{"get":{"operationId":"api_publicv1debit-notes_get_collection","tags":["DebitNote"],"responses":{"200":{"description":"DebitNote collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DebitNote"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DebitNote resources.","description":"Retrieves the collection of DebitNote resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/debit-notes\/{id}":{"get":{"operationId":"api_publicv1debit-notes_id_get","tags":["DebitNote"],"responses":{"200":{"description":"DebitNote resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DebitNote"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DebitNote resource.","description":"Retrieves a DebitNote resource.","parameters":[{"name":"id","in":"path","description":"DebitNote identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/debit-note-addresses":{"get":{"operationId":"api_publicv1debit-note-addresses_get_collection","tags":["DebitNoteAddress"],"responses":{"200":{"description":"DebitNoteAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DebitNoteAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DebitNoteAddress resources.","description":"Retrieves the collection of DebitNoteAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/debit-note-addresses\/{id}":{"get":{"operationId":"api_publicv1debit-note-addresses_id_get","tags":["DebitNoteAddress"],"responses":{"200":{"description":"DebitNoteAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DebitNoteAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DebitNoteAddress resource.","description":"Retrieves a DebitNoteAddress resource.","parameters":[{"name":"id","in":"path","description":"DebitNoteAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/debit-note-definitions":{"get":{"operationId":"api_publicv1debit-note-definitions_get_collection","tags":["DebitNoteDefinition"],"responses":{"200":{"description":"DebitNoteDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DebitNoteDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DebitNoteDefinition resources.","description":"Retrieves the collection of DebitNoteDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/debit-note-definitions\/{id}":{"get":{"operationId":"api_publicv1debit-note-definitions_id_get","tags":["DebitNoteDefinition"],"responses":{"200":{"description":"DebitNoteDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DebitNoteDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DebitNoteDefinition resource.","description":"Retrieves a DebitNoteDefinition resource.","parameters":[{"name":"id","in":"path","description":"DebitNoteDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/debit-note-histories":{"get":{"operationId":"api_publicv1debit-note-histories_get_collection","tags":["DebitNoteHistory"],"responses":{"200":{"description":"DebitNoteHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DebitNoteHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DebitNoteHistory resources.","description":"Retrieves the collection of DebitNoteHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/debit-note-histories\/{id}":{"get":{"operationId":"api_publicv1debit-note-histories_id_get","tags":["DebitNoteHistory"],"responses":{"200":{"description":"DebitNoteHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DebitNoteHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DebitNoteHistory resource.","description":"Retrieves a DebitNoteHistory resource.","parameters":[{"name":"id","in":"path","description":"DebitNoteHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/debit-note-lines":{"get":{"operationId":"api_publicv1debit-note-lines_get_collection","tags":["DebitNoteLine"],"responses":{"200":{"description":"DebitNoteLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DebitNoteLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DebitNoteLine resources.","description":"Retrieves the collection of DebitNoteLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/debit-note-lines\/{id}":{"get":{"operationId":"api_publicv1debit-note-lines_id_get","tags":["DebitNoteLine"],"responses":{"200":{"description":"DebitNoteLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DebitNoteLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DebitNoteLine resource.","description":"Retrieves a DebitNoteLine resource.","parameters":[{"name":"id","in":"path","description":"DebitNoteLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/departments":{"get":{"operationId":"api_publicv1departments_get_collection","tags":["Department"],"responses":{"200":{"description":"Department collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Department"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Department resources.","description":"Retrieves the collection of Department resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/departments\/{id}":{"get":{"operationId":"api_publicv1departments_id_get","tags":["Department"],"responses":{"200":{"description":"Department resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Department"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Department resource.","description":"Retrieves a Department resource.","parameters":[{"name":"id","in":"path","description":"Department identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-approvals":{"get":{"operationId":"api_publicv1document-approvals_get_collection","tags":["DocumentApproval"],"responses":{"200":{"description":"DocumentApproval collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentApproval"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentApproval resources.","description":"Retrieves the collection of DocumentApproval resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-approvals\/{id}":{"get":{"operationId":"api_publicv1document-approvals_id_get","tags":["DocumentApproval"],"responses":{"200":{"description":"DocumentApproval resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentApproval"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentApproval resource.","description":"Retrieves a DocumentApproval resource.","parameters":[{"name":"id","in":"path","description":"DocumentApproval identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-e-way-bills":{"get":{"operationId":"api_publicv1document-e-way-bills_get_collection","tags":["DocumentEWayBill"],"responses":{"200":{"description":"DocumentEWayBill collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentEWayBill"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentEWayBill resources.","description":"Retrieves the collection of DocumentEWayBill resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-e-way-bills\/{id}":{"get":{"operationId":"api_publicv1document-e-way-bills_id_get","tags":["DocumentEWayBill"],"responses":{"200":{"description":"DocumentEWayBill resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentEWayBill"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentEWayBill resource.","description":"Retrieves a DocumentEWayBill resource.","parameters":[{"name":"id","in":"path","description":"DocumentEWayBill identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-histories":{"get":{"operationId":"api_publicv1document-histories_get_collection","tags":["DocumentHistory"],"responses":{"200":{"description":"DocumentHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentHistory resources.","description":"Retrieves the collection of DocumentHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-histories\/{id}":{"get":{"operationId":"api_publicv1document-histories_id_get","tags":["DocumentHistory"],"responses":{"200":{"description":"DocumentHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentHistory resource.","description":"Retrieves a DocumentHistory resource.","parameters":[{"name":"id","in":"path","description":"DocumentHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-invoice-govt-report-peppol-inbound-logs":{"get":{"operationId":"api_publicv1document-invoice-govt-report-peppol-inbound-logs_get_collection","tags":["DocumentInvoiceGovtReportPeppolInboundLog"],"responses":{"200":{"description":"DocumentInvoiceGovtReportPeppolInboundLog collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentInvoiceGovtReportPeppolInboundLog"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentInvoiceGovtReportPeppolInboundLog resources.","description":"Retrieves the collection of DocumentInvoiceGovtReportPeppolInboundLog resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-invoice-govt-report-peppol-inbound-logs\/{id}":{"get":{"operationId":"api_publicv1document-invoice-govt-report-peppol-inbound-logs_id_get","tags":["DocumentInvoiceGovtReportPeppolInboundLog"],"responses":{"200":{"description":"DocumentInvoiceGovtReportPeppolInboundLog resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentInvoiceGovtReportPeppolInboundLog"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentInvoiceGovtReportPeppolInboundLog resource.","description":"Retrieves a DocumentInvoiceGovtReportPeppolInboundLog resource.","parameters":[{"name":"id","in":"path","description":"DocumentInvoiceGovtReportPeppolInboundLog identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-invoice-govt-report-peppol-outbound-logs":{"get":{"operationId":"api_publicv1document-invoice-govt-report-peppol-outbound-logs_get_collection","tags":["DocumentInvoiceGovtReportPeppolOutboundLog"],"responses":{"200":{"description":"DocumentInvoiceGovtReportPeppolOutboundLog collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentInvoiceGovtReportPeppolOutboundLog"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentInvoiceGovtReportPeppolOutboundLog resources.","description":"Retrieves the collection of DocumentInvoiceGovtReportPeppolOutboundLog resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-invoice-govt-report-peppol-outbound-logs\/{id}":{"get":{"operationId":"api_publicv1document-invoice-govt-report-peppol-outbound-logs_id_get","tags":["DocumentInvoiceGovtReportPeppolOutboundLog"],"responses":{"200":{"description":"DocumentInvoiceGovtReportPeppolOutboundLog resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentInvoiceGovtReportPeppolOutboundLog"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentInvoiceGovtReportPeppolOutboundLog resource.","description":"Retrieves a DocumentInvoiceGovtReportPeppolOutboundLog resource.","parameters":[{"name":"id","in":"path","description":"DocumentInvoiceGovtReportPeppolOutboundLog identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-invoice-govt-report-szamla-logs":{"get":{"operationId":"api_publicv1document-invoice-govt-report-szamla-logs_get_collection","tags":["DocumentInvoiceGovtReportSzamlaLog"],"responses":{"200":{"description":"DocumentInvoiceGovtReportSzamlaLog collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentInvoiceGovtReportSzamlaLog"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentInvoiceGovtReportSzamlaLog resources.","description":"Retrieves the collection of DocumentInvoiceGovtReportSzamlaLog resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-invoice-govt-report-szamla-logs\/{id}":{"get":{"operationId":"api_publicv1document-invoice-govt-report-szamla-logs_id_get","tags":["DocumentInvoiceGovtReportSzamlaLog"],"responses":{"200":{"description":"DocumentInvoiceGovtReportSzamlaLog resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentInvoiceGovtReportSzamlaLog"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentInvoiceGovtReportSzamlaLog resource.","description":"Retrieves a DocumentInvoiceGovtReportSzamlaLog resource.","parameters":[{"name":"id","in":"path","description":"DocumentInvoiceGovtReportSzamlaLog identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-line-archives":{"get":{"operationId":"api_publicv1document-line-archives_get_collection","tags":["DocumentLineArchive"],"responses":{"200":{"description":"DocumentLineArchive collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentLineArchive"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentLineArchive resources.","description":"Retrieves the collection of DocumentLineArchive resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-line-archives\/{id}":{"get":{"operationId":"api_publicv1document-line-archives_id_get","tags":["DocumentLineArchive"],"responses":{"200":{"description":"DocumentLineArchive resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentLineArchive"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentLineArchive resource.","description":"Retrieves a DocumentLineArchive resource.","parameters":[{"name":"id","in":"path","description":"DocumentLineArchive identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-line-taxes":{"get":{"operationId":"api_publicv1document-line-taxes_get_collection","tags":["DocumentLineTax"],"responses":{"200":{"description":"DocumentLineTax collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentLineTax"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentLineTax resources.","description":"Retrieves the collection of DocumentLineTax resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-line-taxes\/{id}":{"get":{"operationId":"api_publicv1document-line-taxes_id_get","tags":["DocumentLineTax"],"responses":{"200":{"description":"DocumentLineTax resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentLineTax"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentLineTax resource.","description":"Retrieves a DocumentLineTax resource.","parameters":[{"name":"id","in":"path","description":"DocumentLineTax identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-lookup-relateds":{"get":{"operationId":"api_publicv1document-lookup-relateds_get_collection","tags":["DocumentLookupRelated"],"responses":{"200":{"description":"DocumentLookupRelated collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentLookupRelated"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentLookupRelated resources.","description":"Retrieves the collection of DocumentLookupRelated resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-lookup-relateds\/{id}":{"get":{"operationId":"api_publicv1document-lookup-relateds_id_get","tags":["DocumentLookupRelated"],"responses":{"200":{"description":"DocumentLookupRelated resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentLookupRelated"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentLookupRelated resource.","description":"Retrieves a DocumentLookupRelated resource.","parameters":[{"name":"id","in":"path","description":"DocumentLookupRelated identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-packing-note-wave-lists":{"get":{"operationId":"api_publicv1document-packing-note-wave-lists_get_collection","tags":["DocumentPackingNoteWaveList"],"responses":{"200":{"description":"DocumentPackingNoteWaveList collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentPackingNoteWaveList"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentPackingNoteWaveList resources.","description":"Retrieves the collection of DocumentPackingNoteWaveList resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-packing-note-wave-lists\/{id}":{"get":{"operationId":"api_publicv1document-packing-note-wave-lists_id_get","tags":["DocumentPackingNoteWaveList"],"responses":{"200":{"description":"DocumentPackingNoteWaveList resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentPackingNoteWaveList"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentPackingNoteWaveList resource.","description":"Retrieves a DocumentPackingNoteWaveList resource.","parameters":[{"name":"id","in":"path","description":"DocumentPackingNoteWaveList identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-recurring-invoice-histories":{"get":{"operationId":"api_publicv1document-recurring-invoice-histories_get_collection","tags":["DocumentRecurringInvoiceHistory"],"responses":{"200":{"description":"DocumentRecurringInvoiceHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentRecurringInvoiceHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentRecurringInvoiceHistory resources.","description":"Retrieves the collection of DocumentRecurringInvoiceHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-recurring-invoice-histories\/{id}":{"get":{"operationId":"api_publicv1document-recurring-invoice-histories_id_get","tags":["DocumentRecurringInvoiceHistory"],"responses":{"200":{"description":"DocumentRecurringInvoiceHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentRecurringInvoiceHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentRecurringInvoiceHistory resource.","description":"Retrieves a DocumentRecurringInvoiceHistory resource.","parameters":[{"name":"id","in":"path","description":"DocumentRecurringInvoiceHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-recurring-purchase-histories":{"get":{"operationId":"api_publicv1document-recurring-purchase-histories_get_collection","tags":["DocumentRecurringPurchaseHistory"],"responses":{"200":{"description":"DocumentRecurringPurchaseHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentRecurringPurchaseHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentRecurringPurchaseHistory resources.","description":"Retrieves the collection of DocumentRecurringPurchaseHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-recurring-purchase-histories\/{id}":{"get":{"operationId":"api_publicv1document-recurring-purchase-histories_id_get","tags":["DocumentRecurringPurchaseHistory"],"responses":{"200":{"description":"DocumentRecurringPurchaseHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentRecurringPurchaseHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentRecurringPurchaseHistory resource.","description":"Retrieves a DocumentRecurringPurchaseHistory resource.","parameters":[{"name":"id","in":"path","description":"DocumentRecurringPurchaseHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-shipment-histories":{"get":{"operationId":"api_publicv1document-shipment-histories_get_collection","tags":["DocumentShipmentHistory"],"responses":{"200":{"description":"DocumentShipmentHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentShipmentHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentShipmentHistory resources.","description":"Retrieves the collection of DocumentShipmentHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-shipment-histories\/{id}":{"get":{"operationId":"api_publicv1document-shipment-histories_id_get","tags":["DocumentShipmentHistory"],"responses":{"200":{"description":"DocumentShipmentHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentShipmentHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentShipmentHistory resource.","description":"Retrieves a DocumentShipmentHistory resource.","parameters":[{"name":"id","in":"path","description":"DocumentShipmentHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-source-invoices":{"get":{"operationId":"api_publicv1document-source-invoices_get_collection","tags":["DocumentSourceInvoice"],"responses":{"200":{"description":"DocumentSourceInvoice collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentSourceInvoice"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentSourceInvoice resources.","description":"Retrieves the collection of DocumentSourceInvoice resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-source-invoices\/{id}":{"get":{"operationId":"api_publicv1document-source-invoices_id_get","tags":["DocumentSourceInvoice"],"responses":{"200":{"description":"DocumentSourceInvoice resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentSourceInvoice"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentSourceInvoice resource.","description":"Retrieves a DocumentSourceInvoice resource.","parameters":[{"name":"id","in":"path","description":"DocumentSourceInvoice identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/document-workflow-histories":{"get":{"operationId":"api_publicv1document-workflow-histories_get_collection","tags":["DocumentWorkflowHistory"],"responses":{"200":{"description":"DocumentWorkflowHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/DocumentWorkflowHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of DocumentWorkflowHistory resources.","description":"Retrieves the collection of DocumentWorkflowHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/document-workflow-histories\/{id}":{"get":{"operationId":"api_publicv1document-workflow-histories_id_get","tags":["DocumentWorkflowHistory"],"responses":{"200":{"description":"DocumentWorkflowHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DocumentWorkflowHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a DocumentWorkflowHistory resource.","description":"Retrieves a DocumentWorkflowHistory resource.","parameters":[{"name":"id","in":"path","description":"DocumentWorkflowHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/employees":{"get":{"operationId":"api_publicv1employees_get_collection","tags":["Employee"],"responses":{"200":{"description":"Employee collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Employee"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Employee resources.","description":"Retrieves the collection of Employee resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/employees\/{id}":{"get":{"operationId":"api_publicv1employees_id_get","tags":["Employee"],"responses":{"200":{"description":"Employee resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Employee"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Employee resource.","description":"Retrieves a Employee resource.","parameters":[{"name":"id","in":"path","description":"Employee identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/employment-contracts":{"get":{"operationId":"api_publicv1employment-contracts_get_collection","tags":["EmploymentContract"],"responses":{"200":{"description":"EmploymentContract collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/EmploymentContract"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of EmploymentContract resources.","description":"Retrieves the collection of EmploymentContract resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/employment-contracts\/{id}":{"get":{"operationId":"api_publicv1employment-contracts_id_get","tags":["EmploymentContract"],"responses":{"200":{"description":"EmploymentContract resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/EmploymentContract"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a EmploymentContract resource.","description":"Retrieves a EmploymentContract resource.","parameters":[{"name":"id","in":"path","description":"EmploymentContract identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/expense-claims":{"get":{"operationId":"api_publicv1expense-claims_get_collection","tags":["ExpenseClaim"],"responses":{"200":{"description":"ExpenseClaim collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ExpenseClaim"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ExpenseClaim resources.","description":"Retrieves the collection of ExpenseClaim resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/expense-claims\/{id}":{"get":{"operationId":"api_publicv1expense-claims_id_get","tags":["ExpenseClaim"],"responses":{"200":{"description":"ExpenseClaim resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ExpenseClaim"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ExpenseClaim resource.","description":"Retrieves a ExpenseClaim resource.","parameters":[{"name":"id","in":"path","description":"ExpenseClaim identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/expense-claim-lines":{"get":{"operationId":"api_publicv1expense-claim-lines_get_collection","tags":["ExpenseClaimLine"],"responses":{"200":{"description":"ExpenseClaimLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ExpenseClaimLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ExpenseClaimLine resources.","description":"Retrieves the collection of ExpenseClaimLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/expense-claim-lines\/{id}":{"get":{"operationId":"api_publicv1expense-claim-lines_id_get","tags":["ExpenseClaimLine"],"responses":{"200":{"description":"ExpenseClaimLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ExpenseClaimLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ExpenseClaimLine resource.","description":"Retrieves a ExpenseClaimLine resource.","parameters":[{"name":"id","in":"path","description":"ExpenseClaimLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/finance-bank-statements":{"get":{"operationId":"api_publicv1finance-bank-statements_get_collection","tags":["FinanceBankStatement"],"responses":{"200":{"description":"FinanceBankStatement collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FinanceBankStatement"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FinanceBankStatement resources.","description":"Retrieves the collection of FinanceBankStatement resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/finance-bank-statements\/{id}":{"get":{"operationId":"api_publicv1finance-bank-statements_id_get","tags":["FinanceBankStatement"],"responses":{"200":{"description":"FinanceBankStatement resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FinanceBankStatement"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FinanceBankStatement resource.","description":"Retrieves a FinanceBankStatement resource.","parameters":[{"name":"id","in":"path","description":"FinanceBankStatement identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/finance-bank-statement-histories":{"get":{"operationId":"api_publicv1finance-bank-statement-histories_get_collection","tags":["FinanceBankStatementHistory"],"responses":{"200":{"description":"FinanceBankStatementHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FinanceBankStatementHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FinanceBankStatementHistory resources.","description":"Retrieves the collection of FinanceBankStatementHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/finance-bank-statement-histories\/{id}":{"get":{"operationId":"api_publicv1finance-bank-statement-histories_id_get","tags":["FinanceBankStatementHistory"],"responses":{"200":{"description":"FinanceBankStatementHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FinanceBankStatementHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FinanceBankStatementHistory resource.","description":"Retrieves a FinanceBankStatementHistory resource.","parameters":[{"name":"id","in":"path","description":"FinanceBankStatementHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/finance-bank-statement-lines":{"get":{"operationId":"api_publicv1finance-bank-statement-lines_get_collection","tags":["FinanceBankStatementLine"],"responses":{"200":{"description":"FinanceBankStatementLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FinanceBankStatementLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FinanceBankStatementLine resources.","description":"Retrieves the collection of FinanceBankStatementLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/finance-bank-statement-lines\/{id}":{"get":{"operationId":"api_publicv1finance-bank-statement-lines_id_get","tags":["FinanceBankStatementLine"],"responses":{"200":{"description":"FinanceBankStatementLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FinanceBankStatementLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FinanceBankStatementLine resource.","description":"Retrieves a FinanceBankStatementLine resource.","parameters":[{"name":"id","in":"path","description":"FinanceBankStatementLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/finance-bank-statement-line-transactions":{"get":{"operationId":"api_publicv1finance-bank-statement-line-transactions_get_collection","tags":["FinanceBankStatementLineTransaction"],"responses":{"200":{"description":"FinanceBankStatementLineTransaction collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FinanceBankStatementLineTransaction"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FinanceBankStatementLineTransaction resources.","description":"Retrieves the collection of FinanceBankStatementLineTransaction resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/finance-bank-statement-line-transactions\/{id}":{"get":{"operationId":"api_publicv1finance-bank-statement-line-transactions_id_get","tags":["FinanceBankStatementLineTransaction"],"responses":{"200":{"description":"FinanceBankStatementLineTransaction resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FinanceBankStatementLineTransaction"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FinanceBankStatementLineTransaction resource.","description":"Retrieves a FinanceBankStatementLineTransaction resource.","parameters":[{"name":"id","in":"path","description":"FinanceBankStatementLineTransaction identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/finance-journals":{"get":{"operationId":"api_publicv1finance-journals_get_collection","tags":["FinanceJournal"],"responses":{"200":{"description":"FinanceJournal collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FinanceJournal"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FinanceJournal resources.","description":"Retrieves the collection of FinanceJournal resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/finance-journals\/{id}":{"get":{"operationId":"api_publicv1finance-journals_id_get","tags":["FinanceJournal"],"responses":{"200":{"description":"FinanceJournal resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FinanceJournal"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FinanceJournal resource.","description":"Retrieves a FinanceJournal resource.","parameters":[{"name":"id","in":"path","description":"FinanceJournal identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/finance-journal-lines":{"get":{"operationId":"api_publicv1finance-journal-lines_get_collection","tags":["FinanceJournalLine"],"responses":{"200":{"description":"FinanceJournalLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FinanceJournalLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FinanceJournalLine resources.","description":"Retrieves the collection of FinanceJournalLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/finance-journal-lines\/{id}":{"get":{"operationId":"api_publicv1finance-journal-lines_id_get","tags":["FinanceJournalLine"],"responses":{"200":{"description":"FinanceJournalLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FinanceJournalLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FinanceJournalLine resource.","description":"Retrieves a FinanceJournalLine resource.","parameters":[{"name":"id","in":"path","description":"FinanceJournalLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/finance-ledger-accounts":{"get":{"operationId":"api_publicv1finance-ledger-accounts_get_collection","tags":["FinanceLedgerAccount"],"responses":{"200":{"description":"FinanceLedgerAccount collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FinanceLedgerAccount"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FinanceLedgerAccount resources.","description":"Retrieves the collection of FinanceLedgerAccount resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/finance-ledger-accounts\/{id}":{"get":{"operationId":"api_publicv1finance-ledger-accounts_id_get","tags":["FinanceLedgerAccount"],"responses":{"200":{"description":"FinanceLedgerAccount resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FinanceLedgerAccount"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FinanceLedgerAccount resource.","description":"Retrieves a FinanceLedgerAccount resource.","parameters":[{"name":"id","in":"path","description":"FinanceLedgerAccount identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/finance-ledger-account-categories":{"get":{"operationId":"api_publicv1finance-ledger-account-categories_get_collection","tags":["FinanceLedgerAccountCategory"],"responses":{"200":{"description":"FinanceLedgerAccountCategory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FinanceLedgerAccountCategory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FinanceLedgerAccountCategory resources.","description":"Retrieves the collection of FinanceLedgerAccountCategory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/finance-ledger-account-categories\/{id}":{"get":{"operationId":"api_publicv1finance-ledger-account-categories_id_get","tags":["FinanceLedgerAccountCategory"],"responses":{"200":{"description":"FinanceLedgerAccountCategory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FinanceLedgerAccountCategory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FinanceLedgerAccountCategory resource.","description":"Retrieves a FinanceLedgerAccountCategory resource.","parameters":[{"name":"id","in":"path","description":"FinanceLedgerAccountCategory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/fiscal-periods":{"get":{"operationId":"api_publicv1fiscal-periods_get_collection","tags":["FiscalPeriod"],"responses":{"200":{"description":"FiscalPeriod collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FiscalPeriod"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FiscalPeriod resources.","description":"Retrieves the collection of FiscalPeriod resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/fiscal-periods\/{id}":{"get":{"operationId":"api_publicv1fiscal-periods_id_get","tags":["FiscalPeriod"],"responses":{"200":{"description":"FiscalPeriod resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FiscalPeriod"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FiscalPeriod resource.","description":"Retrieves a FiscalPeriod resource.","parameters":[{"name":"id","in":"path","description":"FiscalPeriod identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/fixed-assets":{"get":{"operationId":"api_publicv1fixed-assets_get_collection","tags":["FixedAsset"],"responses":{"200":{"description":"FixedAsset collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FixedAsset"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FixedAsset resources.","description":"Retrieves the collection of FixedAsset resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/fixed-assets\/{id}":{"get":{"operationId":"api_publicv1fixed-assets_id_get","tags":["FixedAsset"],"responses":{"200":{"description":"FixedAsset resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FixedAsset"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FixedAsset resource.","description":"Retrieves a FixedAsset resource.","parameters":[{"name":"id","in":"path","description":"FixedAsset identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/fixed-asset-categories":{"get":{"operationId":"api_publicv1fixed-asset-categories_get_collection","tags":["FixedAssetCategory"],"responses":{"200":{"description":"FixedAssetCategory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FixedAssetCategory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FixedAssetCategory resources.","description":"Retrieves the collection of FixedAssetCategory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/fixed-asset-categories\/{id}":{"get":{"operationId":"api_publicv1fixed-asset-categories_id_get","tags":["FixedAssetCategory"],"responses":{"200":{"description":"FixedAssetCategory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FixedAssetCategory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FixedAssetCategory resource.","description":"Retrieves a FixedAssetCategory resource.","parameters":[{"name":"id","in":"path","description":"FixedAssetCategory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/fixed-asset-depreciations":{"get":{"operationId":"api_publicv1fixed-asset-depreciations_get_collection","tags":["FixedAssetDepreciation"],"responses":{"200":{"description":"FixedAssetDepreciation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FixedAssetDepreciation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FixedAssetDepreciation resources.","description":"Retrieves the collection of FixedAssetDepreciation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/fixed-asset-depreciations\/{id}":{"get":{"operationId":"api_publicv1fixed-asset-depreciations_id_get","tags":["FixedAssetDepreciation"],"responses":{"200":{"description":"FixedAssetDepreciation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FixedAssetDepreciation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FixedAssetDepreciation resource.","description":"Retrieves a FixedAssetDepreciation resource.","parameters":[{"name":"id","in":"path","description":"FixedAssetDepreciation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/fixed-asset-disposals":{"get":{"operationId":"api_publicv1fixed-asset-disposals_get_collection","tags":["FixedAssetDisposal"],"responses":{"200":{"description":"FixedAssetDisposal collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FixedAssetDisposal"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FixedAssetDisposal resources.","description":"Retrieves the collection of FixedAssetDisposal resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/fixed-asset-disposals\/{id}":{"get":{"operationId":"api_publicv1fixed-asset-disposals_id_get","tags":["FixedAssetDisposal"],"responses":{"200":{"description":"FixedAssetDisposal resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FixedAssetDisposal"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FixedAssetDisposal resource.","description":"Retrieves a FixedAssetDisposal resource.","parameters":[{"name":"id","in":"path","description":"FixedAssetDisposal identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/fixed-asset-revaluations":{"get":{"operationId":"api_publicv1fixed-asset-revaluations_get_collection","tags":["FixedAssetRevaluation"],"responses":{"200":{"description":"FixedAssetRevaluation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/FixedAssetRevaluation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of FixedAssetRevaluation resources.","description":"Retrieves the collection of FixedAssetRevaluation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/fixed-asset-revaluations\/{id}":{"get":{"operationId":"api_publicv1fixed-asset-revaluations_id_get","tags":["FixedAssetRevaluation"],"responses":{"200":{"description":"FixedAssetRevaluation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/FixedAssetRevaluation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a FixedAssetRevaluation resource.","description":"Retrieves a FixedAssetRevaluation resource.","parameters":[{"name":"id","in":"path","description":"FixedAssetRevaluation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/forecast-snapshots":{"get":{"operationId":"api_publicv1forecast-snapshots_get_collection","tags":["ForecastSnapshot"],"responses":{"200":{"description":"ForecastSnapshot collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ForecastSnapshot"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ForecastSnapshot resources.","description":"Retrieves the collection of ForecastSnapshot resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/forecast-snapshots\/{id}":{"get":{"operationId":"api_publicv1forecast-snapshots_id_get","tags":["ForecastSnapshot"],"responses":{"200":{"description":"ForecastSnapshot resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ForecastSnapshot"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ForecastSnapshot resource.","description":"Retrieves a ForecastSnapshot resource.","parameters":[{"name":"id","in":"path","description":"ForecastSnapshot identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/general-feature-requests":{"get":{"operationId":"api_publicv1general-feature-requests_get_collection","tags":["GeneralFeatureRequest"],"responses":{"200":{"description":"GeneralFeatureRequest collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/GeneralFeatureRequest"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of GeneralFeatureRequest resources.","description":"Retrieves the collection of GeneralFeatureRequest resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/general-feature-requests\/{id}":{"get":{"operationId":"api_publicv1general-feature-requests_id_get","tags":["GeneralFeatureRequest"],"responses":{"200":{"description":"GeneralFeatureRequest resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/GeneralFeatureRequest"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a GeneralFeatureRequest resource.","description":"Retrieves a GeneralFeatureRequest resource.","parameters":[{"name":"id","in":"path","description":"GeneralFeatureRequest identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/general-feedbacks":{"get":{"operationId":"api_publicv1general-feedbacks_get_collection","tags":["GeneralFeedback"],"responses":{"200":{"description":"GeneralFeedback collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/GeneralFeedback"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of GeneralFeedback resources.","description":"Retrieves the collection of GeneralFeedback resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/general-feedbacks\/{id}":{"get":{"operationId":"api_publicv1general-feedbacks_id_get","tags":["GeneralFeedback"],"responses":{"200":{"description":"GeneralFeedback resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/GeneralFeedback"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a GeneralFeedback resource.","description":"Retrieves a GeneralFeedback resource.","parameters":[{"name":"id","in":"path","description":"GeneralFeedback identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/general-uploads":{"get":{"operationId":"api_publicv1general-uploads_get_collection","tags":["GeneralUpload"],"responses":{"200":{"description":"GeneralUpload collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/GeneralUpload"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of GeneralUpload resources.","description":"Retrieves the collection of GeneralUpload resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/general-uploads\/{id}":{"get":{"operationId":"api_publicv1general-uploads_id_get","tags":["GeneralUpload"],"responses":{"200":{"description":"GeneralUpload resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/GeneralUpload"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a GeneralUpload resource.","description":"Retrieves a GeneralUpload resource.","parameters":[{"name":"id","in":"path","description":"GeneralUpload identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/goods-receipts":{"get":{"operationId":"api_publicv1goods-receipts_get_collection","tags":["GoodsReceipt"],"responses":{"200":{"description":"GoodsReceipt collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/GoodsReceipt"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of GoodsReceipt resources.","description":"Retrieves the collection of GoodsReceipt resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/goods-receipts\/{id}":{"get":{"operationId":"api_publicv1goods-receipts_id_get","tags":["GoodsReceipt"],"responses":{"200":{"description":"GoodsReceipt resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/GoodsReceipt"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a GoodsReceipt resource.","description":"Retrieves a GoodsReceipt resource.","parameters":[{"name":"id","in":"path","description":"GoodsReceipt identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/goods-receipt-lines":{"get":{"operationId":"api_publicv1goods-receipt-lines_get_collection","tags":["GoodsReceiptLine"],"responses":{"200":{"description":"GoodsReceiptLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/GoodsReceiptLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of GoodsReceiptLine resources.","description":"Retrieves the collection of GoodsReceiptLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/goods-receipt-lines\/{id}":{"get":{"operationId":"api_publicv1goods-receipt-lines_id_get","tags":["GoodsReceiptLine"],"responses":{"200":{"description":"GoodsReceiptLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/GoodsReceiptLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a GoodsReceiptLine resource.","description":"Retrieves a GoodsReceiptLine resource.","parameters":[{"name":"id","in":"path","description":"GoodsReceiptLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/helpdesk-tickets":{"get":{"operationId":"api_publicv1helpdesk-tickets_get_collection","tags":["HelpdeskTicket"],"responses":{"200":{"description":"HelpdeskTicket collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/HelpdeskTicket"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of HelpdeskTicket resources.","description":"Retrieves the collection of HelpdeskTicket resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/helpdesk-tickets\/{id}":{"get":{"operationId":"api_publicv1helpdesk-tickets_id_get","tags":["HelpdeskTicket"],"responses":{"200":{"description":"HelpdeskTicket resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/HelpdeskTicket"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a HelpdeskTicket resource.","description":"Retrieves a HelpdeskTicket resource.","parameters":[{"name":"id","in":"path","description":"HelpdeskTicket identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/invoices":{"get":{"operationId":"api_publicv1invoices_get_collection","tags":["Invoice"],"responses":{"200":{"description":"Invoice collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Invoice"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Invoice resources.","description":"Retrieves the collection of Invoice resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/invoices\/{id}":{"get":{"operationId":"api_publicv1invoices_id_get","tags":["Invoice"],"responses":{"200":{"description":"Invoice resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Invoice"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Invoice resource.","description":"Retrieves a Invoice resource.","parameters":[{"name":"id","in":"path","description":"Invoice identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/invoice-addresses":{"get":{"operationId":"api_publicv1invoice-addresses_get_collection","tags":["InvoiceAddress"],"responses":{"200":{"description":"InvoiceAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of InvoiceAddress resources.","description":"Retrieves the collection of InvoiceAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/invoice-addresses\/{id}":{"get":{"operationId":"api_publicv1invoice-addresses_id_get","tags":["InvoiceAddress"],"responses":{"200":{"description":"InvoiceAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvoiceAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a InvoiceAddress resource.","description":"Retrieves a InvoiceAddress resource.","parameters":[{"name":"id","in":"path","description":"InvoiceAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/invoice-definitions":{"get":{"operationId":"api_publicv1invoice-definitions_get_collection","tags":["InvoiceDefinition"],"responses":{"200":{"description":"InvoiceDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of InvoiceDefinition resources.","description":"Retrieves the collection of InvoiceDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/invoice-definitions\/{id}":{"get":{"operationId":"api_publicv1invoice-definitions_id_get","tags":["InvoiceDefinition"],"responses":{"200":{"description":"InvoiceDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvoiceDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a InvoiceDefinition resource.","description":"Retrieves a InvoiceDefinition resource.","parameters":[{"name":"id","in":"path","description":"InvoiceDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/invoice-histories":{"get":{"operationId":"api_publicv1invoice-histories_get_collection","tags":["InvoiceHistory"],"responses":{"200":{"description":"InvoiceHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of InvoiceHistory resources.","description":"Retrieves the collection of InvoiceHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/invoice-histories\/{id}":{"get":{"operationId":"api_publicv1invoice-histories_id_get","tags":["InvoiceHistory"],"responses":{"200":{"description":"InvoiceHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvoiceHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a InvoiceHistory resource.","description":"Retrieves a InvoiceHistory resource.","parameters":[{"name":"id","in":"path","description":"InvoiceHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/invoice-lines":{"get":{"operationId":"api_publicv1invoice-lines_get_collection","tags":["InvoiceLine"],"responses":{"200":{"description":"InvoiceLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of InvoiceLine resources.","description":"Retrieves the collection of InvoiceLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/invoice-lines\/{id}":{"get":{"operationId":"api_publicv1invoice-lines_id_get","tags":["InvoiceLine"],"responses":{"200":{"description":"InvoiceLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvoiceLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a InvoiceLine resource.","description":"Retrieves a InvoiceLine resource.","parameters":[{"name":"id","in":"path","description":"InvoiceLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/invoice-payments":{"get":{"operationId":"api_publicv1invoice-payments_get_collection","tags":["InvoicePayment"],"responses":{"200":{"description":"InvoicePayment collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoicePayment"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of InvoicePayment resources.","description":"Retrieves the collection of InvoicePayment resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/invoice-payments\/{id}":{"get":{"operationId":"api_publicv1invoice-payments_id_get","tags":["InvoicePayment"],"responses":{"200":{"description":"InvoicePayment resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvoicePayment"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a InvoicePayment resource.","description":"Retrieves a InvoicePayment resource.","parameters":[{"name":"id","in":"path","description":"InvoicePayment identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/invoice-proforma-histories":{"get":{"operationId":"api_publicv1invoice-proforma-histories_get_collection","tags":["InvoiceProformaHistory"],"responses":{"200":{"description":"InvoiceProformaHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceProformaHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of InvoiceProformaHistory resources.","description":"Retrieves the collection of InvoiceProformaHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/invoice-proforma-histories\/{id}":{"get":{"operationId":"api_publicv1invoice-proforma-histories_id_get","tags":["InvoiceProformaHistory"],"responses":{"200":{"description":"InvoiceProformaHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvoiceProformaHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a InvoiceProformaHistory resource.","description":"Retrieves a InvoiceProformaHistory resource.","parameters":[{"name":"id","in":"path","description":"InvoiceProformaHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/invoice-recurring-event-histories":{"get":{"operationId":"api_publicv1invoice-recurring-event-histories_get_collection","tags":["InvoiceRecurringEventHistory"],"responses":{"200":{"description":"InvoiceRecurringEventHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/InvoiceRecurringEventHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of InvoiceRecurringEventHistory resources.","description":"Retrieves the collection of InvoiceRecurringEventHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/invoice-recurring-event-histories\/{id}":{"get":{"operationId":"api_publicv1invoice-recurring-event-histories_id_get","tags":["InvoiceRecurringEventHistory"],"responses":{"200":{"description":"InvoiceRecurringEventHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/InvoiceRecurringEventHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a InvoiceRecurringEventHistory resource.","description":"Retrieves a InvoiceRecurringEventHistory resource.","parameters":[{"name":"id","in":"path","description":"InvoiceRecurringEventHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/journals":{"get":{"operationId":"api_publicv1journals_get_collection","tags":["Journal"],"responses":{"200":{"description":"Journal collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Journal"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Journal resources.","description":"Retrieves the collection of Journal resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/journals\/{id}":{"get":{"operationId":"api_publicv1journals_id_get","tags":["Journal"],"responses":{"200":{"description":"Journal resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Journal"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Journal resource.","description":"Retrieves a Journal resource.","parameters":[{"name":"id","in":"path","description":"Journal identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/journal-entries":{"get":{"operationId":"api_publicv1journal-entries_get_collection","tags":["JournalEntry"],"responses":{"200":{"description":"JournalEntry collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/JournalEntry"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of JournalEntry resources.","description":"Retrieves the collection of JournalEntry resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/journal-entries\/{id}":{"get":{"operationId":"api_publicv1journal-entries_id_get","tags":["JournalEntry"],"responses":{"200":{"description":"JournalEntry resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/JournalEntry"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a JournalEntry resource.","description":"Retrieves a JournalEntry resource.","parameters":[{"name":"id","in":"path","description":"JournalEntry identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/journal-entry-lines":{"get":{"operationId":"api_publicv1journal-entry-lines_get_collection","tags":["JournalEntryLine"],"responses":{"200":{"description":"JournalEntryLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/JournalEntryLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of JournalEntryLine resources.","description":"Retrieves the collection of JournalEntryLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/journal-entry-lines\/{id}":{"get":{"operationId":"api_publicv1journal-entry-lines_id_get","tags":["JournalEntryLine"],"responses":{"200":{"description":"JournalEntryLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/JournalEntryLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a JournalEntryLine resource.","description":"Retrieves a JournalEntryLine resource.","parameters":[{"name":"id","in":"path","description":"JournalEntryLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/leads":{"get":{"operationId":"api_publicv1leads_get_collection","tags":["Lead"],"responses":{"200":{"description":"Lead collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Lead"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Lead resources.","description":"Retrieves the collection of Lead resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/leads\/{id}":{"get":{"operationId":"api_publicv1leads_id_get","tags":["Lead"],"responses":{"200":{"description":"Lead resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Lead"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Lead resource.","description":"Retrieves a Lead resource.","parameters":[{"name":"id","in":"path","description":"Lead identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/leave-balances":{"get":{"operationId":"api_publicv1leave-balances_get_collection","tags":["LeaveBalance"],"responses":{"200":{"description":"LeaveBalance collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/LeaveBalance"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of LeaveBalance resources.","description":"Retrieves the collection of LeaveBalance resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/leave-balances\/{id}":{"get":{"operationId":"api_publicv1leave-balances_id_get","tags":["LeaveBalance"],"responses":{"200":{"description":"LeaveBalance resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/LeaveBalance"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a LeaveBalance resource.","description":"Retrieves a LeaveBalance resource.","parameters":[{"name":"id","in":"path","description":"LeaveBalance identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/leave-requests":{"get":{"operationId":"api_publicv1leave-requests_get_collection","tags":["LeaveRequest"],"responses":{"200":{"description":"LeaveRequest collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/LeaveRequest"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of LeaveRequest resources.","description":"Retrieves the collection of LeaveRequest resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/leave-requests\/{id}":{"get":{"operationId":"api_publicv1leave-requests_id_get","tags":["LeaveRequest"],"responses":{"200":{"description":"LeaveRequest resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/LeaveRequest"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a LeaveRequest resource.","description":"Retrieves a LeaveRequest resource.","parameters":[{"name":"id","in":"path","description":"LeaveRequest identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/leave-types":{"get":{"operationId":"api_publicv1leave-types_get_collection","tags":["LeaveType"],"responses":{"200":{"description":"LeaveType collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/LeaveType"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of LeaveType resources.","description":"Retrieves the collection of LeaveType resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/leave-types\/{id}":{"get":{"operationId":"api_publicv1leave-types_id_get","tags":["LeaveType"],"responses":{"200":{"description":"LeaveType resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/LeaveType"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a LeaveType resource.","description":"Retrieves a LeaveType resource.","parameters":[{"name":"id","in":"path","description":"LeaveType identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/licenses":{"get":{"operationId":"api_publicv1licenses_get_collection","tags":["License"],"responses":{"200":{"description":"License collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/License"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of License resources.","description":"Retrieves the collection of License resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/licenses\/{id}":{"get":{"operationId":"api_publicv1licenses_id_get","tags":["License"],"responses":{"200":{"description":"License resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/License"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a License resource.","description":"Retrieves a License resource.","parameters":[{"name":"id","in":"path","description":"License identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/loans":{"get":{"operationId":"api_publicv1loans_get_collection","tags":["Loan"],"responses":{"200":{"description":"Loan collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Loan"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Loan resources.","description":"Retrieves the collection of Loan resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/loans\/{id}":{"get":{"operationId":"api_publicv1loans_id_get","tags":["Loan"],"responses":{"200":{"description":"Loan resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Loan"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Loan resource.","description":"Retrieves a Loan resource.","parameters":[{"name":"id","in":"path","description":"Loan identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/loan-schedule-lines":{"get":{"operationId":"api_publicv1loan-schedule-lines_get_collection","tags":["LoanScheduleLine"],"responses":{"200":{"description":"LoanScheduleLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/LoanScheduleLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of LoanScheduleLine resources.","description":"Retrieves the collection of LoanScheduleLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/loan-schedule-lines\/{id}":{"get":{"operationId":"api_publicv1loan-schedule-lines_id_get","tags":["LoanScheduleLine"],"responses":{"200":{"description":"LoanScheduleLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/LoanScheduleLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a LoanScheduleLine resource.","description":"Retrieves a LoanScheduleLine resource.","parameters":[{"name":"id","in":"path","description":"LoanScheduleLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/loss-reasons":{"get":{"operationId":"api_publicv1loss-reasons_get_collection","tags":["LossReason"],"responses":{"200":{"description":"LossReason collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/LossReason"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of LossReason resources.","description":"Retrieves the collection of LossReason resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/loss-reasons\/{id}":{"get":{"operationId":"api_publicv1loss-reasons_id_get","tags":["LossReason"],"responses":{"200":{"description":"LossReason resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/LossReason"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a LossReason resource.","description":"Retrieves a LossReason resource.","parameters":[{"name":"id","in":"path","description":"LossReason identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/mailboxes":{"get":{"operationId":"api_publicv1mailboxes_get_collection","tags":["Mailbox"],"responses":{"200":{"description":"Mailbox collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Mailbox"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Mailbox resources.","description":"Retrieves the collection of Mailbox resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/mailboxes\/{id}":{"get":{"operationId":"api_publicv1mailboxes_id_get","tags":["Mailbox"],"responses":{"200":{"description":"Mailbox resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Mailbox"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Mailbox resource.","description":"Retrieves a Mailbox resource.","parameters":[{"name":"id","in":"path","description":"Mailbox identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/mailbox-outs":{"get":{"operationId":"api_publicv1mailbox-outs_get_collection","tags":["MailboxOut"],"responses":{"200":{"description":"MailboxOut collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/MailboxOut"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of MailboxOut resources.","description":"Retrieves the collection of MailboxOut resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/mailbox-outs\/{id}":{"get":{"operationId":"api_publicv1mailbox-outs_id_get","tags":["MailboxOut"],"responses":{"200":{"description":"MailboxOut resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MailboxOut"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a MailboxOut resource.","description":"Retrieves a MailboxOut resource.","parameters":[{"name":"id","in":"path","description":"MailboxOut identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/meta-data-api-setups":{"get":{"operationId":"api_publicv1meta-data-api-setups_get_collection","tags":["MetaDataApiSetup"],"responses":{"200":{"description":"MetaDataApiSetup collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/MetaDataApiSetup"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of MetaDataApiSetup resources.","description":"Retrieves the collection of MetaDataApiSetup resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/meta-data-api-setups\/{id}":{"get":{"operationId":"api_publicv1meta-data-api-setups_id_get","tags":["MetaDataApiSetup"],"responses":{"200":{"description":"MetaDataApiSetup resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MetaDataApiSetup"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a MetaDataApiSetup resource.","description":"Retrieves a MetaDataApiSetup resource.","parameters":[{"name":"id","in":"path","description":"MetaDataApiSetup identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/opportunities":{"get":{"operationId":"api_publicv1opportunities_get_collection","tags":["Opportunity"],"responses":{"200":{"description":"Opportunity collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Opportunity"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Opportunity resources.","description":"Retrieves the collection of Opportunity resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/opportunities\/{id}":{"get":{"operationId":"api_publicv1opportunities_id_get","tags":["Opportunity"],"responses":{"200":{"description":"Opportunity resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Opportunity"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Opportunity resource.","description":"Retrieves a Opportunity resource.","parameters":[{"name":"id","in":"path","description":"Opportunity identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/opportunity-stage-histories":{"get":{"operationId":"api_publicv1opportunity-stage-histories_get_collection","tags":["OpportunityStageHistory"],"responses":{"200":{"description":"OpportunityStageHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OpportunityStageHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OpportunityStageHistory resources.","description":"Retrieves the collection of OpportunityStageHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/opportunity-stage-histories\/{id}":{"get":{"operationId":"api_publicv1opportunity-stage-histories_id_get","tags":["OpportunityStageHistory"],"responses":{"200":{"description":"OpportunityStageHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OpportunityStageHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OpportunityStageHistory resource.","description":"Retrieves a OpportunityStageHistory resource.","parameters":[{"name":"id","in":"path","description":"OpportunityStageHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/order-confirmations":{"get":{"operationId":"api_publicv1order-confirmations_get_collection","tags":["OrderConfirmation"],"responses":{"200":{"description":"OrderConfirmation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OrderConfirmation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OrderConfirmation resources.","description":"Retrieves the collection of OrderConfirmation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/order-confirmations\/{id}":{"get":{"operationId":"api_publicv1order-confirmations_id_get","tags":["OrderConfirmation"],"responses":{"200":{"description":"OrderConfirmation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderConfirmation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OrderConfirmation resource.","description":"Retrieves a OrderConfirmation resource.","parameters":[{"name":"id","in":"path","description":"OrderConfirmation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/order-confirmation-addresses":{"get":{"operationId":"api_publicv1order-confirmation-addresses_get_collection","tags":["OrderConfirmationAddress"],"responses":{"200":{"description":"OrderConfirmationAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OrderConfirmationAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OrderConfirmationAddress resources.","description":"Retrieves the collection of OrderConfirmationAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/order-confirmation-addresses\/{id}":{"get":{"operationId":"api_publicv1order-confirmation-addresses_id_get","tags":["OrderConfirmationAddress"],"responses":{"200":{"description":"OrderConfirmationAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderConfirmationAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OrderConfirmationAddress resource.","description":"Retrieves a OrderConfirmationAddress resource.","parameters":[{"name":"id","in":"path","description":"OrderConfirmationAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/order-confirmation-definitions":{"get":{"operationId":"api_publicv1order-confirmation-definitions_get_collection","tags":["OrderConfirmationDefinition"],"responses":{"200":{"description":"OrderConfirmationDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OrderConfirmationDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OrderConfirmationDefinition resources.","description":"Retrieves the collection of OrderConfirmationDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/order-confirmation-definitions\/{id}":{"get":{"operationId":"api_publicv1order-confirmation-definitions_id_get","tags":["OrderConfirmationDefinition"],"responses":{"200":{"description":"OrderConfirmationDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderConfirmationDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OrderConfirmationDefinition resource.","description":"Retrieves a OrderConfirmationDefinition resource.","parameters":[{"name":"id","in":"path","description":"OrderConfirmationDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/order-confirmation-histories":{"get":{"operationId":"api_publicv1order-confirmation-histories_get_collection","tags":["OrderConfirmationHistory"],"responses":{"200":{"description":"OrderConfirmationHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OrderConfirmationHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OrderConfirmationHistory resources.","description":"Retrieves the collection of OrderConfirmationHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/order-confirmation-histories\/{id}":{"get":{"operationId":"api_publicv1order-confirmation-histories_id_get","tags":["OrderConfirmationHistory"],"responses":{"200":{"description":"OrderConfirmationHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderConfirmationHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OrderConfirmationHistory resource.","description":"Retrieves a OrderConfirmationHistory resource.","parameters":[{"name":"id","in":"path","description":"OrderConfirmationHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/order-confirmation-lines":{"get":{"operationId":"api_publicv1order-confirmation-lines_get_collection","tags":["OrderConfirmationLine"],"responses":{"200":{"description":"OrderConfirmationLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OrderConfirmationLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OrderConfirmationLine resources.","description":"Retrieves the collection of OrderConfirmationLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/order-confirmation-lines\/{id}":{"get":{"operationId":"api_publicv1order-confirmation-lines_id_get","tags":["OrderConfirmationLine"],"responses":{"200":{"description":"OrderConfirmationLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderConfirmationLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OrderConfirmationLine resource.","description":"Retrieves a OrderConfirmationLine resource.","parameters":[{"name":"id","in":"path","description":"OrderConfirmationLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-bank-accounts":{"get":{"operationId":"api_publicv1owner-bank-accounts_get_collection","tags":["OwnerBankAccount"],"responses":{"200":{"description":"OwnerBankAccount collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerBankAccount"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerBankAccount resources.","description":"Retrieves the collection of OwnerBankAccount resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-bank-accounts\/{id}":{"get":{"operationId":"api_publicv1owner-bank-accounts_id_get","tags":["OwnerBankAccount"],"responses":{"200":{"description":"OwnerBankAccount resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerBankAccount"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerBankAccount resource.","description":"Retrieves a OwnerBankAccount resource.","parameters":[{"name":"id","in":"path","description":"OwnerBankAccount identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-contact-calendar-events":{"get":{"operationId":"api_publicv1owner-contact-calendar-events_get_collection","tags":["OwnerContactCalendarEvent"],"responses":{"200":{"description":"OwnerContactCalendarEvent collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerContactCalendarEvent"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerContactCalendarEvent resources.","description":"Retrieves the collection of OwnerContactCalendarEvent resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-contact-calendar-events\/{id}":{"get":{"operationId":"api_publicv1owner-contact-calendar-events_id_get","tags":["OwnerContactCalendarEvent"],"responses":{"200":{"description":"OwnerContactCalendarEvent resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerContactCalendarEvent"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerContactCalendarEvent resource.","description":"Retrieves a OwnerContactCalendarEvent resource.","parameters":[{"name":"id","in":"path","description":"OwnerContactCalendarEvent identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-contact-dashboards":{"get":{"operationId":"api_publicv1owner-contact-dashboards_get_collection","tags":["OwnerContactDashboard"],"responses":{"200":{"description":"OwnerContactDashboard collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerContactDashboard"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerContactDashboard resources.","description":"Retrieves the collection of OwnerContactDashboard resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-contact-dashboards\/{id}":{"get":{"operationId":"api_publicv1owner-contact-dashboards_id_get","tags":["OwnerContactDashboard"],"responses":{"200":{"description":"OwnerContactDashboard resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerContactDashboard"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerContactDashboard resource.","description":"Retrieves a OwnerContactDashboard resource.","parameters":[{"name":"id","in":"path","description":"OwnerContactDashboard identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-contact-message-of-the-days":{"get":{"operationId":"api_publicv1owner-contact-message-of-the-days_get_collection","tags":["OwnerContactMessageOfTheDay"],"responses":{"200":{"description":"OwnerContactMessageOfTheDay collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerContactMessageOfTheDay"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerContactMessageOfTheDay resources.","description":"Retrieves the collection of OwnerContactMessageOfTheDay resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-contact-message-of-the-days\/{id}":{"get":{"operationId":"api_publicv1owner-contact-message-of-the-days_id_get","tags":["OwnerContactMessageOfTheDay"],"responses":{"200":{"description":"OwnerContactMessageOfTheDay resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerContactMessageOfTheDay"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerContactMessageOfTheDay resource.","description":"Retrieves a OwnerContactMessageOfTheDay resource.","parameters":[{"name":"id","in":"path","description":"OwnerContactMessageOfTheDay identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-contact-notifications":{"get":{"operationId":"api_publicv1owner-contact-notifications_get_collection","tags":["OwnerContactNotification"],"responses":{"200":{"description":"OwnerContactNotification collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerContactNotification"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerContactNotification resources.","description":"Retrieves the collection of OwnerContactNotification resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-contact-notifications\/{id}":{"get":{"operationId":"api_publicv1owner-contact-notifications_id_get","tags":["OwnerContactNotification"],"responses":{"200":{"description":"OwnerContactNotification resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerContactNotification"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerContactNotification resource.","description":"Retrieves a OwnerContactNotification resource.","parameters":[{"name":"id","in":"path","description":"OwnerContactNotification identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-contact-search-filters":{"get":{"operationId":"api_publicv1owner-contact-search-filters_get_collection","tags":["OwnerContactSearchFilter"],"responses":{"200":{"description":"OwnerContactSearchFilter collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerContactSearchFilter"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerContactSearchFilter resources.","description":"Retrieves the collection of OwnerContactSearchFilter resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-contact-search-filters\/{id}":{"get":{"operationId":"api_publicv1owner-contact-search-filters_id_get","tags":["OwnerContactSearchFilter"],"responses":{"200":{"description":"OwnerContactSearchFilter resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerContactSearchFilter"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerContactSearchFilter resource.","description":"Retrieves a OwnerContactSearchFilter resource.","parameters":[{"name":"id","in":"path","description":"OwnerContactSearchFilter identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-contact-settings":{"get":{"operationId":"api_publicv1owner-contact-settings_get_collection","tags":["OwnerContactSetting"],"responses":{"200":{"description":"OwnerContactSetting collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerContactSetting"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerContactSetting resources.","description":"Retrieves the collection of OwnerContactSetting resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-contact-settings\/{id}":{"get":{"operationId":"api_publicv1owner-contact-settings_id_get","tags":["OwnerContactSetting"],"responses":{"200":{"description":"OwnerContactSetting resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerContactSetting"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerContactSetting resource.","description":"Retrieves a OwnerContactSetting resource.","parameters":[{"name":"id","in":"path","description":"OwnerContactSetting identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-contact-setting-mails":{"get":{"operationId":"api_publicv1owner-contact-setting-mails_get_collection","tags":["OwnerContactSettingMail"],"responses":{"200":{"description":"OwnerContactSettingMail collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerContactSettingMail"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerContactSettingMail resources.","description":"Retrieves the collection of OwnerContactSettingMail resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-contact-setting-mails\/{id}":{"get":{"operationId":"api_publicv1owner-contact-setting-mails_id_get","tags":["OwnerContactSettingMail"],"responses":{"200":{"description":"OwnerContactSettingMail resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerContactSettingMail"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerContactSettingMail resource.","description":"Retrieves a OwnerContactSettingMail resource.","parameters":[{"name":"id","in":"path","description":"OwnerContactSettingMail identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-contact-setting-notifications":{"get":{"operationId":"api_publicv1owner-contact-setting-notifications_get_collection","tags":["OwnerContactSettingNotification"],"responses":{"200":{"description":"OwnerContactSettingNotification collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerContactSettingNotification"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerContactSettingNotification resources.","description":"Retrieves the collection of OwnerContactSettingNotification resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-contact-setting-notifications\/{id}":{"get":{"operationId":"api_publicv1owner-contact-setting-notifications_id_get","tags":["OwnerContactSettingNotification"],"responses":{"200":{"description":"OwnerContactSettingNotification resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerContactSettingNotification"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerContactSettingNotification resource.","description":"Retrieves a OwnerContactSettingNotification resource.","parameters":[{"name":"id","in":"path","description":"OwnerContactSettingNotification identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-contact-statistics":{"get":{"operationId":"api_publicv1owner-contact-statistics_get_collection","tags":["OwnerContactStatistics"],"responses":{"200":{"description":"OwnerContactStatistics collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerContactStatistics"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerContactStatistics resources.","description":"Retrieves the collection of OwnerContactStatistics resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-contact-statistics\/{id}":{"get":{"operationId":"api_publicv1owner-contact-statistics_id_get","tags":["OwnerContactStatistics"],"responses":{"200":{"description":"OwnerContactStatistics resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerContactStatistics"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerContactStatistics resource.","description":"Retrieves a OwnerContactStatistics resource.","parameters":[{"name":"id","in":"path","description":"OwnerContactStatistics identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-delivery-terms":{"get":{"operationId":"api_publicv1owner-delivery-terms_get_collection","tags":["OwnerDeliveryTerm"],"responses":{"200":{"description":"OwnerDeliveryTerm collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerDeliveryTerm"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerDeliveryTerm resources.","description":"Retrieves the collection of OwnerDeliveryTerm resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-delivery-terms\/{id}":{"get":{"operationId":"api_publicv1owner-delivery-terms_id_get","tags":["OwnerDeliveryTerm"],"responses":{"200":{"description":"OwnerDeliveryTerm resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerDeliveryTerm"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerDeliveryTerm resource.","description":"Retrieves a OwnerDeliveryTerm resource.","parameters":[{"name":"id","in":"path","description":"OwnerDeliveryTerm identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-document-designs":{"get":{"operationId":"api_publicv1owner-document-designs_get_collection","tags":["OwnerDocumentDesign"],"responses":{"200":{"description":"OwnerDocumentDesign collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerDocumentDesign"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerDocumentDesign resources.","description":"Retrieves the collection of OwnerDocumentDesign resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-document-designs\/{id}":{"get":{"operationId":"api_publicv1owner-document-designs_id_get","tags":["OwnerDocumentDesign"],"responses":{"200":{"description":"OwnerDocumentDesign resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerDocumentDesign"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerDocumentDesign resource.","description":"Retrieves a OwnerDocumentDesign resource.","parameters":[{"name":"id","in":"path","description":"OwnerDocumentDesign identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-document-design-configs":{"get":{"operationId":"api_publicv1owner-document-design-configs_get_collection","tags":["OwnerDocumentDesignConfig"],"responses":{"200":{"description":"OwnerDocumentDesignConfig collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerDocumentDesignConfig"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerDocumentDesignConfig resources.","description":"Retrieves the collection of OwnerDocumentDesignConfig resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-document-design-configs\/{id}":{"get":{"operationId":"api_publicv1owner-document-design-configs_id_get","tags":["OwnerDocumentDesignConfig"],"responses":{"200":{"description":"OwnerDocumentDesignConfig resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerDocumentDesignConfig"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerDocumentDesignConfig resource.","description":"Retrieves a OwnerDocumentDesignConfig resource.","parameters":[{"name":"id","in":"path","description":"OwnerDocumentDesignConfig identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-document-terms":{"get":{"operationId":"api_publicv1owner-document-terms_get_collection","tags":["OwnerDocumentTerm"],"responses":{"200":{"description":"OwnerDocumentTerm collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerDocumentTerm"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerDocumentTerm resources.","description":"Retrieves the collection of OwnerDocumentTerm resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-document-terms\/{id}":{"get":{"operationId":"api_publicv1owner-document-terms_id_get","tags":["OwnerDocumentTerm"],"responses":{"200":{"description":"OwnerDocumentTerm resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerDocumentTerm"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerDocumentTerm resource.","description":"Retrieves a OwnerDocumentTerm resource.","parameters":[{"name":"id","in":"path","description":"OwnerDocumentTerm identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-email-designs":{"get":{"operationId":"api_publicv1owner-email-designs_get_collection","tags":["OwnerEmailDesign"],"responses":{"200":{"description":"OwnerEmailDesign collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerEmailDesign"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerEmailDesign resources.","description":"Retrieves the collection of OwnerEmailDesign resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-email-designs\/{id}":{"get":{"operationId":"api_publicv1owner-email-designs_id_get","tags":["OwnerEmailDesign"],"responses":{"200":{"description":"OwnerEmailDesign resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerEmailDesign"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerEmailDesign resource.","description":"Retrieves a OwnerEmailDesign resource.","parameters":[{"name":"id","in":"path","description":"OwnerEmailDesign identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-email-senders":{"get":{"operationId":"api_publicv1owner-email-senders_get_collection","tags":["OwnerEmailSender"],"responses":{"200":{"description":"OwnerEmailSender collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerEmailSender"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerEmailSender resources.","description":"Retrieves the collection of OwnerEmailSender resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-email-senders\/{id}":{"get":{"operationId":"api_publicv1owner-email-senders_id_get","tags":["OwnerEmailSender"],"responses":{"200":{"description":"OwnerEmailSender resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerEmailSender"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerEmailSender resource.","description":"Retrieves a OwnerEmailSender resource.","parameters":[{"name":"id","in":"path","description":"OwnerEmailSender identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-email-servers":{"get":{"operationId":"api_publicv1owner-email-servers_get_collection","tags":["OwnerEmailServer"],"responses":{"200":{"description":"OwnerEmailServer collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerEmailServer"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerEmailServer resources.","description":"Retrieves the collection of OwnerEmailServer resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-email-servers\/{id}":{"get":{"operationId":"api_publicv1owner-email-servers_id_get","tags":["OwnerEmailServer"],"responses":{"200":{"description":"OwnerEmailServer resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerEmailServer"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerEmailServer resource.","description":"Retrieves a OwnerEmailServer resource.","parameters":[{"name":"id","in":"path","description":"OwnerEmailServer identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-email-settings":{"get":{"operationId":"api_publicv1owner-email-settings_get_collection","tags":["OwnerEmailSetting"],"responses":{"200":{"description":"OwnerEmailSetting collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerEmailSetting"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerEmailSetting resources.","description":"Retrieves the collection of OwnerEmailSetting resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-email-settings\/{id}":{"get":{"operationId":"api_publicv1owner-email-settings_id_get","tags":["OwnerEmailSetting"],"responses":{"200":{"description":"OwnerEmailSetting resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerEmailSetting"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerEmailSetting resource.","description":"Retrieves a OwnerEmailSetting resource.","parameters":[{"name":"id","in":"path","description":"OwnerEmailSetting identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-logs":{"get":{"operationId":"api_publicv1owner-logs_get_collection","tags":["OwnerLog"],"responses":{"200":{"description":"OwnerLog collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerLog"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerLog resources.","description":"Retrieves the collection of OwnerLog resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-logs\/{id}":{"get":{"operationId":"api_publicv1owner-logs_id_get","tags":["OwnerLog"],"responses":{"200":{"description":"OwnerLog resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerLog"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerLog resource.","description":"Retrieves a OwnerLog resource.","parameters":[{"name":"id","in":"path","description":"OwnerLog identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-payment-terms":{"get":{"operationId":"api_publicv1owner-payment-terms_get_collection","tags":["OwnerPaymentTerm"],"responses":{"200":{"description":"OwnerPaymentTerm collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerPaymentTerm"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerPaymentTerm resources.","description":"Retrieves the collection of OwnerPaymentTerm resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-payment-terms\/{id}":{"get":{"operationId":"api_publicv1owner-payment-terms_id_get","tags":["OwnerPaymentTerm"],"responses":{"200":{"description":"OwnerPaymentTerm resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerPaymentTerm"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerPaymentTerm resource.","description":"Retrieves a OwnerPaymentTerm resource.","parameters":[{"name":"id","in":"path","description":"OwnerPaymentTerm identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-salutations":{"get":{"operationId":"api_publicv1owner-salutations_get_collection","tags":["OwnerSalutation"],"responses":{"200":{"description":"OwnerSalutation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerSalutation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerSalutation resources.","description":"Retrieves the collection of OwnerSalutation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-salutations\/{id}":{"get":{"operationId":"api_publicv1owner-salutations_id_get","tags":["OwnerSalutation"],"responses":{"200":{"description":"OwnerSalutation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerSalutation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerSalutation resource.","description":"Retrieves a OwnerSalutation resource.","parameters":[{"name":"id","in":"path","description":"OwnerSalutation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-selectboxes":{"get":{"operationId":"api_publicv1owner-selectboxes_get_collection","tags":["OwnerSelectbox"],"responses":{"200":{"description":"OwnerSelectbox collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerSelectbox"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerSelectbox resources.","description":"Retrieves the collection of OwnerSelectbox resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-selectboxes\/{id}":{"get":{"operationId":"api_publicv1owner-selectboxes_id_get","tags":["OwnerSelectbox"],"responses":{"200":{"description":"OwnerSelectbox resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerSelectbox"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerSelectbox resource.","description":"Retrieves a OwnerSelectbox resource.","parameters":[{"name":"id","in":"path","description":"OwnerSelectbox identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-sequence-numbers":{"get":{"operationId":"api_publicv1owner-sequence-numbers_get_collection","tags":["OwnerSequenceNumber"],"responses":{"200":{"description":"OwnerSequenceNumber collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerSequenceNumber"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerSequenceNumber resources.","description":"Retrieves the collection of OwnerSequenceNumber resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-sequence-numbers\/{id}":{"get":{"operationId":"api_publicv1owner-sequence-numbers_id_get","tags":["OwnerSequenceNumber"],"responses":{"200":{"description":"OwnerSequenceNumber resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerSequenceNumber"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerSequenceNumber resource.","description":"Retrieves a OwnerSequenceNumber resource.","parameters":[{"name":"id","in":"path","description":"OwnerSequenceNumber identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-settings":{"get":{"operationId":"api_publicv1owner-settings_get_collection","tags":["OwnerSetting"],"responses":{"200":{"description":"OwnerSetting collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerSetting"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerSetting resources.","description":"Retrieves the collection of OwnerSetting resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-settings\/{id}":{"get":{"operationId":"api_publicv1owner-settings_id_get","tags":["OwnerSetting"],"responses":{"200":{"description":"OwnerSetting resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerSetting"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerSetting resource.","description":"Retrieves a OwnerSetting resource.","parameters":[{"name":"id","in":"path","description":"OwnerSetting identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-statistics":{"get":{"operationId":"api_publicv1owner-statistics_get_collection","tags":["OwnerStatistics"],"responses":{"200":{"description":"OwnerStatistics collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerStatistics"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerStatistics resources.","description":"Retrieves the collection of OwnerStatistics resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-statistics\/{id}":{"get":{"operationId":"api_publicv1owner-statistics_id_get","tags":["OwnerStatistics"],"responses":{"200":{"description":"OwnerStatistics resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerStatistics"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerStatistics resource.","description":"Retrieves a OwnerStatistics resource.","parameters":[{"name":"id","in":"path","description":"OwnerStatistics identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-tasks":{"get":{"operationId":"api_publicv1owner-tasks_get_collection","tags":["OwnerTask"],"responses":{"200":{"description":"OwnerTask collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerTask"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerTask resources.","description":"Retrieves the collection of OwnerTask resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-tasks\/{id}":{"get":{"operationId":"api_publicv1owner-tasks_id_get","tags":["OwnerTask"],"responses":{"200":{"description":"OwnerTask resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerTask"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerTask resource.","description":"Retrieves a OwnerTask resource.","parameters":[{"name":"id","in":"path","description":"OwnerTask identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-task-comments":{"get":{"operationId":"api_publicv1owner-task-comments_get_collection","tags":["OwnerTaskComment"],"responses":{"200":{"description":"OwnerTaskComment collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerTaskComment"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerTaskComment resources.","description":"Retrieves the collection of OwnerTaskComment resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-task-comments\/{id}":{"get":{"operationId":"api_publicv1owner-task-comments_id_get","tags":["OwnerTaskComment"],"responses":{"200":{"description":"OwnerTaskComment resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerTaskComment"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerTaskComment resource.","description":"Retrieves a OwnerTaskComment resource.","parameters":[{"name":"id","in":"path","description":"OwnerTaskComment identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-task-histories":{"get":{"operationId":"api_publicv1owner-task-histories_get_collection","tags":["OwnerTaskHistory"],"responses":{"200":{"description":"OwnerTaskHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerTaskHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerTaskHistory resources.","description":"Retrieves the collection of OwnerTaskHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-task-histories\/{id}":{"get":{"operationId":"api_publicv1owner-task-histories_id_get","tags":["OwnerTaskHistory"],"responses":{"200":{"description":"OwnerTaskHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerTaskHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerTaskHistory resource.","description":"Retrieves a OwnerTaskHistory resource.","parameters":[{"name":"id","in":"path","description":"OwnerTaskHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-units":{"get":{"operationId":"api_publicv1owner-units_get_collection","tags":["OwnerUnit"],"responses":{"200":{"description":"OwnerUnit collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerUnit"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerUnit resources.","description":"Retrieves the collection of OwnerUnit resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-units\/{id}":{"get":{"operationId":"api_publicv1owner-units_id_get","tags":["OwnerUnit"],"responses":{"200":{"description":"OwnerUnit resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerUnit"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerUnit resource.","description":"Retrieves a OwnerUnit resource.","parameters":[{"name":"id","in":"path","description":"OwnerUnit identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/owner-workflow-statuses":{"get":{"operationId":"api_publicv1owner-workflow-statuses_get_collection","tags":["OwnerWorkflowStatus"],"responses":{"200":{"description":"OwnerWorkflowStatus collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/OwnerWorkflowStatus"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of OwnerWorkflowStatus resources.","description":"Retrieves the collection of OwnerWorkflowStatus resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/owner-workflow-statuses\/{id}":{"get":{"operationId":"api_publicv1owner-workflow-statuses_id_get","tags":["OwnerWorkflowStatus"],"responses":{"200":{"description":"OwnerWorkflowStatus resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OwnerWorkflowStatus"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a OwnerWorkflowStatus resource.","description":"Retrieves a OwnerWorkflowStatus resource.","parameters":[{"name":"id","in":"path","description":"OwnerWorkflowStatus identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/packing-notes":{"get":{"operationId":"api_publicv1packing-notes_get_collection","tags":["PackingNote"],"responses":{"200":{"description":"PackingNote collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackingNote"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PackingNote resources.","description":"Retrieves the collection of PackingNote resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/packing-notes\/{id}":{"get":{"operationId":"api_publicv1packing-notes_id_get","tags":["PackingNote"],"responses":{"200":{"description":"PackingNote resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingNote"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PackingNote resource.","description":"Retrieves a PackingNote resource.","parameters":[{"name":"id","in":"path","description":"PackingNote identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/packing-note-addresses":{"get":{"operationId":"api_publicv1packing-note-addresses_get_collection","tags":["PackingNoteAddress"],"responses":{"200":{"description":"PackingNoteAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackingNoteAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PackingNoteAddress resources.","description":"Retrieves the collection of PackingNoteAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/packing-note-addresses\/{id}":{"get":{"operationId":"api_publicv1packing-note-addresses_id_get","tags":["PackingNoteAddress"],"responses":{"200":{"description":"PackingNoteAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingNoteAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PackingNoteAddress resource.","description":"Retrieves a PackingNoteAddress resource.","parameters":[{"name":"id","in":"path","description":"PackingNoteAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/packing-note-definitions":{"get":{"operationId":"api_publicv1packing-note-definitions_get_collection","tags":["PackingNoteDefinition"],"responses":{"200":{"description":"PackingNoteDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackingNoteDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PackingNoteDefinition resources.","description":"Retrieves the collection of PackingNoteDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/packing-note-definitions\/{id}":{"get":{"operationId":"api_publicv1packing-note-definitions_id_get","tags":["PackingNoteDefinition"],"responses":{"200":{"description":"PackingNoteDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingNoteDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PackingNoteDefinition resource.","description":"Retrieves a PackingNoteDefinition resource.","parameters":[{"name":"id","in":"path","description":"PackingNoteDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/packing-note-histories":{"get":{"operationId":"api_publicv1packing-note-histories_get_collection","tags":["PackingNoteHistory"],"responses":{"200":{"description":"PackingNoteHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackingNoteHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PackingNoteHistory resources.","description":"Retrieves the collection of PackingNoteHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/packing-note-histories\/{id}":{"get":{"operationId":"api_publicv1packing-note-histories_id_get","tags":["PackingNoteHistory"],"responses":{"200":{"description":"PackingNoteHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingNoteHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PackingNoteHistory resource.","description":"Retrieves a PackingNoteHistory resource.","parameters":[{"name":"id","in":"path","description":"PackingNoteHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/packing-note-lines":{"get":{"operationId":"api_publicv1packing-note-lines_get_collection","tags":["PackingNoteLine"],"responses":{"200":{"description":"PackingNoteLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PackingNoteLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PackingNoteLine resources.","description":"Retrieves the collection of PackingNoteLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/packing-note-lines\/{id}":{"get":{"operationId":"api_publicv1packing-note-lines_id_get","tags":["PackingNoteLine"],"responses":{"200":{"description":"PackingNoteLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PackingNoteLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PackingNoteLine resource.","description":"Retrieves a PackingNoteLine resource.","parameters":[{"name":"id","in":"path","description":"PackingNoteLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/pay-runs":{"get":{"operationId":"api_publicv1pay-runs_get_collection","tags":["PayRun"],"responses":{"200":{"description":"PayRun collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PayRun"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PayRun resources.","description":"Retrieves the collection of PayRun resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/pay-runs\/{id}":{"get":{"operationId":"api_publicv1pay-runs_id_get","tags":["PayRun"],"responses":{"200":{"description":"PayRun resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PayRun"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PayRun resource.","description":"Retrieves a PayRun resource.","parameters":[{"name":"id","in":"path","description":"PayRun identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/payment-allocations":{"get":{"operationId":"api_publicv1payment-allocations_get_collection","tags":["PaymentAllocation"],"responses":{"200":{"description":"PaymentAllocation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentAllocation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PaymentAllocation resources.","description":"Retrieves the collection of PaymentAllocation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/payment-allocations\/{id}":{"get":{"operationId":"api_publicv1payment-allocations_id_get","tags":["PaymentAllocation"],"responses":{"200":{"description":"PaymentAllocation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PaymentAllocation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PaymentAllocation resource.","description":"Retrieves a PaymentAllocation resource.","parameters":[{"name":"id","in":"path","description":"PaymentAllocation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/payment-reminders":{"get":{"operationId":"api_publicv1payment-reminders_get_collection","tags":["PaymentReminder"],"responses":{"200":{"description":"PaymentReminder collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentReminder"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PaymentReminder resources.","description":"Retrieves the collection of PaymentReminder resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/payment-reminders\/{id}":{"get":{"operationId":"api_publicv1payment-reminders_id_get","tags":["PaymentReminder"],"responses":{"200":{"description":"PaymentReminder resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PaymentReminder"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PaymentReminder resource.","description":"Retrieves a PaymentReminder resource.","parameters":[{"name":"id","in":"path","description":"PaymentReminder identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/payment-reminder-addresses":{"get":{"operationId":"api_publicv1payment-reminder-addresses_get_collection","tags":["PaymentReminderAddress"],"responses":{"200":{"description":"PaymentReminderAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentReminderAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PaymentReminderAddress resources.","description":"Retrieves the collection of PaymentReminderAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/payment-reminder-addresses\/{id}":{"get":{"operationId":"api_publicv1payment-reminder-addresses_id_get","tags":["PaymentReminderAddress"],"responses":{"200":{"description":"PaymentReminderAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PaymentReminderAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PaymentReminderAddress resource.","description":"Retrieves a PaymentReminderAddress resource.","parameters":[{"name":"id","in":"path","description":"PaymentReminderAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/payment-reminder-definitions":{"get":{"operationId":"api_publicv1payment-reminder-definitions_get_collection","tags":["PaymentReminderDefinition"],"responses":{"200":{"description":"PaymentReminderDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentReminderDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PaymentReminderDefinition resources.","description":"Retrieves the collection of PaymentReminderDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/payment-reminder-definitions\/{id}":{"get":{"operationId":"api_publicv1payment-reminder-definitions_id_get","tags":["PaymentReminderDefinition"],"responses":{"200":{"description":"PaymentReminderDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PaymentReminderDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PaymentReminderDefinition resource.","description":"Retrieves a PaymentReminderDefinition resource.","parameters":[{"name":"id","in":"path","description":"PaymentReminderDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/payment-reminder-event-histories":{"get":{"operationId":"api_publicv1payment-reminder-event-histories_get_collection","tags":["PaymentReminderEventHistory"],"responses":{"200":{"description":"PaymentReminderEventHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentReminderEventHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PaymentReminderEventHistory resources.","description":"Retrieves the collection of PaymentReminderEventHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/payment-reminder-event-histories\/{id}":{"get":{"operationId":"api_publicv1payment-reminder-event-histories_id_get","tags":["PaymentReminderEventHistory"],"responses":{"200":{"description":"PaymentReminderEventHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PaymentReminderEventHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PaymentReminderEventHistory resource.","description":"Retrieves a PaymentReminderEventHistory resource.","parameters":[{"name":"id","in":"path","description":"PaymentReminderEventHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/payment-reminder-lines":{"get":{"operationId":"api_publicv1payment-reminder-lines_get_collection","tags":["PaymentReminderLine"],"responses":{"200":{"description":"PaymentReminderLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PaymentReminderLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PaymentReminderLine resources.","description":"Retrieves the collection of PaymentReminderLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/payment-reminder-lines\/{id}":{"get":{"operationId":"api_publicv1payment-reminder-lines_id_get","tags":["PaymentReminderLine"],"responses":{"200":{"description":"PaymentReminderLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PaymentReminderLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PaymentReminderLine resource.","description":"Retrieves a PaymentReminderLine resource.","parameters":[{"name":"id","in":"path","description":"PaymentReminderLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/payroll-components":{"get":{"operationId":"api_publicv1payroll-components_get_collection","tags":["PayrollComponent"],"responses":{"200":{"description":"PayrollComponent collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PayrollComponent"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PayrollComponent resources.","description":"Retrieves the collection of PayrollComponent resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/payroll-components\/{id}":{"get":{"operationId":"api_publicv1payroll-components_id_get","tags":["PayrollComponent"],"responses":{"200":{"description":"PayrollComponent resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PayrollComponent"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PayrollComponent resource.","description":"Retrieves a PayrollComponent resource.","parameters":[{"name":"id","in":"path","description":"PayrollComponent identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/payslips":{"get":{"operationId":"api_publicv1payslips_get_collection","tags":["Payslip"],"responses":{"200":{"description":"Payslip collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Payslip"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Payslip resources.","description":"Retrieves the collection of Payslip resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/payslips\/{id}":{"get":{"operationId":"api_publicv1payslips_id_get","tags":["Payslip"],"responses":{"200":{"description":"Payslip resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Payslip"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Payslip resource.","description":"Retrieves a Payslip resource.","parameters":[{"name":"id","in":"path","description":"Payslip identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/payslip-lines":{"get":{"operationId":"api_publicv1payslip-lines_get_collection","tags":["PayslipLine"],"responses":{"200":{"description":"PayslipLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PayslipLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PayslipLine resources.","description":"Retrieves the collection of PayslipLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/payslip-lines\/{id}":{"get":{"operationId":"api_publicv1payslip-lines_id_get","tags":["PayslipLine"],"responses":{"200":{"description":"PayslipLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PayslipLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PayslipLine resource.","description":"Retrieves a PayslipLine resource.","parameters":[{"name":"id","in":"path","description":"PayslipLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/pipelines":{"get":{"operationId":"api_publicv1pipelines_get_collection","tags":["Pipeline"],"responses":{"200":{"description":"Pipeline collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Pipeline"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Pipeline resources.","description":"Retrieves the collection of Pipeline resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/pipelines\/{id}":{"get":{"operationId":"api_publicv1pipelines_id_get","tags":["Pipeline"],"responses":{"200":{"description":"Pipeline resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Pipeline"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Pipeline resource.","description":"Retrieves a Pipeline resource.","parameters":[{"name":"id","in":"path","description":"Pipeline identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/pipeline-stages":{"get":{"operationId":"api_publicv1pipeline-stages_get_collection","tags":["PipelineStage"],"responses":{"200":{"description":"PipelineStage collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PipelineStage"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PipelineStage resources.","description":"Retrieves the collection of PipelineStage resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/pipeline-stages\/{id}":{"get":{"operationId":"api_publicv1pipeline-stages_id_get","tags":["PipelineStage"],"responses":{"200":{"description":"PipelineStage resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PipelineStage"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PipelineStage resource.","description":"Retrieves a PipelineStage resource.","parameters":[{"name":"id","in":"path","description":"PipelineStage identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/products":{"get":{"operationId":"api_publicv1products_get_collection","tags":["Product"],"responses":{"200":{"description":"Product collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Product"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Product resources.","description":"Retrieves the collection of Product resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"order[id]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string","default":"asc","enum":["asc","desc"]},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]},"post":{"operationId":"api_publicv1products_post","tags":["Product"],"responses":{"201":{"description":"Product resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Product"}}},"links":[]},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation"}}},"links":[]},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Creates a Product resource.","description":"Creates a Product resource.","parameters":[],"requestBody":{"description":"The new Product resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Product"}}},"required":true}}},"\/api\/public\/v1\/products\/{id}":{"get":{"operationId":"api_publicv1products_id_get","tags":["Product"],"responses":{"200":{"description":"Product resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Product"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Product resource.","description":"Retrieves a Product resource.","parameters":[{"name":"id","in":"path","description":"Product identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]},"delete":{"operationId":"api_publicv1products_id_delete","tags":["Product"],"responses":{"204":{"description":"Product resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Removes the Product resource.","description":"Removes the Product resource.","parameters":[{"name":"id","in":"path","description":"Product identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]},"patch":{"operationId":"api_publicv1products_id_patch","tags":["Product"],"responses":{"200":{"description":"Product resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Product"}}},"links":[]},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation"}}},"links":[]},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Updates the Product resource.","description":"Updates the Product resource.","parameters":[{"name":"id","in":"path","description":"Product identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}],"requestBody":{"description":"The updated Product resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Product.jsonMergePatch"}}},"required":true}}},"\/api\/public\/v1\/product-catalogs":{"get":{"operationId":"api_publicv1product-catalogs_get_collection","tags":["ProductCatalog"],"responses":{"200":{"description":"ProductCatalog collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductCatalog"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductCatalog resources.","description":"Retrieves the collection of ProductCatalog resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-catalogs\/{id}":{"get":{"operationId":"api_publicv1product-catalogs_id_get","tags":["ProductCatalog"],"responses":{"200":{"description":"ProductCatalog resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCatalog"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductCatalog resource.","description":"Retrieves a ProductCatalog resource.","parameters":[{"name":"id","in":"path","description":"ProductCatalog identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-catalog-lines":{"get":{"operationId":"api_publicv1product-catalog-lines_get_collection","tags":["ProductCatalogLine"],"responses":{"200":{"description":"ProductCatalogLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductCatalogLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductCatalogLine resources.","description":"Retrieves the collection of ProductCatalogLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-catalog-lines\/{id}":{"get":{"operationId":"api_publicv1product-catalog-lines_id_get","tags":["ProductCatalogLine"],"responses":{"200":{"description":"ProductCatalogLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCatalogLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductCatalogLine resource.","description":"Retrieves a ProductCatalogLine resource.","parameters":[{"name":"id","in":"path","description":"ProductCatalogLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-categories":{"get":{"operationId":"api_publicv1product-categories_get_collection","tags":["ProductCategory"],"responses":{"200":{"description":"ProductCategory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductCategory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductCategory resources.","description":"Retrieves the collection of ProductCategory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-categories\/{id}":{"get":{"operationId":"api_publicv1product-categories_id_get","tags":["ProductCategory"],"responses":{"200":{"description":"ProductCategory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductCategory resource.","description":"Retrieves a ProductCategory resource.","parameters":[{"name":"id","in":"path","description":"ProductCategory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-groups":{"get":{"operationId":"api_publicv1product-groups_get_collection","tags":["ProductGroup"],"responses":{"200":{"description":"ProductGroup collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductGroup"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductGroup resources.","description":"Retrieves the collection of ProductGroup resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-groups\/{id}":{"get":{"operationId":"api_publicv1product-groups_id_get","tags":["ProductGroup"],"responses":{"200":{"description":"ProductGroup resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductGroup"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductGroup resource.","description":"Retrieves a ProductGroup resource.","parameters":[{"name":"id","in":"path","description":"ProductGroup identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-group-lines":{"get":{"operationId":"api_publicv1product-group-lines_get_collection","tags":["ProductGroupLine"],"responses":{"200":{"description":"ProductGroupLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductGroupLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductGroupLine resources.","description":"Retrieves the collection of ProductGroupLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-group-lines\/{id}":{"get":{"operationId":"api_publicv1product-group-lines_id_get","tags":["ProductGroupLine"],"responses":{"200":{"description":"ProductGroupLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductGroupLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductGroupLine resource.","description":"Retrieves a ProductGroupLine resource.","parameters":[{"name":"id","in":"path","description":"ProductGroupLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-histories":{"get":{"operationId":"api_publicv1product-histories_get_collection","tags":["ProductHistory"],"responses":{"200":{"description":"ProductHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductHistory resources.","description":"Retrieves the collection of ProductHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-histories\/{id}":{"get":{"operationId":"api_publicv1product-histories_id_get","tags":["ProductHistory"],"responses":{"200":{"description":"ProductHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductHistory resource.","description":"Retrieves a ProductHistory resource.","parameters":[{"name":"id","in":"path","description":"ProductHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-price-lists":{"get":{"operationId":"api_publicv1product-price-lists_get_collection","tags":["ProductPriceList"],"responses":{"200":{"description":"ProductPriceList collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductPriceList"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductPriceList resources.","description":"Retrieves the collection of ProductPriceList resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-price-lists\/{id}":{"get":{"operationId":"api_publicv1product-price-lists_id_get","tags":["ProductPriceList"],"responses":{"200":{"description":"ProductPriceList resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductPriceList"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductPriceList resource.","description":"Retrieves a ProductPriceList resource.","parameters":[{"name":"id","in":"path","description":"ProductPriceList identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-price-list-lines":{"get":{"operationId":"api_publicv1product-price-list-lines_get_collection","tags":["ProductPriceListLine"],"responses":{"200":{"description":"ProductPriceListLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductPriceListLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductPriceListLine resources.","description":"Retrieves the collection of ProductPriceListLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-price-list-lines\/{id}":{"get":{"operationId":"api_publicv1product-price-list-lines_id_get","tags":["ProductPriceListLine"],"responses":{"200":{"description":"ProductPriceListLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductPriceListLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductPriceListLine resource.","description":"Retrieves a ProductPriceListLine resource.","parameters":[{"name":"id","in":"path","description":"ProductPriceListLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-stock-levels":{"get":{"operationId":"api_publicv1product-stock-levels_get_collection","tags":["ProductStockLevel"],"responses":{"200":{"description":"ProductStockLevel collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductStockLevel"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductStockLevel resources.","description":"Retrieves the collection of ProductStockLevel resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-stock-levels\/{id}":{"get":{"operationId":"api_publicv1product-stock-levels_id_get","tags":["ProductStockLevel"],"responses":{"200":{"description":"ProductStockLevel resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockLevel"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductStockLevel resource.","description":"Retrieves a ProductStockLevel resource.","parameters":[{"name":"id","in":"path","description":"ProductStockLevel identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-stock-mutations":{"get":{"operationId":"api_publicv1product-stock-mutations_get_collection","tags":["ProductStockMutation"],"responses":{"200":{"description":"ProductStockMutation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductStockMutation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductStockMutation resources.","description":"Retrieves the collection of ProductStockMutation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-stock-mutations\/{id}":{"get":{"operationId":"api_publicv1product-stock-mutations_id_get","tags":["ProductStockMutation"],"responses":{"200":{"description":"ProductStockMutation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockMutation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductStockMutation resource.","description":"Retrieves a ProductStockMutation resource.","parameters":[{"name":"id","in":"path","description":"ProductStockMutation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-translations":{"get":{"operationId":"api_publicv1product-translations_get_collection","tags":["ProductTranslation"],"responses":{"200":{"description":"ProductTranslation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductTranslation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductTranslation resources.","description":"Retrieves the collection of ProductTranslation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-translations\/{id}":{"get":{"operationId":"api_publicv1product-translations_id_get","tags":["ProductTranslation"],"responses":{"200":{"description":"ProductTranslation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTranslation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductTranslation resource.","description":"Retrieves a ProductTranslation resource.","parameters":[{"name":"id","in":"path","description":"ProductTranslation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/product-workflow-histories":{"get":{"operationId":"api_publicv1product-workflow-histories_get_collection","tags":["ProductWorkflowHistory"],"responses":{"200":{"description":"ProductWorkflowHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductWorkflowHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProductWorkflowHistory resources.","description":"Retrieves the collection of ProductWorkflowHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/product-workflow-histories\/{id}":{"get":{"operationId":"api_publicv1product-workflow-histories_id_get","tags":["ProductWorkflowHistory"],"responses":{"200":{"description":"ProductWorkflowHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductWorkflowHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProductWorkflowHistory resource.","description":"Retrieves a ProductWorkflowHistory resource.","parameters":[{"name":"id","in":"path","description":"ProductWorkflowHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/proforma-invoices":{"get":{"operationId":"api_publicv1proforma-invoices_get_collection","tags":["ProformaInvoice"],"responses":{"200":{"description":"ProformaInvoice collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProformaInvoice"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProformaInvoice resources.","description":"Retrieves the collection of ProformaInvoice resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/proforma-invoices\/{id}":{"get":{"operationId":"api_publicv1proforma-invoices_id_get","tags":["ProformaInvoice"],"responses":{"200":{"description":"ProformaInvoice resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProformaInvoice"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProformaInvoice resource.","description":"Retrieves a ProformaInvoice resource.","parameters":[{"name":"id","in":"path","description":"ProformaInvoice identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/proforma-invoice-addresses":{"get":{"operationId":"api_publicv1proforma-invoice-addresses_get_collection","tags":["ProformaInvoiceAddress"],"responses":{"200":{"description":"ProformaInvoiceAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProformaInvoiceAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProformaInvoiceAddress resources.","description":"Retrieves the collection of ProformaInvoiceAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/proforma-invoice-addresses\/{id}":{"get":{"operationId":"api_publicv1proforma-invoice-addresses_id_get","tags":["ProformaInvoiceAddress"],"responses":{"200":{"description":"ProformaInvoiceAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProformaInvoiceAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProformaInvoiceAddress resource.","description":"Retrieves a ProformaInvoiceAddress resource.","parameters":[{"name":"id","in":"path","description":"ProformaInvoiceAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/proforma-invoice-definitions":{"get":{"operationId":"api_publicv1proforma-invoice-definitions_get_collection","tags":["ProformaInvoiceDefinition"],"responses":{"200":{"description":"ProformaInvoiceDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProformaInvoiceDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProformaInvoiceDefinition resources.","description":"Retrieves the collection of ProformaInvoiceDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/proforma-invoice-definitions\/{id}":{"get":{"operationId":"api_publicv1proforma-invoice-definitions_id_get","tags":["ProformaInvoiceDefinition"],"responses":{"200":{"description":"ProformaInvoiceDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProformaInvoiceDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProformaInvoiceDefinition resource.","description":"Retrieves a ProformaInvoiceDefinition resource.","parameters":[{"name":"id","in":"path","description":"ProformaInvoiceDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/proforma-invoice-lines":{"get":{"operationId":"api_publicv1proforma-invoice-lines_get_collection","tags":["ProformaInvoiceLine"],"responses":{"200":{"description":"ProformaInvoiceLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProformaInvoiceLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProformaInvoiceLine resources.","description":"Retrieves the collection of ProformaInvoiceLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/proforma-invoice-lines\/{id}":{"get":{"operationId":"api_publicv1proforma-invoice-lines_id_get","tags":["ProformaInvoiceLine"],"responses":{"200":{"description":"ProformaInvoiceLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProformaInvoiceLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProformaInvoiceLine resource.","description":"Retrieves a ProformaInvoiceLine resource.","parameters":[{"name":"id","in":"path","description":"ProformaInvoiceLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/projects":{"get":{"operationId":"api_publicv1projects_get_collection","tags":["Project"],"responses":{"200":{"description":"Project collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Project"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Project resources.","description":"Retrieves the collection of Project resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/projects\/{id}":{"get":{"operationId":"api_publicv1projects_id_get","tags":["Project"],"responses":{"200":{"description":"Project resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Project"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Project resource.","description":"Retrieves a Project resource.","parameters":[{"name":"id","in":"path","description":"Project identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/project-approvals":{"get":{"operationId":"api_publicv1project-approvals_get_collection","tags":["ProjectApproval"],"responses":{"200":{"description":"ProjectApproval collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProjectApproval"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProjectApproval resources.","description":"Retrieves the collection of ProjectApproval resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/project-approvals\/{id}":{"get":{"operationId":"api_publicv1project-approvals_id_get","tags":["ProjectApproval"],"responses":{"200":{"description":"ProjectApproval resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProjectApproval"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProjectApproval resource.","description":"Retrieves a ProjectApproval resource.","parameters":[{"name":"id","in":"path","description":"ProjectApproval identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/project-project-members":{"get":{"operationId":"api_publicv1project-project-members_get_collection","tags":["ProjectProjectMember"],"responses":{"200":{"description":"ProjectProjectMember collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProjectProjectMember"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProjectProjectMember resources.","description":"Retrieves the collection of ProjectProjectMember resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/project-project-members\/{id}":{"get":{"operationId":"api_publicv1project-project-members_id_get","tags":["ProjectProjectMember"],"responses":{"200":{"description":"ProjectProjectMember resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProjectProjectMember"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProjectProjectMember resource.","description":"Retrieves a ProjectProjectMember resource.","parameters":[{"name":"id","in":"path","description":"ProjectProjectMember identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/project-project-tasks":{"get":{"operationId":"api_publicv1project-project-tasks_get_collection","tags":["ProjectProjectTask"],"responses":{"200":{"description":"ProjectProjectTask collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProjectProjectTask"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProjectProjectTask resources.","description":"Retrieves the collection of ProjectProjectTask resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/project-project-tasks\/{id}":{"get":{"operationId":"api_publicv1project-project-tasks_id_get","tags":["ProjectProjectTask"],"responses":{"200":{"description":"ProjectProjectTask resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProjectProjectTask"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProjectProjectTask resource.","description":"Retrieves a ProjectProjectTask resource.","parameters":[{"name":"id","in":"path","description":"ProjectProjectTask identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/project-tasks":{"get":{"operationId":"api_publicv1project-tasks_get_collection","tags":["ProjectTask"],"responses":{"200":{"description":"ProjectTask collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProjectTask"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProjectTask resources.","description":"Retrieves the collection of ProjectTask resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/project-tasks\/{id}":{"get":{"operationId":"api_publicv1project-tasks_id_get","tags":["ProjectTask"],"responses":{"200":{"description":"ProjectTask resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProjectTask"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProjectTask resource.","description":"Retrieves a ProjectTask resource.","parameters":[{"name":"id","in":"path","description":"ProjectTask identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/project-teams":{"get":{"operationId":"api_publicv1project-teams_get_collection","tags":["ProjectTeam"],"responses":{"200":{"description":"ProjectTeam collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProjectTeam"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProjectTeam resources.","description":"Retrieves the collection of ProjectTeam resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/project-teams\/{id}":{"get":{"operationId":"api_publicv1project-teams_id_get","tags":["ProjectTeam"],"responses":{"200":{"description":"ProjectTeam resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProjectTeam"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProjectTeam resource.","description":"Retrieves a ProjectTeam resource.","parameters":[{"name":"id","in":"path","description":"ProjectTeam identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/project-team-members":{"get":{"operationId":"api_publicv1project-team-members_get_collection","tags":["ProjectTeamMember"],"responses":{"200":{"description":"ProjectTeamMember collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProjectTeamMember"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProjectTeamMember resources.","description":"Retrieves the collection of ProjectTeamMember resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/project-team-members\/{id}":{"get":{"operationId":"api_publicv1project-team-members_id_get","tags":["ProjectTeamMember"],"responses":{"200":{"description":"ProjectTeamMember resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProjectTeamMember"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProjectTeamMember resource.","description":"Retrieves a ProjectTeamMember resource.","parameters":[{"name":"id","in":"path","description":"ProjectTeamMember identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/project-timesheets":{"get":{"operationId":"api_publicv1project-timesheets_get_collection","tags":["ProjectTimesheet"],"responses":{"200":{"description":"ProjectTimesheet collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProjectTimesheet"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProjectTimesheet resources.","description":"Retrieves the collection of ProjectTimesheet resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/project-timesheets\/{id}":{"get":{"operationId":"api_publicv1project-timesheets_id_get","tags":["ProjectTimesheet"],"responses":{"200":{"description":"ProjectTimesheet resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProjectTimesheet"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProjectTimesheet resource.","description":"Retrieves a ProjectTimesheet resource.","parameters":[{"name":"id","in":"path","description":"ProjectTimesheet identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/project-timesheet-to-worklogs":{"get":{"operationId":"api_publicv1project-timesheet-to-worklogs_get_collection","tags":["ProjectTimesheetToWorklog"],"responses":{"200":{"description":"ProjectTimesheetToWorklog collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProjectTimesheetToWorklog"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of ProjectTimesheetToWorklog resources.","description":"Retrieves the collection of ProjectTimesheetToWorklog resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/project-timesheet-to-worklogs\/{id}":{"get":{"operationId":"api_publicv1project-timesheet-to-worklogs_id_get","tags":["ProjectTimesheetToWorklog"],"responses":{"200":{"description":"ProjectTimesheetToWorklog resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProjectTimesheetToWorklog"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a ProjectTimesheetToWorklog resource.","description":"Retrieves a ProjectTimesheetToWorklog resource.","parameters":[{"name":"id","in":"path","description":"ProjectTimesheetToWorklog identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/public-holidays":{"get":{"operationId":"api_publicv1public-holidays_get_collection","tags":["PublicHoliday"],"responses":{"200":{"description":"PublicHoliday collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PublicHoliday"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PublicHoliday resources.","description":"Retrieves the collection of PublicHoliday resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/public-holidays\/{id}":{"get":{"operationId":"api_publicv1public-holidays_id_get","tags":["PublicHoliday"],"responses":{"200":{"description":"PublicHoliday resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PublicHoliday"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PublicHoliday resource.","description":"Retrieves a PublicHoliday resource.","parameters":[{"name":"id","in":"path","description":"PublicHoliday identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchases":{"get":{"operationId":"api_publicv1purchases_get_collection","tags":["Purchase"],"responses":{"200":{"description":"Purchase collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Purchase"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Purchase resources.","description":"Retrieves the collection of Purchase resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchases\/{id}":{"get":{"operationId":"api_publicv1purchases_id_get","tags":["Purchase"],"responses":{"200":{"description":"Purchase resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Purchase"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Purchase resource.","description":"Retrieves a Purchase resource.","parameters":[{"name":"id","in":"path","description":"Purchase identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-addresses":{"get":{"operationId":"api_publicv1purchase-addresses_get_collection","tags":["PurchaseAddress"],"responses":{"200":{"description":"PurchaseAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseAddress resources.","description":"Retrieves the collection of PurchaseAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-addresses\/{id}":{"get":{"operationId":"api_publicv1purchase-addresses_id_get","tags":["PurchaseAddress"],"responses":{"200":{"description":"PurchaseAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseAddress resource.","description":"Retrieves a PurchaseAddress resource.","parameters":[{"name":"id","in":"path","description":"PurchaseAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-credit-notes":{"get":{"operationId":"api_publicv1purchase-credit-notes_get_collection","tags":["PurchaseCreditNote"],"responses":{"200":{"description":"PurchaseCreditNote collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseCreditNote"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseCreditNote resources.","description":"Retrieves the collection of PurchaseCreditNote resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-credit-notes\/{id}":{"get":{"operationId":"api_publicv1purchase-credit-notes_id_get","tags":["PurchaseCreditNote"],"responses":{"200":{"description":"PurchaseCreditNote resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseCreditNote"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseCreditNote resource.","description":"Retrieves a PurchaseCreditNote resource.","parameters":[{"name":"id","in":"path","description":"PurchaseCreditNote identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-credit-note-addresses":{"get":{"operationId":"api_publicv1purchase-credit-note-addresses_get_collection","tags":["PurchaseCreditNoteAddress"],"responses":{"200":{"description":"PurchaseCreditNoteAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseCreditNoteAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseCreditNoteAddress resources.","description":"Retrieves the collection of PurchaseCreditNoteAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-credit-note-addresses\/{id}":{"get":{"operationId":"api_publicv1purchase-credit-note-addresses_id_get","tags":["PurchaseCreditNoteAddress"],"responses":{"200":{"description":"PurchaseCreditNoteAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseCreditNoteAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseCreditNoteAddress resource.","description":"Retrieves a PurchaseCreditNoteAddress resource.","parameters":[{"name":"id","in":"path","description":"PurchaseCreditNoteAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-credit-note-definitions":{"get":{"operationId":"api_publicv1purchase-credit-note-definitions_get_collection","tags":["PurchaseCreditNoteDefinition"],"responses":{"200":{"description":"PurchaseCreditNoteDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseCreditNoteDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseCreditNoteDefinition resources.","description":"Retrieves the collection of PurchaseCreditNoteDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-credit-note-definitions\/{id}":{"get":{"operationId":"api_publicv1purchase-credit-note-definitions_id_get","tags":["PurchaseCreditNoteDefinition"],"responses":{"200":{"description":"PurchaseCreditNoteDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseCreditNoteDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseCreditNoteDefinition resource.","description":"Retrieves a PurchaseCreditNoteDefinition resource.","parameters":[{"name":"id","in":"path","description":"PurchaseCreditNoteDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-credit-note-histories":{"get":{"operationId":"api_publicv1purchase-credit-note-histories_get_collection","tags":["PurchaseCreditNoteHistory"],"responses":{"200":{"description":"PurchaseCreditNoteHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseCreditNoteHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseCreditNoteHistory resources.","description":"Retrieves the collection of PurchaseCreditNoteHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-credit-note-histories\/{id}":{"get":{"operationId":"api_publicv1purchase-credit-note-histories_id_get","tags":["PurchaseCreditNoteHistory"],"responses":{"200":{"description":"PurchaseCreditNoteHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseCreditNoteHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseCreditNoteHistory resource.","description":"Retrieves a PurchaseCreditNoteHistory resource.","parameters":[{"name":"id","in":"path","description":"PurchaseCreditNoteHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-credit-note-lines":{"get":{"operationId":"api_publicv1purchase-credit-note-lines_get_collection","tags":["PurchaseCreditNoteLine"],"responses":{"200":{"description":"PurchaseCreditNoteLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseCreditNoteLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseCreditNoteLine resources.","description":"Retrieves the collection of PurchaseCreditNoteLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-credit-note-lines\/{id}":{"get":{"operationId":"api_publicv1purchase-credit-note-lines_id_get","tags":["PurchaseCreditNoteLine"],"responses":{"200":{"description":"PurchaseCreditNoteLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseCreditNoteLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseCreditNoteLine resource.","description":"Retrieves a PurchaseCreditNoteLine resource.","parameters":[{"name":"id","in":"path","description":"PurchaseCreditNoteLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-debit-notes":{"get":{"operationId":"api_publicv1purchase-debit-notes_get_collection","tags":["PurchaseDebitNote"],"responses":{"200":{"description":"PurchaseDebitNote collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseDebitNote"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseDebitNote resources.","description":"Retrieves the collection of PurchaseDebitNote resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-debit-notes\/{id}":{"get":{"operationId":"api_publicv1purchase-debit-notes_id_get","tags":["PurchaseDebitNote"],"responses":{"200":{"description":"PurchaseDebitNote resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseDebitNote"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseDebitNote resource.","description":"Retrieves a PurchaseDebitNote resource.","parameters":[{"name":"id","in":"path","description":"PurchaseDebitNote identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-debit-note-addresses":{"get":{"operationId":"api_publicv1purchase-debit-note-addresses_get_collection","tags":["PurchaseDebitNoteAddress"],"responses":{"200":{"description":"PurchaseDebitNoteAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseDebitNoteAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseDebitNoteAddress resources.","description":"Retrieves the collection of PurchaseDebitNoteAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-debit-note-addresses\/{id}":{"get":{"operationId":"api_publicv1purchase-debit-note-addresses_id_get","tags":["PurchaseDebitNoteAddress"],"responses":{"200":{"description":"PurchaseDebitNoteAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseDebitNoteAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseDebitNoteAddress resource.","description":"Retrieves a PurchaseDebitNoteAddress resource.","parameters":[{"name":"id","in":"path","description":"PurchaseDebitNoteAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-debit-note-definitions":{"get":{"operationId":"api_publicv1purchase-debit-note-definitions_get_collection","tags":["PurchaseDebitNoteDefinition"],"responses":{"200":{"description":"PurchaseDebitNoteDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseDebitNoteDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseDebitNoteDefinition resources.","description":"Retrieves the collection of PurchaseDebitNoteDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-debit-note-definitions\/{id}":{"get":{"operationId":"api_publicv1purchase-debit-note-definitions_id_get","tags":["PurchaseDebitNoteDefinition"],"responses":{"200":{"description":"PurchaseDebitNoteDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseDebitNoteDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseDebitNoteDefinition resource.","description":"Retrieves a PurchaseDebitNoteDefinition resource.","parameters":[{"name":"id","in":"path","description":"PurchaseDebitNoteDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-debit-note-histories":{"get":{"operationId":"api_publicv1purchase-debit-note-histories_get_collection","tags":["PurchaseDebitNoteHistory"],"responses":{"200":{"description":"PurchaseDebitNoteHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseDebitNoteHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseDebitNoteHistory resources.","description":"Retrieves the collection of PurchaseDebitNoteHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-debit-note-histories\/{id}":{"get":{"operationId":"api_publicv1purchase-debit-note-histories_id_get","tags":["PurchaseDebitNoteHistory"],"responses":{"200":{"description":"PurchaseDebitNoteHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseDebitNoteHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseDebitNoteHistory resource.","description":"Retrieves a PurchaseDebitNoteHistory resource.","parameters":[{"name":"id","in":"path","description":"PurchaseDebitNoteHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-debit-note-lines":{"get":{"operationId":"api_publicv1purchase-debit-note-lines_get_collection","tags":["PurchaseDebitNoteLine"],"responses":{"200":{"description":"PurchaseDebitNoteLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseDebitNoteLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseDebitNoteLine resources.","description":"Retrieves the collection of PurchaseDebitNoteLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-debit-note-lines\/{id}":{"get":{"operationId":"api_publicv1purchase-debit-note-lines_id_get","tags":["PurchaseDebitNoteLine"],"responses":{"200":{"description":"PurchaseDebitNoteLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseDebitNoteLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseDebitNoteLine resource.","description":"Retrieves a PurchaseDebitNoteLine resource.","parameters":[{"name":"id","in":"path","description":"PurchaseDebitNoteLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-definitions":{"get":{"operationId":"api_publicv1purchase-definitions_get_collection","tags":["PurchaseDefinition"],"responses":{"200":{"description":"PurchaseDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseDefinition resources.","description":"Retrieves the collection of PurchaseDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-definitions\/{id}":{"get":{"operationId":"api_publicv1purchase-definitions_id_get","tags":["PurchaseDefinition"],"responses":{"200":{"description":"PurchaseDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseDefinition resource.","description":"Retrieves a PurchaseDefinition resource.","parameters":[{"name":"id","in":"path","description":"PurchaseDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-histories":{"get":{"operationId":"api_publicv1purchase-histories_get_collection","tags":["PurchaseHistory"],"responses":{"200":{"description":"PurchaseHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseHistory resources.","description":"Retrieves the collection of PurchaseHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-histories\/{id}":{"get":{"operationId":"api_publicv1purchase-histories_id_get","tags":["PurchaseHistory"],"responses":{"200":{"description":"PurchaseHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseHistory resource.","description":"Retrieves a PurchaseHistory resource.","parameters":[{"name":"id","in":"path","description":"PurchaseHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-lines":{"get":{"operationId":"api_publicv1purchase-lines_get_collection","tags":["PurchaseLine"],"responses":{"200":{"description":"PurchaseLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseLine resources.","description":"Retrieves the collection of PurchaseLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-lines\/{id}":{"get":{"operationId":"api_publicv1purchase-lines_id_get","tags":["PurchaseLine"],"responses":{"200":{"description":"PurchaseLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseLine resource.","description":"Retrieves a PurchaseLine resource.","parameters":[{"name":"id","in":"path","description":"PurchaseLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-orders":{"get":{"operationId":"api_publicv1purchase-orders_get_collection","tags":["PurchaseOrder"],"responses":{"200":{"description":"PurchaseOrder collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseOrder"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseOrder resources.","description":"Retrieves the collection of PurchaseOrder resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-orders\/{id}":{"get":{"operationId":"api_publicv1purchase-orders_id_get","tags":["PurchaseOrder"],"responses":{"200":{"description":"PurchaseOrder resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseOrder"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseOrder resource.","description":"Retrieves a PurchaseOrder resource.","parameters":[{"name":"id","in":"path","description":"PurchaseOrder identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-order-addresses":{"get":{"operationId":"api_publicv1purchase-order-addresses_get_collection","tags":["PurchaseOrderAddress"],"responses":{"200":{"description":"PurchaseOrderAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseOrderAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseOrderAddress resources.","description":"Retrieves the collection of PurchaseOrderAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-order-addresses\/{id}":{"get":{"operationId":"api_publicv1purchase-order-addresses_id_get","tags":["PurchaseOrderAddress"],"responses":{"200":{"description":"PurchaseOrderAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseOrderAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseOrderAddress resource.","description":"Retrieves a PurchaseOrderAddress resource.","parameters":[{"name":"id","in":"path","description":"PurchaseOrderAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-order-definitions":{"get":{"operationId":"api_publicv1purchase-order-definitions_get_collection","tags":["PurchaseOrderDefinition"],"responses":{"200":{"description":"PurchaseOrderDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseOrderDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseOrderDefinition resources.","description":"Retrieves the collection of PurchaseOrderDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-order-definitions\/{id}":{"get":{"operationId":"api_publicv1purchase-order-definitions_id_get","tags":["PurchaseOrderDefinition"],"responses":{"200":{"description":"PurchaseOrderDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseOrderDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseOrderDefinition resource.","description":"Retrieves a PurchaseOrderDefinition resource.","parameters":[{"name":"id","in":"path","description":"PurchaseOrderDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-order-histories":{"get":{"operationId":"api_publicv1purchase-order-histories_get_collection","tags":["PurchaseOrderHistory"],"responses":{"200":{"description":"PurchaseOrderHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseOrderHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseOrderHistory resources.","description":"Retrieves the collection of PurchaseOrderHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-order-histories\/{id}":{"get":{"operationId":"api_publicv1purchase-order-histories_id_get","tags":["PurchaseOrderHistory"],"responses":{"200":{"description":"PurchaseOrderHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseOrderHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseOrderHistory resource.","description":"Retrieves a PurchaseOrderHistory resource.","parameters":[{"name":"id","in":"path","description":"PurchaseOrderHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-order-lines":{"get":{"operationId":"api_publicv1purchase-order-lines_get_collection","tags":["PurchaseOrderLine"],"responses":{"200":{"description":"PurchaseOrderLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseOrderLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseOrderLine resources.","description":"Retrieves the collection of PurchaseOrderLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-order-lines\/{id}":{"get":{"operationId":"api_publicv1purchase-order-lines_id_get","tags":["PurchaseOrderLine"],"responses":{"200":{"description":"PurchaseOrderLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseOrderLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseOrderLine resource.","description":"Retrieves a PurchaseOrderLine resource.","parameters":[{"name":"id","in":"path","description":"PurchaseOrderLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-payments":{"get":{"operationId":"api_publicv1purchase-payments_get_collection","tags":["PurchasePayment"],"responses":{"200":{"description":"PurchasePayment collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchasePayment"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchasePayment resources.","description":"Retrieves the collection of PurchasePayment resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-payments\/{id}":{"get":{"operationId":"api_publicv1purchase-payments_id_get","tags":["PurchasePayment"],"responses":{"200":{"description":"PurchasePayment resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchasePayment"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchasePayment resource.","description":"Retrieves a PurchasePayment resource.","parameters":[{"name":"id","in":"path","description":"PurchasePayment identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/purchase-recurring-event-histories":{"get":{"operationId":"api_publicv1purchase-recurring-event-histories_get_collection","tags":["PurchaseRecurringEventHistory"],"responses":{"200":{"description":"PurchaseRecurringEventHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/PurchaseRecurringEventHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of PurchaseRecurringEventHistory resources.","description":"Retrieves the collection of PurchaseRecurringEventHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/purchase-recurring-event-histories\/{id}":{"get":{"operationId":"api_publicv1purchase-recurring-event-histories_id_get","tags":["PurchaseRecurringEventHistory"],"responses":{"200":{"description":"PurchaseRecurringEventHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PurchaseRecurringEventHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a PurchaseRecurringEventHistory resource.","description":"Retrieves a PurchaseRecurringEventHistory resource.","parameters":[{"name":"id","in":"path","description":"PurchaseRecurringEventHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/quotes":{"get":{"operationId":"api_publicv1quotes_get_collection","tags":["Quote"],"responses":{"200":{"description":"Quote collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Quote"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Quote resources.","description":"Retrieves the collection of Quote resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/quotes\/{id}":{"get":{"operationId":"api_publicv1quotes_id_get","tags":["Quote"],"responses":{"200":{"description":"Quote resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Quote"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Quote resource.","description":"Retrieves a Quote resource.","parameters":[{"name":"id","in":"path","description":"Quote identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/quote-addresses":{"get":{"operationId":"api_publicv1quote-addresses_get_collection","tags":["QuoteAddress"],"responses":{"200":{"description":"QuoteAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/QuoteAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of QuoteAddress resources.","description":"Retrieves the collection of QuoteAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/quote-addresses\/{id}":{"get":{"operationId":"api_publicv1quote-addresses_id_get","tags":["QuoteAddress"],"responses":{"200":{"description":"QuoteAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/QuoteAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a QuoteAddress resource.","description":"Retrieves a QuoteAddress resource.","parameters":[{"name":"id","in":"path","description":"QuoteAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/quote-definitions":{"get":{"operationId":"api_publicv1quote-definitions_get_collection","tags":["QuoteDefinition"],"responses":{"200":{"description":"QuoteDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/QuoteDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of QuoteDefinition resources.","description":"Retrieves the collection of QuoteDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/quote-definitions\/{id}":{"get":{"operationId":"api_publicv1quote-definitions_id_get","tags":["QuoteDefinition"],"responses":{"200":{"description":"QuoteDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/QuoteDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a QuoteDefinition resource.","description":"Retrieves a QuoteDefinition resource.","parameters":[{"name":"id","in":"path","description":"QuoteDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/quote-histories":{"get":{"operationId":"api_publicv1quote-histories_get_collection","tags":["QuoteHistory"],"responses":{"200":{"description":"QuoteHistory collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/QuoteHistory"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of QuoteHistory resources.","description":"Retrieves the collection of QuoteHistory resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/quote-histories\/{id}":{"get":{"operationId":"api_publicv1quote-histories_id_get","tags":["QuoteHistory"],"responses":{"200":{"description":"QuoteHistory resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/QuoteHistory"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a QuoteHistory resource.","description":"Retrieves a QuoteHistory resource.","parameters":[{"name":"id","in":"path","description":"QuoteHistory identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/quote-lines":{"get":{"operationId":"api_publicv1quote-lines_get_collection","tags":["QuoteLine"],"responses":{"200":{"description":"QuoteLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/QuoteLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of QuoteLine resources.","description":"Retrieves the collection of QuoteLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/quote-lines\/{id}":{"get":{"operationId":"api_publicv1quote-lines_id_get","tags":["QuoteLine"],"responses":{"200":{"description":"QuoteLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/QuoteLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a QuoteLine resource.","description":"Retrieves a QuoteLine resource.","parameters":[{"name":"id","in":"path","description":"QuoteLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/recurring-invoices":{"get":{"operationId":"api_publicv1recurring-invoices_get_collection","tags":["RecurringInvoice"],"responses":{"200":{"description":"RecurringInvoice collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/RecurringInvoice"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of RecurringInvoice resources.","description":"Retrieves the collection of RecurringInvoice resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/recurring-invoices\/{id}":{"get":{"operationId":"api_publicv1recurring-invoices_id_get","tags":["RecurringInvoice"],"responses":{"200":{"description":"RecurringInvoice resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RecurringInvoice"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a RecurringInvoice resource.","description":"Retrieves a RecurringInvoice resource.","parameters":[{"name":"id","in":"path","description":"RecurringInvoice identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/recurring-invoice-addresses":{"get":{"operationId":"api_publicv1recurring-invoice-addresses_get_collection","tags":["RecurringInvoiceAddress"],"responses":{"200":{"description":"RecurringInvoiceAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/RecurringInvoiceAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of RecurringInvoiceAddress resources.","description":"Retrieves the collection of RecurringInvoiceAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/recurring-invoice-addresses\/{id}":{"get":{"operationId":"api_publicv1recurring-invoice-addresses_id_get","tags":["RecurringInvoiceAddress"],"responses":{"200":{"description":"RecurringInvoiceAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RecurringInvoiceAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a RecurringInvoiceAddress resource.","description":"Retrieves a RecurringInvoiceAddress resource.","parameters":[{"name":"id","in":"path","description":"RecurringInvoiceAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/recurring-invoice-definitions":{"get":{"operationId":"api_publicv1recurring-invoice-definitions_get_collection","tags":["RecurringInvoiceDefinition"],"responses":{"200":{"description":"RecurringInvoiceDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/RecurringInvoiceDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of RecurringInvoiceDefinition resources.","description":"Retrieves the collection of RecurringInvoiceDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/recurring-invoice-definitions\/{id}":{"get":{"operationId":"api_publicv1recurring-invoice-definitions_id_get","tags":["RecurringInvoiceDefinition"],"responses":{"200":{"description":"RecurringInvoiceDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RecurringInvoiceDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a RecurringInvoiceDefinition resource.","description":"Retrieves a RecurringInvoiceDefinition resource.","parameters":[{"name":"id","in":"path","description":"RecurringInvoiceDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/recurring-invoice-lines":{"get":{"operationId":"api_publicv1recurring-invoice-lines_get_collection","tags":["RecurringInvoiceLine"],"responses":{"200":{"description":"RecurringInvoiceLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/RecurringInvoiceLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of RecurringInvoiceLine resources.","description":"Retrieves the collection of RecurringInvoiceLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/recurring-invoice-lines\/{id}":{"get":{"operationId":"api_publicv1recurring-invoice-lines_id_get","tags":["RecurringInvoiceLine"],"responses":{"200":{"description":"RecurringInvoiceLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RecurringInvoiceLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a RecurringInvoiceLine resource.","description":"Retrieves a RecurringInvoiceLine resource.","parameters":[{"name":"id","in":"path","description":"RecurringInvoiceLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/recurring-purchases":{"get":{"operationId":"api_publicv1recurring-purchases_get_collection","tags":["RecurringPurchase"],"responses":{"200":{"description":"RecurringPurchase collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/RecurringPurchase"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of RecurringPurchase resources.","description":"Retrieves the collection of RecurringPurchase resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/recurring-purchases\/{id}":{"get":{"operationId":"api_publicv1recurring-purchases_id_get","tags":["RecurringPurchase"],"responses":{"200":{"description":"RecurringPurchase resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RecurringPurchase"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a RecurringPurchase resource.","description":"Retrieves a RecurringPurchase resource.","parameters":[{"name":"id","in":"path","description":"RecurringPurchase identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/recurring-purchase-addresses":{"get":{"operationId":"api_publicv1recurring-purchase-addresses_get_collection","tags":["RecurringPurchaseAddress"],"responses":{"200":{"description":"RecurringPurchaseAddress collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/RecurringPurchaseAddress"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of RecurringPurchaseAddress resources.","description":"Retrieves the collection of RecurringPurchaseAddress resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/recurring-purchase-addresses\/{id}":{"get":{"operationId":"api_publicv1recurring-purchase-addresses_id_get","tags":["RecurringPurchaseAddress"],"responses":{"200":{"description":"RecurringPurchaseAddress resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RecurringPurchaseAddress"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a RecurringPurchaseAddress resource.","description":"Retrieves a RecurringPurchaseAddress resource.","parameters":[{"name":"id","in":"path","description":"RecurringPurchaseAddress identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/recurring-purchase-definitions":{"get":{"operationId":"api_publicv1recurring-purchase-definitions_get_collection","tags":["RecurringPurchaseDefinition"],"responses":{"200":{"description":"RecurringPurchaseDefinition collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/RecurringPurchaseDefinition"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of RecurringPurchaseDefinition resources.","description":"Retrieves the collection of RecurringPurchaseDefinition resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/recurring-purchase-definitions\/{id}":{"get":{"operationId":"api_publicv1recurring-purchase-definitions_id_get","tags":["RecurringPurchaseDefinition"],"responses":{"200":{"description":"RecurringPurchaseDefinition resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RecurringPurchaseDefinition"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a RecurringPurchaseDefinition resource.","description":"Retrieves a RecurringPurchaseDefinition resource.","parameters":[{"name":"id","in":"path","description":"RecurringPurchaseDefinition identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/recurring-purchase-lines":{"get":{"operationId":"api_publicv1recurring-purchase-lines_get_collection","tags":["RecurringPurchaseLine"],"responses":{"200":{"description":"RecurringPurchaseLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/RecurringPurchaseLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of RecurringPurchaseLine resources.","description":"Retrieves the collection of RecurringPurchaseLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/recurring-purchase-lines\/{id}":{"get":{"operationId":"api_publicv1recurring-purchase-lines_id_get","tags":["RecurringPurchaseLine"],"responses":{"200":{"description":"RecurringPurchaseLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RecurringPurchaseLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a RecurringPurchaseLine resource.","description":"Retrieves a RecurringPurchaseLine resource.","parameters":[{"name":"id","in":"path","description":"RecurringPurchaseLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/routings":{"get":{"operationId":"api_publicv1routings_get_collection","tags":["Routing"],"responses":{"200":{"description":"Routing collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Routing"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Routing resources.","description":"Retrieves the collection of Routing resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/routings\/{id}":{"get":{"operationId":"api_publicv1routings_id_get","tags":["Routing"],"responses":{"200":{"description":"Routing resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Routing"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Routing resource.","description":"Retrieves a Routing resource.","parameters":[{"name":"id","in":"path","description":"Routing identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/routing-operations":{"get":{"operationId":"api_publicv1routing-operations_get_collection","tags":["RoutingOperation"],"responses":{"200":{"description":"RoutingOperation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/RoutingOperation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of RoutingOperation resources.","description":"Retrieves the collection of RoutingOperation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/routing-operations\/{id}":{"get":{"operationId":"api_publicv1routing-operations_id_get","tags":["RoutingOperation"],"responses":{"200":{"description":"RoutingOperation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RoutingOperation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a RoutingOperation resource.","description":"Retrieves a RoutingOperation resource.","parameters":[{"name":"id","in":"path","description":"RoutingOperation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/stock-counts":{"get":{"operationId":"api_publicv1stock-counts_get_collection","tags":["StockCount"],"responses":{"200":{"description":"StockCount collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StockCount"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StockCount resources.","description":"Retrieves the collection of StockCount resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/stock-counts\/{id}":{"get":{"operationId":"api_publicv1stock-counts_id_get","tags":["StockCount"],"responses":{"200":{"description":"StockCount resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockCount"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StockCount resource.","description":"Retrieves a StockCount resource.","parameters":[{"name":"id","in":"path","description":"StockCount identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/stock-count-lines":{"get":{"operationId":"api_publicv1stock-count-lines_get_collection","tags":["StockCountLine"],"responses":{"200":{"description":"StockCountLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StockCountLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StockCountLine resources.","description":"Retrieves the collection of StockCountLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/stock-count-lines\/{id}":{"get":{"operationId":"api_publicv1stock-count-lines_id_get","tags":["StockCountLine"],"responses":{"200":{"description":"StockCountLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockCountLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StockCountLine resource.","description":"Retrieves a StockCountLine resource.","parameters":[{"name":"id","in":"path","description":"StockCountLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/stock-transfers":{"get":{"operationId":"api_publicv1stock-transfers_get_collection","tags":["StockTransfer"],"responses":{"200":{"description":"StockTransfer collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StockTransfer"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StockTransfer resources.","description":"Retrieves the collection of StockTransfer resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/stock-transfers\/{id}":{"get":{"operationId":"api_publicv1stock-transfers_id_get","tags":["StockTransfer"],"responses":{"200":{"description":"StockTransfer resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockTransfer"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StockTransfer resource.","description":"Retrieves a StockTransfer resource.","parameters":[{"name":"id","in":"path","description":"StockTransfer identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/stock-transfer-lines":{"get":{"operationId":"api_publicv1stock-transfer-lines_get_collection","tags":["StockTransferLine"],"responses":{"200":{"description":"StockTransferLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StockTransferLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StockTransferLine resources.","description":"Retrieves the collection of StockTransferLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/stock-transfer-lines\/{id}":{"get":{"operationId":"api_publicv1stock-transfer-lines_id_get","tags":["StockTransferLine"],"responses":{"200":{"description":"StockTransferLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockTransferLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StockTransferLine resource.","description":"Retrieves a StockTransferLine resource.","parameters":[{"name":"id","in":"path","description":"StockTransferLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/stores":{"get":{"operationId":"api_publicv1stores_get_collection","tags":["Store"],"responses":{"200":{"description":"Store collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Store"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Store resources.","description":"Retrieves the collection of Store resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/stores\/{id}":{"get":{"operationId":"api_publicv1stores_id_get","tags":["Store"],"responses":{"200":{"description":"Store resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Store"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Store resource.","description":"Retrieves a Store resource.","parameters":[{"name":"id","in":"path","description":"Store identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/store-carousels":{"get":{"operationId":"api_publicv1store-carousels_get_collection","tags":["StoreCarousel"],"responses":{"200":{"description":"StoreCarousel collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StoreCarousel"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StoreCarousel resources.","description":"Retrieves the collection of StoreCarousel resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/store-carousels\/{id}":{"get":{"operationId":"api_publicv1store-carousels_id_get","tags":["StoreCarousel"],"responses":{"200":{"description":"StoreCarousel resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StoreCarousel"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StoreCarousel resource.","description":"Retrieves a StoreCarousel resource.","parameters":[{"name":"id","in":"path","description":"StoreCarousel identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/store-deals":{"get":{"operationId":"api_publicv1store-deals_get_collection","tags":["StoreDeal"],"responses":{"200":{"description":"StoreDeal collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StoreDeal"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StoreDeal resources.","description":"Retrieves the collection of StoreDeal resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/store-deals\/{id}":{"get":{"operationId":"api_publicv1store-deals_id_get","tags":["StoreDeal"],"responses":{"200":{"description":"StoreDeal resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StoreDeal"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StoreDeal resource.","description":"Retrieves a StoreDeal resource.","parameters":[{"name":"id","in":"path","description":"StoreDeal identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/store-images":{"get":{"operationId":"api_publicv1store-images_get_collection","tags":["StoreImage"],"responses":{"200":{"description":"StoreImage collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StoreImage"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StoreImage resources.","description":"Retrieves the collection of StoreImage resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/store-images\/{id}":{"get":{"operationId":"api_publicv1store-images_id_get","tags":["StoreImage"],"responses":{"200":{"description":"StoreImage resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StoreImage"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StoreImage resource.","description":"Retrieves a StoreImage resource.","parameters":[{"name":"id","in":"path","description":"StoreImage identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/store-menus":{"get":{"operationId":"api_publicv1store-menus_get_collection","tags":["StoreMenu"],"responses":{"200":{"description":"StoreMenu collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StoreMenu"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StoreMenu resources.","description":"Retrieves the collection of StoreMenu resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/store-menus\/{id}":{"get":{"operationId":"api_publicv1store-menus_id_get","tags":["StoreMenu"],"responses":{"200":{"description":"StoreMenu resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StoreMenu"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StoreMenu resource.","description":"Retrieves a StoreMenu resource.","parameters":[{"name":"id","in":"path","description":"StoreMenu identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/store-menu-lines":{"get":{"operationId":"api_publicv1store-menu-lines_get_collection","tags":["StoreMenuLine"],"responses":{"200":{"description":"StoreMenuLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StoreMenuLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StoreMenuLine resources.","description":"Retrieves the collection of StoreMenuLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/store-menu-lines\/{id}":{"get":{"operationId":"api_publicv1store-menu-lines_id_get","tags":["StoreMenuLine"],"responses":{"200":{"description":"StoreMenuLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StoreMenuLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StoreMenuLine resource.","description":"Retrieves a StoreMenuLine resource.","parameters":[{"name":"id","in":"path","description":"StoreMenuLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/store-orders":{"get":{"operationId":"api_publicv1store-orders_get_collection","tags":["StoreOrder"],"responses":{"200":{"description":"StoreOrder collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StoreOrder"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StoreOrder resources.","description":"Retrieves the collection of StoreOrder resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/store-orders\/{id}":{"get":{"operationId":"api_publicv1store-orders_id_get","tags":["StoreOrder"],"responses":{"200":{"description":"StoreOrder resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StoreOrder"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StoreOrder resource.","description":"Retrieves a StoreOrder resource.","parameters":[{"name":"id","in":"path","description":"StoreOrder identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/store-order-lines":{"get":{"operationId":"api_publicv1store-order-lines_get_collection","tags":["StoreOrderLine"],"responses":{"200":{"description":"StoreOrderLine collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StoreOrderLine"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StoreOrderLine resources.","description":"Retrieves the collection of StoreOrderLine resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/store-order-lines\/{id}":{"get":{"operationId":"api_publicv1store-order-lines_id_get","tags":["StoreOrderLine"],"responses":{"200":{"description":"StoreOrderLine resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StoreOrderLine"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StoreOrderLine resource.","description":"Retrieves a StoreOrderLine resource.","parameters":[{"name":"id","in":"path","description":"StoreOrderLine identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/store-templates":{"get":{"operationId":"api_publicv1store-templates_get_collection","tags":["StoreTemplate"],"responses":{"200":{"description":"StoreTemplate collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StoreTemplate"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StoreTemplate resources.","description":"Retrieves the collection of StoreTemplate resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/store-templates\/{id}":{"get":{"operationId":"api_publicv1store-templates_id_get","tags":["StoreTemplate"],"responses":{"200":{"description":"StoreTemplate resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StoreTemplate"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StoreTemplate resource.","description":"Retrieves a StoreTemplate resource.","parameters":[{"name":"id","in":"path","description":"StoreTemplate identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/store-texts":{"get":{"operationId":"api_publicv1store-texts_get_collection","tags":["StoreText"],"responses":{"200":{"description":"StoreText collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/StoreText"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of StoreText resources.","description":"Retrieves the collection of StoreText resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/store-texts\/{id}":{"get":{"operationId":"api_publicv1store-texts_id_get","tags":["StoreText"],"responses":{"200":{"description":"StoreText resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StoreText"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a StoreText resource.","description":"Retrieves a StoreText resource.","parameters":[{"name":"id","in":"path","description":"StoreText identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/supplier-tax-profiles":{"get":{"operationId":"api_publicv1supplier-tax-profiles_get_collection","tags":["SupplierTaxProfile"],"responses":{"200":{"description":"SupplierTaxProfile collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/SupplierTaxProfile"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of SupplierTaxProfile resources.","description":"Retrieves the collection of SupplierTaxProfile resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/supplier-tax-profiles\/{id}":{"get":{"operationId":"api_publicv1supplier-tax-profiles_id_get","tags":["SupplierTaxProfile"],"responses":{"200":{"description":"SupplierTaxProfile resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupplierTaxProfile"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a SupplierTaxProfile resource.","description":"Retrieves a SupplierTaxProfile resource.","parameters":[{"name":"id","in":"path","description":"SupplierTaxProfile identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/tax-codes":{"get":{"operationId":"api_publicv1tax-codes_get_collection","tags":["TaxCode"],"responses":{"200":{"description":"TaxCode collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/TaxCode"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of TaxCode resources.","description":"Retrieves the collection of TaxCode resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/tax-codes\/{id}":{"get":{"operationId":"api_publicv1tax-codes_id_get","tags":["TaxCode"],"responses":{"200":{"description":"TaxCode resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TaxCode"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a TaxCode resource.","description":"Retrieves a TaxCode resource.","parameters":[{"name":"id","in":"path","description":"TaxCode identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/tax-code-components":{"get":{"operationId":"api_publicv1tax-code-components_get_collection","tags":["TaxCodeComponent"],"responses":{"200":{"description":"TaxCodeComponent collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/TaxCodeComponent"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of TaxCodeComponent resources.","description":"Retrieves the collection of TaxCodeComponent resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/tax-code-components\/{id}":{"get":{"operationId":"api_publicv1tax-code-components_id_get","tags":["TaxCodeComponent"],"responses":{"200":{"description":"TaxCodeComponent resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TaxCodeComponent"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a TaxCodeComponent resource.","description":"Retrieves a TaxCodeComponent resource.","parameters":[{"name":"id","in":"path","description":"TaxCodeComponent identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/tax-code-legal-texts":{"get":{"operationId":"api_publicv1tax-code-legal-texts_get_collection","tags":["TaxCodeLegalText"],"responses":{"200":{"description":"TaxCodeLegalText collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/TaxCodeLegalText"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of TaxCodeLegalText resources.","description":"Retrieves the collection of TaxCodeLegalText resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/tax-code-legal-texts\/{id}":{"get":{"operationId":"api_publicv1tax-code-legal-texts_id_get","tags":["TaxCodeLegalText"],"responses":{"200":{"description":"TaxCodeLegalText resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TaxCodeLegalText"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a TaxCodeLegalText resource.","description":"Retrieves a TaxCodeLegalText resource.","parameters":[{"name":"id","in":"path","description":"TaxCodeLegalText identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/tax-code-report-sections":{"get":{"operationId":"api_publicv1tax-code-report-sections_get_collection","tags":["TaxCodeReportSection"],"responses":{"200":{"description":"TaxCodeReportSection collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/TaxCodeReportSection"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of TaxCodeReportSection resources.","description":"Retrieves the collection of TaxCodeReportSection resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/tax-code-report-sections\/{id}":{"get":{"operationId":"api_publicv1tax-code-report-sections_id_get","tags":["TaxCodeReportSection"],"responses":{"200":{"description":"TaxCodeReportSection resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TaxCodeReportSection"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a TaxCodeReportSection resource.","description":"Retrieves a TaxCodeReportSection resource.","parameters":[{"name":"id","in":"path","description":"TaxCodeReportSection identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/tax-report-sections":{"get":{"operationId":"api_publicv1tax-report-sections_get_collection","tags":["TaxReportSection"],"responses":{"200":{"description":"TaxReportSection collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/TaxReportSection"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of TaxReportSection resources.","description":"Retrieves the collection of TaxReportSection resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/tax-report-sections\/{id}":{"get":{"operationId":"api_publicv1tax-report-sections_id_get","tags":["TaxReportSection"],"responses":{"200":{"description":"TaxReportSection resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TaxReportSection"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a TaxReportSection resource.","description":"Retrieves a TaxReportSection resource.","parameters":[{"name":"id","in":"path","description":"TaxReportSection identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/warehouses":{"get":{"operationId":"api_publicv1warehouses_get_collection","tags":["Warehouse"],"responses":{"200":{"description":"Warehouse collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Warehouse"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of Warehouse resources.","description":"Retrieves the collection of Warehouse resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/warehouses\/{id}":{"get":{"operationId":"api_publicv1warehouses_id_get","tags":["Warehouse"],"responses":{"200":{"description":"Warehouse resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Warehouse"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a Warehouse resource.","description":"Retrieves a Warehouse resource.","parameters":[{"name":"id","in":"path","description":"Warehouse identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/warehouse-locations":{"get":{"operationId":"api_publicv1warehouse-locations_get_collection","tags":["WarehouseLocation"],"responses":{"200":{"description":"WarehouseLocation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/WarehouseLocation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of WarehouseLocation resources.","description":"Retrieves the collection of WarehouseLocation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/warehouse-locations\/{id}":{"get":{"operationId":"api_publicv1warehouse-locations_id_get","tags":["WarehouseLocation"],"responses":{"200":{"description":"WarehouseLocation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WarehouseLocation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a WarehouseLocation resource.","description":"Retrieves a WarehouseLocation resource.","parameters":[{"name":"id","in":"path","description":"WarehouseLocation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/work-centers":{"get":{"operationId":"api_publicv1work-centers_get_collection","tags":["WorkCenter"],"responses":{"200":{"description":"WorkCenter collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/WorkCenter"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of WorkCenter resources.","description":"Retrieves the collection of WorkCenter resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/work-centers\/{id}":{"get":{"operationId":"api_publicv1work-centers_id_get","tags":["WorkCenter"],"responses":{"200":{"description":"WorkCenter resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WorkCenter"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a WorkCenter resource.","description":"Retrieves a WorkCenter resource.","parameters":[{"name":"id","in":"path","description":"WorkCenter identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/work-orders":{"get":{"operationId":"api_publicv1work-orders_get_collection","tags":["WorkOrder"],"responses":{"200":{"description":"WorkOrder collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/WorkOrder"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of WorkOrder resources.","description":"Retrieves the collection of WorkOrder resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/work-orders\/{id}":{"get":{"operationId":"api_publicv1work-orders_id_get","tags":["WorkOrder"],"responses":{"200":{"description":"WorkOrder resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WorkOrder"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a WorkOrder resource.","description":"Retrieves a WorkOrder resource.","parameters":[{"name":"id","in":"path","description":"WorkOrder identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/work-order-components":{"get":{"operationId":"api_publicv1work-order-components_get_collection","tags":["WorkOrderComponent"],"responses":{"200":{"description":"WorkOrderComponent collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/WorkOrderComponent"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of WorkOrderComponent resources.","description":"Retrieves the collection of WorkOrderComponent resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/work-order-components\/{id}":{"get":{"operationId":"api_publicv1work-order-components_id_get","tags":["WorkOrderComponent"],"responses":{"200":{"description":"WorkOrderComponent resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WorkOrderComponent"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a WorkOrderComponent resource.","description":"Retrieves a WorkOrderComponent resource.","parameters":[{"name":"id","in":"path","description":"WorkOrderComponent identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}},"\/api\/public\/v1\/work-order-operations":{"get":{"operationId":"api_publicv1work-order-operations_get_collection","tags":["WorkOrderOperation"],"responses":{"200":{"description":"WorkOrderOperation collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/WorkOrderOperation"}}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves the collection of WorkOrderOperation resources.","description":"Retrieves the collection of WorkOrderOperation resources.","parameters":[{"name":"_page","in":"query","description":"The collection page number","required":false,"deprecated":false,"schema":{"type":"integer","default":1},"style":"form","explode":true},{"name":"id[between]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[gte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lt]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"id[lte]","in":"query","description":"","required":false,"deprecated":false,"schema":{"type":"string"},"style":"form","explode":false},{"name":"updatedSince","in":"query","description":"Return only records modified at or after this instant \u2014 an ISO-8601 date or timestamp, for example `2026-08-21T09:30:00Z`. Combine it with the cursor to sync incrementally instead of re-reading the whole collection. The bound is INCLUSIVE, so storing the highest `updatedAt` you saw and passing it back next run cannot skip a record written in the same second; write your side as an upsert and the handful of repeats cost nothing.","required":false,"deprecated":false,"schema":{"type":"string","format":"date-time"},"style":"form","explode":true}]}},"\/api\/public\/v1\/work-order-operations\/{id}":{"get":{"operationId":"api_publicv1work-order-operations_id_get","tags":["WorkOrderOperation"],"responses":{"200":{"description":"WorkOrderOperation resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WorkOrderOperation"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":[]},"401":{"description":"Authentication failed \u2014 the `X-AUTH-TOKEN` header is missing, malformed, revoked, or belongs to a different company. Not retryable: the same token will fail identically.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}},"429":{"description":"Rate limit exceeded for this API key. `Retry-After` says how many seconds to wait; `X-RateLimit-Limit` and `X-RateLimit-Remaining` report the budget on every response, not just this one.","content":{"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}}}},"summary":"Retrieves a WorkOrderOperation resource.","description":"Retrieves a WorkOrderOperation resource.","parameters":[{"name":"id","in":"path","description":"WorkOrderOperation identifier","required":true,"deprecated":false,"schema":{"type":"string"},"style":"simple","explode":false}]}}},"components":{"schemas":{"Account":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"label":{"type":["string","null"]},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountRating":{"description":"The account rating","example":"Hot","type":"string"},"accountNumber":{"description":"The account number or code.","example":"NL001","type":"string"},"joinCode":{"type":["string","null"]},"isCustomer":{"default":false,"type":"boolean"},"isSupplier":{"default":false,"type":"boolean"},"parentAccountId":{"type":["string","null"]},"annualRevenue":{"type":"number","format":"float","example":"122944.50"},"recurringChargeAmount":{"type":"number","format":"float","example":"2000.00"},"billingAddressId":{"description":"The account billing address id","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"cocNumber":{"description":"The account Chamber of Commerce number.","example":"12345678","type":"string"},"department":{"description":"The account department name.","example":"Sales","type":"string"},"description":{"description":"The account description.","example":"Only contact via e-mail.","type":"string"},"email":{"description":"The account email address.","example":"xyz@example.com","format":"email","type":"string"},"fax":{"description":"The account contact fax number.","example":"+1 206 555 0100","type":"string"},"identification":{"type":["string","null"]},"industry":{"description":"The account primary industry for use in marketing segmentation and demographic analysis.","example":"Healthcare","type":"string"},"isInSelectboxList":{"description":"The account should be shown and selectable in select boxes in the platform. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"1","type":"boolean"},"isOwnerAccount":{"default":false,"type":"boolean"},"isPersonAccount":{"description":"The account is a person\/private account. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"isPayingAccount":{"default":true,"type":"boolean"},"leadSource":{"description":"The account lead source.","example":"word_of_mouth","type":"string"},"legalForm":{"description":"The account legal form.","example":"B.V.","type":"string"},"manuallyAccountNumber":{"default":false,"type":"boolean"},"name":{"description":"The account name.","example":"ObraLedger B.V.","type":"string"},"numberOfEmployees":{"description":"The account number of employees.","example":"125","type":"integer"},"peppolIdentifierType":{"description":"The account lead source.","example":"word_of_mouth","type":"string"},"peppolIdentifier":{"description":"The account lead source.","example":"word_of_mouth","type":"string"},"isPeppolActive":{"description":"Indicates if Peppol is active for this account.","example":true,"type":"boolean"},"phone":{"type":["string","null"]},"phoneMobile":{"description":"The account mobile phone number.","example":"+1 206 555 0100","type":"string"},"phoneOffice":{"description":"The account office phone number.","example":"+1 206 555 0100","type":"string"},"rating":{"description":"The account prospect rating, for example hot, warm, or cold.","example":"Hot","type":"string"},"shippingAddressId":{"description":"The account shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"site":{"description":"The account location, for example Headquarters or London .","example":"Headquarters","type":"string"},"taxNumber":{"description":"The account tax number.","example":"111234567B01","type":"string"},"taxNumberEu":{"description":"The account EU tax number.","example":"123456789B01","type":"string"},"taxNumberValid":{"description":"Account sales tax\/vat number is valid. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"taxNumberValidDate":{"description":"Account sales tax\/vat validation date.","example":"2025-07-21","format":"date","type":"string"},"website":{"description":"The account website.","example":"https:\/\/www.example.com","format":"uri","type":"string"},"taxCode":{"description":"That sales tax\/vat code.","example":"Hoog tarief","type":"string"},"managerId":{"description":"The account manager id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"}}},"AccountAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"description":"The address parent account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountName":{"description":"The address account name.","example":"Corporate Headquarters","type":"string"},"addressType":{"description":"the address type.","default":"Billing","enum":["billing","shipping","home","mailing","other"],"example":"billing","type":"string"},"city":{"description":"The address city.","example":"Amsterdam","type":"string"},"contactId":{"description":"The address contact id id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"contactPerson":{"description":"The address account contact person.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"countryCode":{"description":"The address country code. Code is the Alpha-2 code. See reference https:\/\/www.iso.org\/obp\/ui\/#search\/code\/.","example":"NL","type":"string"},"description":{"description":"The address description.","example":"Do not deliver before 10.00","type":"string"},"fax":{"description":"The address fax number.","example":"+1 206 555 0100","type":"string"},"freightTerm":{"description":"The address freight terms to make sure shipping charges are processed correctly.","example":"OTR \u2013 Over the Road","type":"string"},"geoAccuracy":{"description":"The address accuracy for the address, for use in mapping and other applications.","example":"high","type":"string"},"geoLatitude":{"type":"string","format":"decimal","example":"41.40338"},"geoLongitude":{"type":"string","format":"decimal","example":"2.17403"},"isCountryShown":{"description":"Show the country name in the address. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"isDefault":{"description":"Indicates that the address is the default for the address type. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"isSameAsBilling":{"description":"Indicates that the shipping address is the same as the billing address. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"locale":{"description":"The address locale.","example":"nl_NL","type":"string"},"phone":{"description":"The address primary phone number.","example":"+1 206 555 0100","type":"string"},"postOfficeBox":{"description":"The address post office box.","example":"PO Box 1234","type":"string"},"postalCode":{"minLength":4,"description":"The address postal\/ZIP code.","example":"100263","type":"string"},"primaryContactName":{"description":"The address primary contact.","example":"John Doe","type":"string"},"region":{"description":"The address region.","example":"South","type":"string"},"shippingMethod":{"description":"The address shipping method.","example":"DHL","type":"string"},"state":{"description":"The address state.","example":"California","type":"string"},"stateCode":{"pattern":"^([a-zA-Z]+)$","description":"The address state code.","example":"CA","type":"string"},"street":{"description":"The address street.","example":"1234 Main Street, Apartment 101","type":"string"},"upsZone":{"description":"The address UPS zone.","example":"Zone 2","type":"string"},"utcConversionTimezoneCode":{"description":"The address time zone.","example":"EST","type":"string"},"utcOffset":{"description":"The address time zone offset.","example":"+01:00","type":"string"}}},"AccountContactRelation":{"type":"object","description":"Many-to-many junction edge between an Account and an AccountContact.\n\nSCOPE: holds *only* the secondary relations. The contact\u0027s primary\naccount is the denormalised `AccountContact.accountId` column \u2014 so this\ntable never duplicates the primary edge. Equivalent to Pipedrive\u0027s\n\u0022Linked organizations\u0022, Zendesk Sell\u0027s \u0022Related Companies\u0022, or\nHubSpot\u0027s secondary association labels (the primary stays denormalised\non the Contact). Salesforce-style `IsDirect` was rejected because the\nprimary lives in two places under that model.\n\nEach row carries a free-form-ish `relationRole` keyed against the\n`account_contact_relation_role` site domain (decision_maker, billing,\ntechnical, signatory, influencer, user, other).","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":"string"},"contactId":{"type":"string"},"relationRole":{"type":["string","null"]},"isActive":{"default":true,"type":"boolean"},"startDate":{"type":["string","null"],"format":"date-time"},"endDate":{"type":["string","null"],"format":"date-time"}}},"AccountContactShoppingStore":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"email":{"type":["string","null"]},"description":{"type":"string"}}},"AccountCustomerProjectRate":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"hourlyRateCost":{"type":["string","null"],"format":"decimal"},"hourlyRateProfit":{"type":["string","null"],"format":"decimal"},"weeklyCapacity":{"type":["string","null"],"format":"decimal"},"customerSettings":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}},"required":["accountContactId","accountId"]},"AccountSetting":{"type":"object","description":"Per-account settings \u2014 one row per account, holding both the CUSTOMER (sales-side) and SUPPLIER\n(purchase-side) document defaults. Merged from the former `com_acc_customer_settings` +\n`com_acc_supplier_settings` (which were structurally-parallel per-document-type settings for disjoint\ndocument sets). The two tax defaults are kept distinct: `saleTaxCodeId` (customer) + `purchaseTaxCodeId`\n(supplier). The `*Id(string $key)` helpers resolve `documentDesign{Key}` etc. for ANY document type \u2014\ncustomer doc types (invoice\/quote\/\u2026) and the supplier `purchaseOrder`.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"currencyCode":{"type":["string","null"]},"flexFields":{"type":["array","null"],"items":{"type":["string","null"]}},"languageCode":{"type":["string","null"]},"productGroup":{"type":["string","null"]},"priceListId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentDesignCreditNote":{"type":["string","null"]},"documentDesignDebitNote":{"type":["string","null"]},"documentDesignInvoice":{"type":["string","null"]},"documentDesignOrderConfirmation":{"type":["string","null"]},"documentDesignPackingNote":{"type":["string","null"]},"documentDesignConsignment":{"type":["string","null"]},"documentDesignPaymentReminder":{"type":["string","null"]},"documentDesignQuote":{"type":["string","null"]},"documentReminderCreditNote":{"type":["string","null"]},"documentReminderInvoice":{"type":["string","null"]},"documentReminderOrderConfirmation":{"type":["string","null"]},"documentReminderPackingNote":{"type":["string","null"]},"documentReminderConsignment":{"type":["string","null"]},"documentReminderPaymentReminder":{"type":["string","null"]},"documentReminderQuote":{"type":["string","null"]},"documentTermCreditNote":{"type":["string","null"]},"documentTermInvoice":{"type":["string","null"]},"documentTermOrderConfirmation":{"type":["string","null"]},"documentTermPackingNote":{"type":["string","null"]},"documentTermPaymentReminder":{"type":["string","null"]},"documentTermQuote":{"type":["string","null"]},"emailAddressToCreditNote":{"type":["string","null"]},"emailAddressToDebitNote":{"type":["string","null"]},"emailAddressToInvoice":{"type":["string","null"]},"emailAddressToOrderConfirmation":{"type":["string","null"]},"emailAddressToPackingNote":{"type":["string","null"]},"emailAddressToPaymentReminder":{"type":["string","null"]},"emailAddressToQuote":{"type":["string","null"]},"emailTemplateCreditNote":{"type":["string","null"]},"emailTemplateDebitNote":{"type":["string","null"]},"emailTemplateInvoice":{"type":["string","null"]},"emailTemplateOrderConfirmation":{"type":["string","null"]},"emailTemplatePackingNote":{"type":["string","null"]},"emailTemplateConsignment":{"type":["string","null"]},"emailTemplatePaymentReminder":{"type":["string","null"]},"emailTemplateQuote":{"type":["string","null"]},"sequenceNumberCreditNote":{"type":["string","null"]},"sequenceNumberDebitNote":{"type":["string","null"]},"sequenceNumberInvoice":{"type":["string","null"]},"sequenceNumberOrderConfirmation":{"type":["string","null"]},"sequenceNumberPackingNote":{"type":["string","null"]},"sequenceNumberConsignment":{"type":["string","null"]},"sequenceNumberPaymentReminder":{"type":["string","null"]},"sequenceNumberQuote":{"type":["string","null"]},"sequenceNumberProformaInvoice":{"type":["string","null"]},"toCoCreditNote":{"type":["string","null"]},"toCoDebitNote":{"type":["string","null"]},"toCoInvoice":{"type":["string","null"]},"toCoOrderConfirmation":{"type":["string","null"]},"toCoPackingNote":{"type":["string","null"]},"toCoConsignment":{"type":["string","null"]},"toCoPaymentReminder":{"type":["string","null"]},"toCoQuote":{"type":["string","null"]},"saleTaxCodeId":{"type":["string","null"]},"paymentTermInvoice":{"type":["string","null"]},"paymentTermOrderConfirmation":{"type":["string","null"]},"paymentTermQuote":{"type":["string","null"]},"saleLedgerAccountId":{"type":["string","null"]},"paymentRemindersPerInvoice":{"default":false,"type":"boolean"},"documentDesignPurchaseOrder":{"type":["string","null"]},"documentReminderPurchaseOrder":{"type":["string","null"]},"documentTermPurchaseOrder":{"type":["string","null"]},"emailAddressToPurchaseOrder":{"type":["string","null"]},"emailTemplatePurchaseOrder":{"type":["string","null"]},"sequenceNumberPurchaseOrder":{"type":["string","null"]},"toCoPurchaseOrder":{"type":["string","null"]},"purchaseTaxCodeId":{"type":["string","null"]},"purchaseLedgerAccountId":{"type":["string","null"]},"daysExpiry":{"type":["integer","null"]},"paymentMethod":{"type":["string","null"]},"projectRates":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"BankFeedAccount":{"type":"object","description":"One account at a connected bank, and which of the company\u0027s bank accounts its lines go to (E40).\n\n**Every account must be decided before the first sync** \u2014 linked to a bank account, or ignored.\nThe aggregator\u0027s change stream is one cursor per connection, not per account: syncing past an\nundecided account would mark its transactions seen without storing them anywhere.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"connectionId":{"default":"","type":"string"},"providerAccountId":{"default":"","type":"string"},"name":{"default":"","type":"string"},"mask":{"type":["string","null"]},"type":{"type":["string","null"]},"subtype":{"type":["string","null"]},"currency":{"type":["string","null"]},"bankAccountId":{"type":["string","null"]},"ignored":{"default":false,"type":"boolean"}}},"BankFeedConnection":{"type":"object","description":"One company\u0027s live connection to one bank, through a feed aggregator (E40).\n\n**The access token is encrypted at rest** ({@see EncryptedStringType}): it reads that company\u0027s bank\ntransactions for as long as the connection lives. It never leaves the server.\n\n`cursor` is where the last sync stopped in the aggregator\u0027s change stream; advancing it is what\nmakes a transaction \u0022seen\u0022, so it only moves after the lines it covers are safely stored.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"provider":{"default":"plaid","type":"string"},"itemId":{"default":"","type":"string"},"institutionName":{"type":["string","null"]},"cursor":{"type":["string","null"]},"lastSyncedOn":{"type":["string","null"],"format":"date-time"},"lastError":{"type":["string","null"]},"needsReconnect":{"default":false,"type":"boolean"}}},"BankPayerMemory":{"type":"object","description":"What we learned about who a bank transaction belongs to: one TOKEN seen on a statement line,\npointing at one of our accounts, because a human confirmed that match.\n\nThis is the mechanism that makes reconciliation stop being tedious. Bank statements identify the\nother party in ways that mean nothing to our ledger \u2014 a UPI handle, an IBAN, a flat number\npencilled into a column \u2014 and the mapping between those and our accounts exists only in the\ntreasurer\u0027s head. Every confirmed match writes it down, so the second month reconciles itself.\n\n**Not a cache and not a guess.** A row here exists only because somebody confirmed it, which is\nwhy it may drive an automatic suggestion at all. `hits` and `lastSeenOn` are evidence for ranking\nwhen two tokens disagree, not a confidence the machine invented.\n\nDeliberately generic: `tokenType` says what kind of identifier it is, so this serves an Indian\nsociety learning UPI handles and a Dutch company learning IBANs with the same table, and neither\nneeds to know about the other.\n\n`purpose` says what the token points AT, and it is why the same table serves both halves of a\nstatement. A society\u0027s file is not only member receipts: it also carries the society\u0027s own spending\n\u2014 a vendor withdrawal, bank charges, rent \u2014 and those settle no invoice at all, they go straight to\na ledger account. That is the same learning problem with a different destination, so it is the same\nrow shape with a different `purpose`, not a second table.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"tokenType":{"default":"contraAccount","type":"string"},"token":{"default":"","type":"string"},"purpose":{"default":"account","type":"string"},"targetId":{"default":"","type":"string"},"hits":{"default":1,"type":"integer"},"lastSeenOn":{"type":["string","null"],"format":"date-time"},"isAmbiguous":{"default":false,"type":"boolean"}}},"Bom":{"type":"object","description":"A versioned bill of materials for a finished-good product. Lines list the components consumed to produce\n`outputQuantity` of the finished good. Can be seeded from an existing ProductGroup kit.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"productId":{"type":["string","null"]},"version":{"default":1,"type":"integer"},"isActive":{"default":true,"type":"boolean"},"effectiveFrom":{"type":["string","null"],"format":"date-time"},"effectiveTo":{"type":["string","null"],"format":"date-time"},"outputQuantity":{"type":"string","format":"decimal"},"routingId":{"type":["string","null"]}}},"BomLine":{"type":"object","description":"One component line of a {@see Bom}: `quantityPer` units of the component per BOM output, plus a scrap\nallowance.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"bomId":{"type":["string","null"]},"componentProductId":{"type":["string","null"]},"quantityPer":{"type":"string","format":"decimal"},"scrapPct":{"type":"string","format":"decimal"},"isOptional":{"default":false,"type":"boolean"}}},"Budget":{"type":"object","description":"A budget for a fiscal year. Lines hold the budgeted amount per ledger account \u00d7 period (\u00d7 optional cost\ncenter \/ project). Budget-vs-actual compares these against journal-line actuals.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"fiscalYear":{"type":["integer","null"]},"status":{"default":"draft","type":"string"},"currency":{"type":["string","null"]},"scope":{"default":"company","type":["string","null"]}}},"BudgetLine":{"type":"object","description":"One budgeted amount for a {@see Budget}: ledger account \u00d7 period, optionally scoped to a cost center \/\nproject. `period` is a YYYY-MM string.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"budgetId":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"projectId":{"type":["string","null"]},"period":{"type":["string","null"]},"budgetedAmount":{"type":"string","format":"decimal"}}},"Consignment":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"ConsignmentAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"ConsignmentDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"ConsignmentHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"ConsignmentLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"quantityPicked":{"type":["string","null"],"format":"decimal"},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"ConstraintViolation":{"type":"object","description":"Unprocessable entity","properties":{"status":{"default":422,"type":"integer"},"violations":{"type":"array","items":{"type":"object","properties":{"propertyPath":{"type":"string","description":"The property path of the violation"},"message":{"type":"string","description":"The message associated with the violation"},"code":{"type":"string","description":"The code of the violation"},"hint":{"type":"string","description":"An extra hint to understand the violation"},"payload":{"type":"object","additionalProperties":true,"description":"The serialized payload of the violation"}},"required":["propertyPath","message"]}},"detail":{"readOnly":true,"type":"string"},"type":{"readOnly":true,"type":"string"},"title":{"readOnly":true,"type":["string","null"]},"instance":{"readOnly":true,"type":["string","null"]}}},"ConstraintViolation.jsonld":{"allOf":[{"$ref":"#\/components\/schemas\/HydraItemBaseSchema"},{"type":"object","properties":{"status":{"default":422,"type":"integer"},"violations":{"type":"array","items":{"type":"object","properties":{"propertyPath":{"type":"string","description":"The property path of the violation"},"message":{"type":"string","description":"The message associated with the violation"},"code":{"type":"string","description":"The code of the violation"},"hint":{"type":"string","description":"An extra hint to understand the violation"},"payload":{"type":"object","additionalProperties":true,"description":"The serialized payload of the violation"}},"required":["propertyPath","message"]}},"detail":{"readOnly":true,"type":"string"},"description":{"readOnly":true,"type":"string"},"type":{"readOnly":true,"type":"string"},"title":{"readOnly":true,"type":["string","null"]},"instance":{"readOnly":true,"type":["string","null"]}}}],"description":"Unprocessable entity"},"Contact":{"type":"object","description":"A contact, as the PUBLIC API presents it.\n\nA DTO, never the `AccountContact` entity \u2014 see ground rule 1 in\ndocs\/knowledgebase\/plans\/public-resource-api.md. The entity has 53 columns spanning tenancy, audit,\nETL bookkeeping and authentication internals; 28 of them are customer data. Publishing the entity\nwould expose the other 25 and turn every future column rename into a customer-facing break.\n\nWHAT IS DELIBERATELY ABSENT, because absence is the reversible choice \u2014 adding a field later is a\nminor version, removing one is a major version with a deprecation window:\n\n - `role`. NOT a CRM role: its live values are `administrator`, `team_member`, `employee`, `manager`,\n   `guest` \u2014 the internal permission role. Reading it would disclose the tenant\u0027s permission\n   structure; accepting it on write would be privilege escalation through the public API.\n - `hasUserLogin`, `isOwnerUser`, `isOwnerRegistrar`. Authentication internals. \u0022Does this contact\n *    have a login\u0022 is an account-enumeration aid.\n - `hourlyRateCost`, `hourlyRateProfit`, `weeklyCapacity`. **Decided 2026-08-08 (G28): excluded from\n   v1, not pending.** They are project-resourcing data that happens to be stored on a contact, so\n   they belong to a Projects resource and its own permission, not to Contact \u2014 publishing them here\n   would fix that mistake into the contract. Same reasoning as Product\u0027s cost fields: absence is the\n   direction we can reverse.\n - `assignedToId`. An internal user UUID that means nothing until a User resource exists.\n - `meta`, `label`, `tags`-adjacent internals, `import*`, `createdBy`, `modifiedBy`, `recordState`,\n   `isDeleted`, `fixerStatus`, `ownerId`.\n\nThe full classification, with the reasoning per field, is in\ndocs\/knowledgebase\/plans\/public-api-v1-field-allowlist.md.\n\nNOTE for a future Wave: `com_acc_account_contacts` holds BOTH CRM contacts and internal user records.\nThis resource must never blur them \u2014 see the provider, which is where that is enforced.","properties":{"id":{"readOnly":true,"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"]},"updatedAt":{"readOnly":true,"type":["string","null"]},"firstName":{"maxLength":100,"type":["string","null"]},"middleName":{"maxLength":100,"type":["string","null"]},"lastName":{"maxLength":100,"type":["string","null"]},"nickName":{"maxLength":100,"type":["string","null"]},"salutation":{"maxLength":50,"type":["string","null"]},"title":{"maxLength":100,"type":["string","null"]},"jobTitle":{"maxLength":150,"type":["string","null"]},"department":{"maxLength":100,"type":["string","null"]},"email":{"format":"email","maxLength":180,"externalDocs":{"url":"https:\/\/schema.org\/email"},"type":["string","null"]},"phoneOffice":{"type":["string","null"]},"phoneMobile":{"type":["string","null"]},"phoneHome":{"type":["string","null"]},"phoneOther":{"type":["string","null"]},"fax":{"type":["string","null"]},"assistantName":{"type":["string","null"]},"assistantPhone":{"type":["string","null"]},"description":{"type":["string","null"]},"birthDate":{"type":["string","null"]},"gender":{"type":["string","null"]},"companyId":{"type":["string","null"]},"isCustomer":{"type":["boolean","null"]},"isSupplier":{"type":["boolean","null"]},"isPrimary":{"type":["boolean","null"]},"doNotCall":{"type":["boolean","null"]},"lifecycleStage":{"type":["string","null"]},"leadSource":{"type":["string","null"]},"reportsToId":{"type":["string","null"]},"tags":{"type":"array","items":{"type":["string","null"]}}}},"Contact.jsonMergePatch":{"type":"object","description":"A contact, as the PUBLIC API presents it.\n\nA DTO, never the `AccountContact` entity \u2014 see ground rule 1 in\ndocs\/knowledgebase\/plans\/public-resource-api.md. The entity has 53 columns spanning tenancy, audit,\nETL bookkeeping and authentication internals; 28 of them are customer data. Publishing the entity\nwould expose the other 25 and turn every future column rename into a customer-facing break.\n\nWHAT IS DELIBERATELY ABSENT, because absence is the reversible choice \u2014 adding a field later is a\nminor version, removing one is a major version with a deprecation window:\n\n - `role`. NOT a CRM role: its live values are `administrator`, `team_member`, `employee`, `manager`,\n   `guest` \u2014 the internal permission role. Reading it would disclose the tenant\u0027s permission\n   structure; accepting it on write would be privilege escalation through the public API.\n - `hasUserLogin`, `isOwnerUser`, `isOwnerRegistrar`. Authentication internals. \u0022Does this contact\n *    have a login\u0022 is an account-enumeration aid.\n - `hourlyRateCost`, `hourlyRateProfit`, `weeklyCapacity`. **Decided 2026-08-08 (G28): excluded from\n   v1, not pending.** They are project-resourcing data that happens to be stored on a contact, so\n   they belong to a Projects resource and its own permission, not to Contact \u2014 publishing them here\n   would fix that mistake into the contract. Same reasoning as Product\u0027s cost fields: absence is the\n   direction we can reverse.\n - `assignedToId`. An internal user UUID that means nothing until a User resource exists.\n - `meta`, `label`, `tags`-adjacent internals, `import*`, `createdBy`, `modifiedBy`, `recordState`,\n   `isDeleted`, `fixerStatus`, `ownerId`.\n\nThe full classification, with the reasoning per field, is in\ndocs\/knowledgebase\/plans\/public-api-v1-field-allowlist.md.\n\nNOTE for a future Wave: `com_acc_account_contacts` holds BOTH CRM contacts and internal user records.\nThis resource must never blur them \u2014 see the provider, which is where that is enforced.","properties":{"id":{"readOnly":true,"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"]},"updatedAt":{"readOnly":true,"type":["string","null"]},"firstName":{"maxLength":100,"type":["string","null"]},"middleName":{"maxLength":100,"type":["string","null"]},"lastName":{"maxLength":100,"type":["string","null"]},"nickName":{"maxLength":100,"type":["string","null"]},"salutation":{"maxLength":50,"type":["string","null"]},"title":{"maxLength":100,"type":["string","null"]},"jobTitle":{"maxLength":150,"type":["string","null"]},"department":{"maxLength":100,"type":["string","null"]},"email":{"format":"email","maxLength":180,"externalDocs":{"url":"https:\/\/schema.org\/email"},"type":["string","null"]},"phoneOffice":{"type":["string","null"]},"phoneMobile":{"type":["string","null"]},"phoneHome":{"type":["string","null"]},"phoneOther":{"type":["string","null"]},"fax":{"type":["string","null"]},"assistantName":{"type":["string","null"]},"assistantPhone":{"type":["string","null"]},"description":{"type":["string","null"]},"birthDate":{"type":["string","null"]},"gender":{"type":["string","null"]},"companyId":{"type":["string","null"]},"isCustomer":{"type":["boolean","null"]},"isSupplier":{"type":["boolean","null"]},"isPrimary":{"type":["boolean","null"]},"doNotCall":{"type":["boolean","null"]},"lifecycleStage":{"type":["string","null"]},"leadSource":{"type":["string","null"]},"reportsToId":{"type":["string","null"]},"tags":{"type":"array","items":{"type":["string","null"]}}}},"CostCenter":{"type":"object","description":"An analytical cost center (department \/ project \/ product line \/ region). Journal lines carry an\noptional, non-balancing `costCenterId` referencing one of these; budget-vs-actual aggregates by it.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"code":{"type":["string","null"]},"name":{"type":["string","null"]},"parentCostCenterId":{"type":["string","null"]},"type":{"type":["string","null"]},"managerContactId":{"type":["string","null"]},"isActive":{"default":true,"type":"boolean"}}},"CreditNote":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"projectId":{"type":["string","null"]},"noteReason":{"type":["string","null"]},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"CreditNoteAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"CreditNoteDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"CreditNoteHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"CreditNoteLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"CrmCall":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountContactId":{"type":["string","null"]},"callDirection":{"type":["string","null"]},"callOutcome":{"type":["string","null"]},"notes":{"type":["string","null"]},"callDate":{"type":["string","null"],"format":"date-time"}}},"CrmEmail":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountContactId":{"type":["string","null"]},"subject":{"type":["string","null"]},"notes":{"type":["string","null"]},"emailDate":{"type":["string","null"],"format":"date-time"}}},"CrmLinkedin":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountContactId":{"type":["string","null"]},"notes":{"type":["string","null"]},"linkedinDate":{"type":["string","null"],"format":"date-time"}}},"CrmMailingContact":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountContactId":{"type":["string","null"]},"country":{"type":["string","null"]},"countryCode":{"type":["string","null"]},"firstName":{"type":["string","null"]},"middleName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"languageCode":{"type":["string","null"]},"email":{"type":["string","null"]},"emailAlternate":{"type":["string","null"]},"phone":{"type":["string","null"]},"phoneAlternate":{"type":["string","null"]},"externalId":{"type":["string","null"]},"anonymousId":{"type":["string","null"]},"street":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"facebook":{"type":["string","null"]},"internalDescription":{"type":["string","null"]},"whatsapp":{"type":["string","null"]},"isPriority":{"default":false,"type":"boolean"},"datePriority":{"type":["string","null"],"format":"date-time"}}},"CrmMailingList":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"type":{"default":"list","type":["string","null"]}}},"CrmMailingListContact":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"country":{"type":["string","null"]},"listId":{"type":["string","null"]},"firstName":{"type":["string","null"]},"middleName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"email":{"type":["string","null"]},"emailAlternate":{"type":["string","null"]},"phone":{"type":["string","null"]},"phoneAlternate":{"type":["string","null"]},"externalId":{"type":["string","null"]},"anonymousId":{"type":["string","null"]},"street":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"facebook":{"type":["string","null"]},"internalDescription":{"type":["string","null"]},"whatsapp":{"type":["string","null"]},"isPriority":{"default":false,"type":["boolean","null"]},"datePriority":{"type":["string","null"],"format":"date-time"},"subscriptionStatus":{"default":"subscribed","type":["string","null"]},"mailingLists":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"CrmMailingListUnsubscribe":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"email":{"type":["string","null"]},"listContactId":{"type":["string","null"]},"listId":{"type":["string","null"]},"messageId":{"type":["string","null"]},"unsubscribeLink":{"type":["string","null"]}}},"CrmMailingMessage":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"bodyCode":{"type":["string","null"]},"bodyDesign":{"type":["string","null"]},"listId":{"type":["string","null"]},"fromEmail":{"type":["string","null"]},"fromName":{"type":["string","null"]},"message":{"type":["string","null"]},"name":{"type":["string","null"]},"subject":{"type":["string","null"]},"preHeader":{"type":["string","null"]},"schedule":{"type":["string","null"]},"scheduleTime":{"type":["string","null"],"format":"date-time"},"scheduleTimezone":{"type":["string","null"]},"status":{"type":["string","null"]},"emailDesignId":{"type":["string","null"]}}},"CrmMailingSent":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"batchId":{"type":["string","null"]},"clickTracking":{"default":true,"type":["boolean","null"]},"contactId":{"type":["string","null"]},"deliverTracking":{"default":true,"type":["boolean","null"]},"fromEmail":{"type":["string","null"]},"listId":{"type":["string","null"]},"listContactId":{"type":["string","null"]},"messageId":{"type":["string","null"]},"openTracking":{"default":true,"type":["boolean","null"]},"subscriptionTracking":{"default":true,"type":["boolean","null"]},"unsubscribeLink":{"type":["string","null"]}}},"CrmMailingSentEvent":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"contactId":{"type":["string","null"]},"eventStatus":{"type":["string","null"]},"ip":{"type":["string","null"]},"listId":{"type":["string","null"]},"listContactId":{"type":["string","null"]},"sentId":{"type":["string","null"]}}},"CrmMeeting":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountContactId":{"type":["string","null"]},"meetingOutcome":{"type":["string","null"]},"notes":{"type":["string","null"]},"meetingDate":{"type":["string","null"],"format":"date-time"},"duration":{"type":["string","null"]}}},"CrmNote":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"note":{"type":["string","null"]},"subject":{"type":["string","null"]}}},"CrmReminderOutboxItem":{"type":"object","description":"One invoice waiting to be reminded about (J48) \u2014 what a workflow\u0027s \u0022send a payment reminder\u0022 step\nleaves behind. The step does not send: the {@see \\App\\Service\\Crm\\Workflow\\PaymentReminderDispatcher}\ndoes, after every step of the run has had its say, so one customer with five overdue invoices gets\nONE e-mail listing all five rather than five e-mails.\n\nA reminder is an e-mail plus a history line on the invoice. No document is created \u2014 that is kept for\nthe day a level adds a fee or interest (J48 slice 6).\n\n`status`:\n- `queued` \u2014 goes out with the next dispatch (the end of the hourly scan);\n- `review` \u2014 the step said \u0022hold for review\u0022; a person sends or discards it;\n- `sent`, `skipped` (with `statusMessage` saying why \u2014 paid meanwhile, opted out, not allowed to\n  e-mail), `discarded` (a person decided not to send it).\n\n`subject`\/`body` are rendered when the step runs, so what a reviewer sees is what goes out.\nThe unique key is (enrolment, step): a step queues an invoice once.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"workflowId":{"readOnly":true,"default":"","type":"string"},"enrolmentId":{"readOnly":true,"default":"","type":"string"},"stepId":{"readOnly":true,"default":"","type":"string"},"level":{"readOnly":true,"default":1,"type":"integer"},"documentId":{"readOnly":true,"default":"","type":"string"},"accountId":{"readOnly":true,"type":["string","null"]},"recipient":{"readOnly":true,"default":"","type":"string"},"subject":{"readOnly":true,"default":"","type":"string"},"body":{"readOnly":true,"default":"","type":"string"},"senderUserId":{"readOnly":true,"type":["string","null"]},"status":{"readOnly":true,"default":"queued","type":"string"},"statusMessage":{"readOnly":true,"type":["string","null"]},"batchId":{"readOnly":true,"type":["string","null"]},"sentOn":{"readOnly":true,"type":["string","null"],"format":"date-time"},"sentBy":{"readOnly":true,"type":["string","null"]}}},"CrmSms":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountContactId":{"type":["string","null"]},"notes":{"type":["string","null"]},"smsDate":{"type":["string","null"],"format":"date-time"}}},"CrmWhatsapp":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountContactId":{"type":["string","null"]},"notes":{"type":["string","null"]},"whatsappDate":{"type":["string","null"],"format":"date-time"}}},"CrmWorkflow":{"type":"object","description":"A CRM workflow (J47, J49): one trigger, a flat AND-list of conditions, and ordered STEPS \u2014 each step\ntimed from the trigger (`afterDays`) with its own ordered actions. A one-step workflow at +0 is the\nJ47 shape. A record\u0027s way through the steps is a {@see CrmWorkflowEnrolment}.\n\nEach step carries a stable `id` (so an enrolment can remember which steps it has done even when\nsteps are reordered or removed) and `addedOn` (so a step added after its moment has passed for a\nrecord is skipped for that record, not fired late). Both are stamped by the server, never the client.\n\nConditions and steps are JSON lists rather than child tables: they are only ever read and written\nwhole, with their workflow, and never queried across workflows. Their shape is validated by\n{@see \\App\\DTO\\Crm\\CrmWorkflowRequest} on the way in \u2014 the engine still treats every entry as\nuntrusted, because a row written before a validation rule existed must skip, not crash.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"default":"","type":"string"},"isActive":{"default":true,"type":"boolean"},"triggerType":{"default":"","type":"string"},"triggerConfig":{"type":"array","items":{"type":["string","null"]}},"conditions":{"type":"array","items":{"type":["string","null"]}},"steps":{"type":"array","items":{"type":["string","null"]}},"reminderFor":{"type":["string","null"]},"isDefaultReminder":{"default":false,"type":"boolean"},"runCount":{"readOnly":true,"default":0,"type":"integer"},"lastRunOn":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"CrmWorkflowEmailOptOut":{"type":"object","description":"An address that asked not to receive AUTOMATED e-mail from this tenant\u0027s CRM workflows (J47).\n\nSeparate from mailing-list unsubscribes on purpose: leaving a newsletter is not refusing a follow-up\nabout a quote you asked for, and the reverse. What this blocks is exactly what its link offered.\nStored lower-cased; unique per tenant.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"email":{"readOnly":true,"default":"","type":"string"}}},"CrmWorkflowEmailSend":{"type":"object","description":"One automated e-mail a CRM workflow sent (J47) \u2014 what the one-per-recipient-per-day throttle counts.\n\nKept apart from the run log because the throttle is a question across ALL of a tenant\u0027s workflows\n(\u0022has this address had one today?\u0022), which the per-workflow run rows cannot answer with an index.\nWritten and read through {@see \\App\\Repository\\Crm\\CrmWorkflowEmailOptOutRepository}, which owns both\nhalves of the e-mail guardrails.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"email":{"readOnly":true,"default":"","type":"string"},"workflowId":{"readOnly":true,"default":"","type":"string"},"subjectId":{"readOnly":true,"default":"","type":"string"},"sentOn":{"readOnly":true,"type":"string","format":"date-time"}}},"CrmWorkflowEnrolment":{"type":"object","description":"One record\u0027s way through one multi-step {@see CrmWorkflow} (J49), for one occurrence of its trigger.\n\n**The unique key is the once-only guarantee** that J47 put on the run row: an occurrence enrols a\nrecord at most once, so a re-fired event or a re-run scan cannot start the steps over. Each step then\nruns once \u2014 its run row is keyed by the step id.\n\n`anchorOn` is the moment the trigger happened; every step is due at `anchorOn + afterDays`.\n`completedStepIds` rather than an index: steps can be reordered or removed after enrolment.\n\nWritten through DBAL, like the run rows, because it is created inside other flushes.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"workflowId":{"readOnly":true,"default":"","type":"string"},"triggerType":{"readOnly":true,"default":"","type":"string"},"subjectType":{"readOnly":true,"default":"","type":"string"},"subjectId":{"readOnly":true,"default":"","type":"string"},"occurrenceKey":{"readOnly":true,"default":"","type":"string"},"anchorOn":{"readOnly":true,"type":"string","format":"date-time"},"status":{"readOnly":true,"default":"active","type":"string"},"completedStepIds":{"readOnly":true,"type":"array","items":{"type":["string","null"]}},"nextDueOn":{"readOnly":true,"type":["string","null"],"format":"date-time"},"stoppedReason":{"readOnly":true,"type":["string","null"]}}},"CrmWorkflowRun":{"type":"object","description":"One STEP of a {@see CrmWorkflow} run against one subject (J49: a run belongs to an\n{@see CrmWorkflowEnrolment}, and its occurrence key names the step, `\u2026:step:\u003CstepId\u003E`).\n\n**The unique key is the idempotency guarantee.** `occurrenceKey` names a single occurrence \u2014 a stage\nmove\u0027s history row, an overdue invoice\u0027s due date \u2014 and the run is CLAIMED by inserting this row\nbefore any action runs ({@see CrmWorkflowRunRepository::claim()}). A second claim of the same\noccurrence inserts nothing, so a re-run scan or a retried request cannot e-mail a customer twice.\n\nWritten through DBAL, not the unit of work: a unique violation through the ORM closes the entity\nmanager, and the engine runs inside other people\u0027s flushes.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"workflowId":{"readOnly":true,"default":"","type":"string"},"enrolmentId":{"readOnly":true,"type":["string","null"]},"stepId":{"readOnly":true,"type":["string","null"]},"subjectType":{"readOnly":true,"default":"","type":"string"},"subjectId":{"readOnly":true,"default":"","type":"string"},"occurrenceKey":{"readOnly":true,"default":"","type":"string"},"status":{"readOnly":true,"default":"running","type":"string"},"log":{"readOnly":true,"type":"array","items":{"type":["string","null"]}},"error":{"readOnly":true,"type":["string","null"]}}},"DataExchangeAccount":{"type":"object","description":"The staging row for an account import \u2014 one table for customers AND suppliers.\n\nThis used to be a mapped superclass with two empty concrete subclasses, `DataExchangeCustomer` and\n`DataExchangeSupplier`, over two tables with byte-identical 77-column definitions. Nothing about the\ntwo halves differed except the table they landed in: the import wizard offers ONE \u0022account\u0022 upload\n(and `\/import\/account` was already an alias for `\/import\/customer`), so the split bought a second\ntable, a second entity, a second repository and a second everything, for no distinction anyone made.\n\nWHAT REPLACES THE SPLIT. `isCustomer` \/ `isSupplier` \u2014 booleans this class already inherits, and\nwhich the upload path already set on every row before this merge. They now also PARTITION the\nstaging table, so a supplier upload cannot wipe a customer upload that has not been committed yet;\nthat isolation was the one real thing two tables gave, and {@see DataExchangeAccountRepository}\nkeeps it by scoping every staged read and delete to one role.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"label":{"type":["string","null"]},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountRating":{"description":"The account rating","example":"Hot","type":"string"},"accountNumber":{"description":"The account number or code.","example":"NL001","type":"string"},"joinCode":{"type":["string","null"]},"isCustomer":{"default":false,"type":"boolean"},"isSupplier":{"default":false,"type":"boolean"},"parentAccountId":{"type":["string","null"]},"annualRevenue":{"type":"number","format":"float","example":"122944.50"},"recurringChargeAmount":{"type":"number","format":"float","example":"2000.00"},"billingAddressId":{"description":"The account billing address id","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"cocNumber":{"description":"The account Chamber of Commerce number.","example":"12345678","type":"string"},"department":{"description":"The account department name.","example":"Sales","type":"string"},"description":{"description":"The account description.","example":"Only contact via e-mail.","type":"string"},"email":{"description":"The account email address.","example":"xyz@example.com","format":"email","type":"string"},"fax":{"description":"The account contact fax number.","example":"+1 206 555 0100","type":"string"},"identification":{"type":["string","null"]},"industry":{"description":"The account primary industry for use in marketing segmentation and demographic analysis.","example":"Healthcare","type":"string"},"isInSelectboxList":{"description":"The account should be shown and selectable in select boxes in the platform. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"1","type":"boolean"},"isOwnerAccount":{"default":false,"type":"boolean"},"isPersonAccount":{"description":"The account is a person\/private account. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"isPayingAccount":{"default":true,"type":"boolean"},"leadSource":{"description":"The account lead source.","example":"word_of_mouth","type":"string"},"legalForm":{"description":"The account legal form.","example":"B.V.","type":"string"},"manuallyAccountNumber":{"default":false,"type":"boolean"},"name":{"description":"The account name.","example":"ObraLedger B.V.","type":"string"},"numberOfEmployees":{"description":"The account number of employees.","example":"125","type":"integer"},"peppolIdentifierType":{"description":"The account lead source.","example":"word_of_mouth","type":"string"},"peppolIdentifier":{"description":"The account lead source.","example":"word_of_mouth","type":"string"},"isPeppolActive":{"description":"Indicates if Peppol is active for this account.","example":true,"type":"boolean"},"phone":{"type":["string","null"]},"phoneMobile":{"description":"The account mobile phone number.","example":"+1 206 555 0100","type":"string"},"phoneOffice":{"description":"The account office phone number.","example":"+1 206 555 0100","type":"string"},"rating":{"description":"The account prospect rating, for example hot, warm, or cold.","example":"Hot","type":"string"},"shippingAddressId":{"description":"The account shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"site":{"description":"The account location, for example Headquarters or London .","example":"Headquarters","type":"string"},"taxNumber":{"description":"The account tax number.","example":"111234567B01","type":"string"},"taxNumberEu":{"description":"The account EU tax number.","example":"123456789B01","type":"string"},"taxNumberValid":{"description":"Account sales tax\/vat number is valid. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"taxNumberValidDate":{"description":"Account sales tax\/vat validation date.","example":"2025-07-21","format":"date","type":"string"},"website":{"description":"The account website.","example":"https:\/\/www.example.com","format":"uri","type":"string"},"taxCode":{"description":"That sales tax\/vat code.","example":"Hoog tarief","type":"string"},"managerId":{"description":"The account manager id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankAccount":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"billingCity":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingRegion":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingRegion":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"sourceId":{"type":["string","null"]},"accountName":{"type":["string","null"]},"contactPerson":{"type":["string","null"]}}},"DataExchangeBankStatement":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountNumber":{"type":["string","null"]},"bankName":{"type":["string","null"]},"date":{"type":["string","null"],"format":"date-time"},"description":{"type":["string","null"]},"contraAccountName":{"type":["string","null"]},"contraAccountNumber":{"type":["string","null"]},"bankCode":{"type":["string","null"]},"amount":{"type":["string","null"],"format":"decimal"},"currency":{"default":"none","type":["string","null"]},"reference":{"type":["string","null"]},"fileName":{"type":["string","null"]}}},"DataExchangeBol":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"billingDetails":{"type":["array","null"],"items":{"type":["string","null"]}},"orderId":{"type":["string","null"]},"orderItems":{"type":["array","null"],"items":{"type":["string","null"]}},"orderPlacedAt":{"type":"string","format":"date-time"},"pickupPoint":{"default":false,"type":"boolean"},"shipmentDetails":{"type":["array","null"],"items":{"type":["string","null"]}},"datasourceId":{"default":1,"type":["integer","null"]},"integrationId":{"type":["string","null"]}}},"DataExchangeBolShipment":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"billingDetails":{"type":["array","null"],"items":{"type":["string","null"]}},"customerDetails":{"type":["array","null"],"items":{"type":["string","null"]}},"orderDetails":{"type":["array","null"],"items":{"type":["string","null"]}},"pickupPoint":{"default":false,"type":"boolean"},"shipmentDate":{"type":"string","format":"date-time"},"shipmentDetails":{"type":["array","null"],"items":{"type":["string","null"]}},"shipmentId":{"type":["string","null"]},"shipmentItems":{"type":["array","null"],"items":{"type":["string","null"]}},"shipmentReference":{"type":["string","null"]},"transport":{"type":["array","null"],"items":{"type":["string","null"]}},"datasourceId":{"default":1,"type":["integer","null"]},"integrationId":{"type":["string","null"]}}},"DataExchangeCustomerContact":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"description":"The account contact parent account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"assistantName":{"description":"The account contact assistant name.","example":"Anne","type":"string"},"assistantPhone":{"description":"The account contact assistant telephone number.","example":"+1 206 555 0100","type":"string"},"birthDate":{"description":"The account contact birthday.","example":"2001-07-21","format":"date","type":"string"},"department":{"description":"The account contact department.","example":"sales","type":"string"},"description":{"description":"The account contact description for the account.","example":"do not call before 09.00","type":"string"},"doNotCall":{"description":"Indicates that the account contact does not want to receive calls. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"email":{"format":"email","description":"The account contact email address.","externalDocs":{"url":"https:\/\/schema.org\/email"},"example":"xyz@example.com","type":"string"},"fax":{"description":"The account contact fax number.","example":"+1 206 555 0100","type":"string"},"firstName":{"description":"The account contact first name.","example":"Gerard","type":"string"},"gender":{"description":"The account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"isPersonAccount":{"description":"Indicates whether this account contact has a record type of person Account. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"lastName":{"description":"The account contact last name of the contact.","example":"Kroon","type":"string"},"leadSource":{"description":"The account contact lead source of the contact.","example":"website","type":"string"},"middleName":{"description":"The contact middle name.","example":"van de","type":"string"},"phoneHome":{"description":"The account contact phone home number.","example":"+1 206 555 0100","type":"string"},"nickName":{"description":"The account contact nickname.","example":"Guru.","type":"string"},"phoneMobile":{"description":"The account contact phone mobile number.","example":"+1 206 555 0100","type":"string"},"phoneOffice":{"description":"The account contact phone office number.","example":"+1 206 555 0100","type":"string"},"phoneOther":{"description":"The account contact phone other number.","example":"+1 206 555 0100","type":"string"},"hourlyRateProfit":{"type":"number","format":"float","example":"124.99"},"hourlyRateCost":{"type":"number","format":"float","example":"124.99"},"role":{"type":["string","null"]},"salutation":{"description":"The account contact salutation.","example":"Mr.","type":"string"},"title":{"description":"The account contact title.","example":"dr","type":"string"},"weeklyCapacity":{"type":"number","format":"float","example":"124.99"},"accountNumber":{"type":["string","null"]},"sourceContactId":{"type":["string","null"]},"sourceId":{"type":["string","null"]}},"required":["lastName"]},"DataExchangeDocument":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"unitPrice":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"lineOrder":{"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productName":{"type":["string","null"]},"quantity":{"type":["string","null"],"format":"decimal"},"sortNumber":{"type":["integer","null"]}}},"DataExchangeDocumentLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"productNumber":{"type":["string","null"]},"articleCode":{"type":["string","null"]},"quantity":{"type":["string","null"],"format":"decimal"}},"required":["productNumber"]},"DataExchangeJournalLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountName":{"type":["string","null"]},"allowVariableCurrency":{"default":false,"type":"boolean"},"amountDc":{"type":["string","null"],"format":"decimal"},"amountDcCredit":{"type":["string","null"],"format":"decimal"},"amountDcDebit":{"type":["string","null"],"format":"decimal"},"amountFc":{"type":["string","null"],"format":"decimal"},"amountTaxDc":{"type":["string","null"],"format":"decimal"},"amountTaxFc":{"type":["string","null"],"format":"decimal"},"balanceType":{"default":"P","type":["string","null"]},"bankStatementId":{"type":["string","null"]},"bankStatementLineId":{"type":["string","null"]},"currency":{"type":["string","null"]},"date":{"type":["string","null"],"format":"date-time"},"description":{"type":["string","null"]},"isBlocked":{"default":false,"type":"boolean"},"journalId":{"type":["string","null"]},"journalTypeCode":{"type":["integer","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountDescription":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"ledgerAccountScheme":{"default":"default","type":["string","null"]},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"moduleLineId":{"type":["string","null"]},"moduleNumber":{"type":["string","null"]},"sourceModule":{"type":["string","null"]},"sourceId":{"type":["string","null"]},"paymentId":{"type":["string","null"]},"productId":{"type":["string","null"]},"projectId":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"quantity":{"type":["string","null"],"format":"decimal"},"transactionType":{"type":["string","null"]},"taxCode":{"type":["string","null"]},"taxCodeId":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxType":{"type":["string","null"]}}},"DataExchangeLedgerAccount":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"balanceSide":{"type":["string","null"]},"balanceType":{"type":["string","null"]},"code":{"type":["string","null"]},"codeAlias":{"type":["string","null"]},"codeReference":{"type":["string","null"]},"codeReferenceDescription":{"type":["string","null"]},"defaultId":{"type":["string","null"]},"defaultType":{"type":["string","null"]},"description":{"type":["string","null"]},"excludeTaxListing":{"type":"boolean"},"isBlocked":{"type":"boolean"},"isDefault":{"type":"boolean"},"isSystem":{"type":"boolean"},"ledgerAccountScheme":{"type":["string","null"]},"remark":{"type":["string","null"]},"typeCode":{"type":["integer","null"]},"taxCode":{"type":["string","null"]},"taxCodeId":{"type":["string","null"]}}},"DataExchangeMarketingMailContact":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"importType":{"default":"global","type":"string"},"listId":{"type":["string","null"]},"newList":{"type":["string","null"]},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"email":{"type":["string","null"]},"emailAlternate":{"type":["string","null"]},"phone":{"type":["string","null"]},"phoneAlternate":{"type":["string","null"]},"externalId":{"type":["string","null"]},"anonymousId":{"type":["string","null"]},"street":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"country":{"type":["string","null"]},"internalDescription":{"type":["string","null"]}}},"DataExchangeNieuwkoopProduct":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"itemCode":{"type":["string","null"]},"gtinCode":{"type":["string","null"]},"articleCode":{"type":["string","null"]},"description":{"type":["string","null"]},"deliveryTimeInDays":{"type":["integer","null"]},"palletQuantity":{"type":["string","null"],"format":"decimal"},"itemDescription_NL":{"type":["string","null"]},"itemStatus":{"type":["string","null"]},"salesPackage_NL":{"type":["string","null"]},"salesPackage_DE":{"type":["string","null"]},"salesPackage_EN":{"type":["string","null"]},"salesPackage_FR":{"type":["string","null"]},"salePrice":{"type":["string","null"],"format":"decimal"},"mainGroupCode":{"type":["string","null"]},"mainGroupDescription_NL":{"type":["string","null"]},"mainGroupDescription_DE":{"type":["string","null"]},"mainGroupDescription_EN":{"type":["string","null"]},"mainGroupDescription_FR":{"type":["string","null"]},"productGroupCode":{"type":["string","null"]},"productGroupDescription_NL":{"type":["string","null"]},"productGroupDescription_DE":{"type":["string","null"]},"productGroupDescription_EN":{"type":["string","null"]},"productGroupDescription_FR":{"type":["string","null"]},"groupDescription":{"type":["string","null"]},"groupDescription_NL":{"type":["string","null"]},"groupDescription_DE":{"type":["string","null"]},"groupDescription_EN":{"type":["string","null"]},"groupDescription_FR":{"type":["string","null"]},"materialGroupCode":{"type":["string","null"]},"materialGroupDescription_NL":{"type":["string","null"]},"materialGroupDescription_DE":{"type":["string","null"]},"materialGroupDescription_EN":{"type":["string","null"]},"materialGroupDescription_FR":{"type":["string","null"]},"itemDescription_EN":{"type":["string","null"]},"itemDescription_DE":{"type":["string","null"]},"itemDescription_FR":{"type":["string","null"]},"isStockItem":{"default":false,"type":"boolean"},"warehouse":{"type":["string","null"]},"itemVariety_NL":{"type":["string","null"]},"itemVariety_DE":{"type":["string","null"]},"itemVariety_EN":{"type":["string","null"]},"itemVariety_FR":{"type":["string","null"]},"potSize":{"type":["string","null"]},"itemPictureName":{"type":["string","null"]},"itemPictureSysmodified":{"type":["string","null"]},"content_Ltr":{"type":["string","null"]},"plantPassportCode":{"type":["string","null"]},"diameter":{"type":["string","null"],"format":"decimal"},"length":{"type":["string","null"],"format":"decimal"},"width":{"type":["string","null"],"format":"decimal"},"height":{"type":["string","null"],"format":"decimal"},"depth":{"type":["string","null"],"format":"decimal"},"opening":{"type":["string","null"],"format":"decimal"},"isOffer":{"default":false,"type":"boolean"},"showOnWebsite":{"default":false,"type":"boolean"},"sysmodified":{"type":["string","null"],"format":"date-time"},"salesOrderSize":{"type":["integer","null"]},"diameterCulturePot":{"type":["string","null"],"format":"decimal"},"heightCulturePot":{"type":["string","null"],"format":"decimal"},"weight":{"type":["string","null"],"format":"decimal"},"tags":{"type":["array","null"],"items":{"type":["string","null"]}},"datasourceId":{"default":1,"type":["integer","null"]},"integrationId":{"type":["string","null"]}}},"DataExchangePriceListLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"discount":{"type":"number","format":"float","example":"44.50"},"discountType":{"description":"The discount type for the product price list line.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"isDefault":{"description":"The default value for the product price list line.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"price":{"type":"number","format":"float","example":"44.50"},"amountIsIncludingTax":{"description":"The price is included sales tax\/vat for the product price list line.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"productId":{"description":"The product ID for the product price list line.","example":"e0c8f3b2-4d5a-4f1b-9c6d-7e8f9a0b1c2d","format":"uuid","type":"string"},"priceListId":{"description":"The price book ID for the product price list line.","example":"e0c8f3b2-4d5a-4f1b-9c6d-7e8f9a0b1c2d","format":"uuid","type":"string"},"amountTax":{"type":"number","format":"float","example":"44.50"}},"required":["amountTax"]},"DataExchangeProduct":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"articleCode":{"description":"The article code for the product.","example":"BIS-03","type":"string"},"hsnCode":{"type":["string","null"]},"attachments":{"type":["array","null"],"items":{"type":["string","null"]}},"brand":{"description":"The brand for the product.","example":"Whole Foods","type":"string"},"categoryId":{"description":"The category id for the product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"dimensionColor":{"description":"The product dimension color.","example":"blue","type":"string"},"dimensionDiameter":{"description":"The product dimension diameter.","example":"1.00","type":"string"},"dimensionDepth":{"description":"The product dimension depth.","example":"1.00","type":"string"},"dimensionHeight":{"description":"The product dimension height.","example":"1.00","type":"string"},"dimensionLength":{"description":"The product dimension length.","example":"1.00","type":"string"},"dimensionOpening":{"description":"The product dimension opening.","example":"1.00","type":"string"},"dimensionVolume":{"description":"The product dimension volume.","example":"1.00","type":"string"},"dimensionWeight":{"description":"The product dimension weight.","example":"1.00","type":"string"},"dimensionWidth":{"description":"The product dimension width.","example":"1.00","type":"string"},"description":{"description":"The product description.","example":"Pencil, black lead core (3mm core)","type":"string"},"discount":{"type":"number","format":"float","example":"44.50"},"ean":{"description":"The ean code for the product.","example":"0799439112766","type":"string"},"image":{"type":["string","null"]},"imageSize":{"default":"small","type":["string","null"]},"infoUrl":{"description":"The info url for the product.","example":"https:\/\/www.example.com\/product123.htm.","format":"uri","type":"string"},"isCatalogItem":{"description":"Product is a catalog product. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"isInactive":{"description":"Indicates that this product is inactive. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"isInSelectboxList":{"description":"Indicates that this product should be in select box lists. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"1","type":"boolean"},"isPurchaseItem":{"description":"Product is a purchase product.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"isSaleIndividual":{"description":"Defines if the product is a Sold individual. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"0","type":"boolean"},"isSaleItem":{"description":"Defines if the product is a sale product. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"1","type":"boolean"},"isShippingRequired":{"description":"Information about whether the product is shipping required. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"isShippingTaxable":{"description":"Defines if the shipping costs are taxable. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"1","type":"boolean"},"isStockItem":{"description":"Defines if a product is a stock item. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"labels":{"description":"The labels for the product.","example":"calories","type":"string"},"manuallyAccountNumber":{"default":false,"type":"boolean"},"model":{"description":"The model for the product.","example":"Carrera GT","type":"string"},"name":{"description":"The name for the product.","example":"Pro license 1 year","type":"string"},"productNumber":{"description":"The product number for the product.","example":"AI2025101","type":"string"},"profitMargin":{"type":"number","format":"float","example":"30.00"},"purchaseLedgerAccountCode":{"type":["string","null"]},"purchaseLedgerAccountId":{"description":"The ledger account id for the purchase product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"purchasePrice":{"type":"number","format":"float","example":"122944.50"},"purchasePriceDecimals":{"description":"Number of decimal places that can be used in monetary amounts for the purchase product.","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"purchasePriceIsIncludingTax":{"description":"The purchase price is included sales tax\/vat. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"purchaseTaxCode":{"description":"The vat code of the purchase product.","example":"Sales High","type":"string"},"purchaseTaxId":{"description":"The sales tax\/vat id of the purchase product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"quantityDefault":{"type":"number","format":"float","example":"2.5"},"quantityBackorder":{"type":"number","format":"float","example":"1"},"remark":{"description":"The Remark for the product.","example":"extended","type":"string"},"saleLedgerAccountCode":{"description":"The sale ledger account code for the product.","example":"80310000","type":"string"},"saleLedgerAccountId":{"description":"The ledger account id for the sell product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"salePrice":{"type":"number","format":"float","example":"1944.50"},"saleRrpPrice":{"type":"number","format":"float","example":"1944.50"},"salePriceDecimals":{"description":"Number of decimal places that can be used in monetary amounts for the sale product.","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"salePriceIsIncludingTax":{"description":"The sell price is included VAT. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"saleTaxCode":{"description":"The sales tax\/vat code of the sell product.","example":"Vat High","type":"string"},"saleTaxStatus":{"description":"The product Vat status.","example":"Open","type":"string"},"sequenceId":{"description":"The sequence id used for this product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"serialNumber":{"description":"The serial number for the product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","type":"string"},"status":{"description":"The product status.","example":"Open","type":"string"},"stockDescription":{"description":"The stock description for the product.","example":"inventory counted","type":"string"},"stockDocumentTypes":{"description":"Finalized document types to recalculate the stock position.","default":["invoice"],"enum":["invoice","quote","proforma","packing_note","order_confirmation"],"example":"invoice","type":"string"},"stockLedgerAccountCode":{"description":"The stock ledger account Code for the product.","example":"70000000","type":"string"},"stockLedgerAccountId":{"description":"The ledger account id for the stock product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"stockLocation":{"description":"The stock location for the product.","example":"Warehouse New York","type":"string"},"stockMinimalQuantity":{"type":"number","format":"integer","example":"5"},"stockProductType":{"type":["string","null"]},"stockQuantity":{"type":"number","format":"integer","example":"100"},"stockWorkflowStatus":{"description":"The product workflow status.","example":"on hold","type":"string"},"supplierId":{"description":"The supplier id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"supplierName":{"type":["string","null"]},"supplierProductName":{"description":"The product number for the product.","example":"AI2025101","type":"string"},"supplierProductNumber":{"description":"The product number from supplier.","example":"2344893AI","type":"string"},"supplierUrl":{"description":"The supplier url for the product.","example":"https:\/\/www.example.com\/product123.htm.","format":"uri","type":"string"},"type":{"description":"TThe product type.","example":"Ink cartridges","type":"string"},"unitId":{"description":"The unit id for the product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"upcCode":{"description":"The product ups code","example":"EP","type":"string"},"validFromDate":{"description":"Date from which this product is valid.","example":"2025-07-21","format":"date","type":"string"},"validToDate":{"description":"ate to which this product is valid.","example":"2025-07-21","format":"date","type":"string"},"version":{"description":"The product version.","example":"1.1","type":"string"},"isWebShop":{"description":"Defines if a product is shown in connected web stores. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"hasTranslation":{"description":"Indicates if a product has name and description translations. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"concatTranslation":{"description":"Concat the product name and the translated product name. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"concatTranslationInline":{"description":"Concat the product name and description. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"cogsLedgerAccountCode":{"type":["string","null"]},"cogsLedgerAccountId":{"description":"The ledger account id for the COGS (cost of goods sold) product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"isFeaturedProduct":{"description":"Indicates if a product is a featured product, shown in the top of the lists. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"}},"required":["name","productNumber","salePrice","saleRrpPrice"]},"DataExchangeSaleForceAccount":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"name":{"type":["string","null"]},"accountSource":{"type":["string","null"]},"annualRevenue":{"type":["string","null"]},"billingAddress":{"type":["array","null"],"items":{"type":["string","null"]}},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingGeocodeAccuracy":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"createdById":{"type":["string","null"]},"fax":{"type":["string","null"]},"industry":{"type":["string","null"]},"jigsaw":{"type":["string","null"]},"jigsawAccountId":{"type":["string","null"]},"lastModifiedById":{"type":["string","null"]},"masterRecordId":{"type":["string","null"]},"createdDate":{"type":["string","null"],"format":"date-time"},"lastActivityDate":{"type":["string","null"],"format":"date-time"},"lastModifiedDate":{"type":["string","null"],"format":"date-time"},"lastReferencedDate":{"type":["string","null"],"format":"date-time"},"lastViewedDate":{"type":["string","null"],"format":"date-time"},"datasourceId":{"default":1,"type":["integer","null"]},"integrationId":{"type":["string","null"]}}},"DataExchangeSaleForceContact":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"accountId":{"type":["string","null"]},"department":{"type":["string","null"]},"description":{"type":["string","null"]},"email":{"type":["string","null"]},"emailBouncedDate":{"type":["string","null"]},"fax":{"type":["string","null"]},"firstName":{"type":["string","null"]},"homePhone":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"lastName":{"type":["string","null"]},"lastReferencedDate":{"type":["string","null"],"format":"date-time"},"lastViewedDate":{"type":["string","null"],"format":"date-time"},"leadSource":{"type":["string","null"]},"mailingAddress":{"type":["array","null"],"items":{"type":["string","null"]}},"mailingCity":{"type":["string","null"]},"mailingStreet":{"type":["string","null"]},"mailingGeocodeAccuracy":{"type":["string","null"]},"mailingLatitude":{"type":["string","null"]},"otherCity":{"type":["string","null"]},"otherGeocodeAccuracy":{"type":["string","null"]},"datasourceId":{"default":1,"type":["integer","null"]},"integrationId":{"type":["string","null"]}}},"DataExchangeSupplierContact":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"description":"The account contact parent account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"assistantName":{"description":"The account contact assistant name.","example":"Anne","type":"string"},"assistantPhone":{"description":"The account contact assistant telephone number.","example":"+1 206 555 0100","type":"string"},"birthDate":{"description":"The account contact birthday.","example":"2001-07-21","format":"date","type":"string"},"department":{"description":"The account contact department.","example":"sales","type":"string"},"description":{"description":"The account contact description for the account.","example":"do not call before 09.00","type":"string"},"doNotCall":{"description":"Indicates that the account contact does not want to receive calls. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"email":{"format":"email","description":"The account contact email address.","externalDocs":{"url":"https:\/\/schema.org\/email"},"example":"xyz@example.com","type":"string"},"fax":{"description":"The account contact fax number.","example":"+1 206 555 0100","type":"string"},"firstName":{"description":"The account contact first name.","example":"Gerard","type":"string"},"gender":{"description":"The account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"isPersonAccount":{"description":"Indicates whether this account contact has a record type of person Account. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"lastName":{"description":"The account contact last name of the contact.","example":"Kroon","type":"string"},"leadSource":{"description":"The account contact lead source of the contact.","example":"website","type":"string"},"middleName":{"description":"The contact middle name.","example":"van de","type":"string"},"phoneHome":{"description":"The account contact phone home number.","example":"+1 206 555 0100","type":"string"},"nickName":{"description":"The account contact nickname.","example":"Guru.","type":"string"},"phoneMobile":{"description":"The account contact phone mobile number.","example":"+1 206 555 0100","type":"string"},"phoneOffice":{"description":"The account contact phone office number.","example":"+1 206 555 0100","type":"string"},"phoneOther":{"description":"The account contact phone other number.","example":"+1 206 555 0100","type":"string"},"hourlyRateProfit":{"type":"number","format":"float","example":"124.99"},"hourlyRateCost":{"type":"number","format":"float","example":"124.99"},"role":{"type":["string","null"]},"salutation":{"description":"The account contact salutation.","example":"Mr.","type":"string"},"title":{"description":"The account contact title.","example":"dr","type":"string"},"weeklyCapacity":{"type":"number","format":"float","example":"124.99"},"accountNumber":{"type":["string","null"]},"sourceContactId":{"type":["string","null"]},"sourceId":{"type":["string","null"]}},"required":["lastName"]},"DataExchangeTaxCode":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"dateEnd":{"type":["string","null"],"format":"date-time"},"dateStart":{"type":["string","null"],"format":"date-time"},"defaultId":{"type":["string","null"]},"description":{"type":["string","null"]},"glToClaimDescription":{"type":["string","null"]},"glToClaimId":{"type":["string","null"]},"glToPayDescription":{"type":["string","null"]},"glToPayId":{"type":["string","null"]},"isBlocked":{"default":false,"type":"boolean"},"isDefault":{"default":false,"type":"boolean"},"isPreferred":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"legalText":{"type":["string","null"]},"lineNumber":{"default":0,"type":["integer","null"]},"taxCountryCode":{"type":["string","null"]},"taxCountryCodePercentage":{"type":["string","null"],"format":"decimal"},"taxCode":{"type":["string","null"]},"taxDecimals":{"default":0,"type":["integer","null"]},"taxCodeType":{"type":["string","null"]},"taxReportSectionId":{"type":["string","null"]},"taxTransactionType":{"type":["string","null"]}}},"DebitNote":{"type":"object","description":"Debit note \u2014 a SUPPLEMENTARY INVOICE under CGST s.34(3), issued when the taxable value or tax on an\nalready-issued invoice turns out to be too low.\n\nThe sign matters and is easy to get wrong: a debit note INCREASES the receivable and INCREASES output\ntax, exactly like an invoice. It is NOT \u0022a credit note with a minus\u0022 \u2014 it only shares the credit note\u0027s\nshape (a note referencing an original invoice), not its direction. Anything summing amounts across\ndocument types must treat this like {@see DocumentInvoice}.\n\nReported in GSTR-1 CDNR alongside credit notes, distinguished by `ntty` = \u0027D\u0027.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"projectId":{"type":["string","null"]},"noteReason":{"type":["string","null"]},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"DebitNoteAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"DebitNoteDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"DebitNoteHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"DebitNoteLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"Department":{"type":"object","description":"An organisational department \u2014 formalises the legacy free-text `AccountContact.department` into a tree\nwith a manager and an optional cost center.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"code":{"type":["string","null"]},"parentDepartmentId":{"type":["string","null"]},"managerEmployeeId":{"type":["string","null"]},"costCenterId":{"type":["string","null"]}}},"DocumentApproval":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"approvalDate":{"type":["string","null"],"format":"date-time"},"approvalEmailNotification":{"default":false,"type":"boolean"},"approvalSentDate":{"type":["string","null"],"format":"date-time"},"approverEmail":{"type":["string","null"]},"approverName":{"type":["string","null"]},"approverPlace":{"type":["string","null"]},"approverSignature":{"type":["string","null"]},"documentId":{"type":["string","null"]}}},"DocumentEWayBill":{"type":"object","description":"One Indian GST **e-way bill** for a document \u2014 the \u0022Part-B\u0022 transport half of an EWB-01, plus the\nportal\u0027s answer.\n\n**Why this is a child row and not eight columns on the invoice** (E29, owner 2026-09-07): one\ninvoice really can need SEVERAL e-way bills. Goods are transhipped, a vehicle breaks down and the\nconsignment moves to another, a single consignment travels on more than one vehicle \u2014 and Part-B\nis legally updatable during the journey, so each update is a record rather than an overwrite.\nColumns on `com_doc_invoices` would have hardcoded one-per-invoice and lost the previous trip.\n\nPart-A (parties, items, values) is NOT stored here \u2014 it is derived from the document every time\nby {@see \\App\\Service\\Finance\\Tax\\GstEWayBill\\EWayBillBuilder}, so it cannot drift from the\ninvoice it describes.\n\nThe `ewb*` fields are the portal\u0027s response: filled by the live IRP\/NIC connector when that lands\n(backlog E1), and typed back in by hand until then \u2014 a user who generated the bill on the portal\nhas a number and a validity date worth keeping.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"documentId":{"type":"string"},"documentType":{"default":"invoice","type":"string"},"subSupplyType":{"type":["string","null"]},"docType":{"type":["string","null"]},"transporterId":{"type":["string","null"]},"transporterName":{"type":["string","null"]},"transMode":{"type":["string","null"]},"transDistance":{"type":["integer","null"]},"transDocNo":{"type":["string","null"]},"transDocDate":{"type":["string","null"],"format":"date-time"},"vehicleNo":{"type":["string","null"]},"vehicleType":{"type":["string","null"]},"ewbNo":{"type":["string","null"]},"ewbDate":{"type":["string","null"],"format":"date-time"},"ewbValidUpto":{"type":["string","null"],"format":"date-time"},"ewbStatus":{"type":["string","null"]}}},"DocumentHistory":{"type":"object","description":"Legacy shared history table (com_doc_history). Now a thin subclass of {@see AbstractDocumentHistory}\n\u2014 same columns, same public API \u2014 kept only until the per-type split finishes (Phase 5 drops the table\nand retires this class). New history is written to the per-type tables; see\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"DocumentInvoiceGovtReportPeppolInboundLog":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"action":{"default":"CREATE","type":["string","null"]},"receiverId":{"type":["string","null"]},"senderId":{"type":["string","null"]},"supplierId":{"type":["string","null"]},"supplierName":{"type":["string","null"]},"data":{"type":["string","null"]},"transactionId":{"type":["string","null"]},"transactionStatus":{"type":["string","null"]},"transactionError":{"type":["string","null"]},"peppolDocumentId":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentType":{"type":["string","null"]}}},"DocumentInvoiceGovtReportPeppolOutboundLog":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"action":{"default":"create","type":["string","null"]},"data":{"type":["string","null"]},"transactionId":{"type":["string","null"]},"transactionStatus":{"default":"start","type":["string","null"]},"transactionError":{"type":["string","null"]},"receiverId":{"type":["string","null"]},"customerId":{"type":["string","null"]},"customerName":{"type":["string","null"]},"senderId":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentType":{"type":["string","null"]},"documentTitle":{"type":["string","null"]}}},"DocumentInvoiceGovtReportSzamlaLog":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"action":{"default":"CREATE","type":["string","null"]},"data":{"type":["string","null"]},"transactionId":{"type":["string","null"]},"documentId":{"type":["string","null"]}}},"DocumentLineArchive":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"documentType":{"type":["string","null"]},"documentLineId":{"type":["string","null"]}}},"DocumentLineTax":{"type":"object","description":"One applied tax component on one document line \u2014 the **atomic taxable event** and the source of truth\nfor all tax amounts once Phase 0b cuts over. Emitted by the {@see \\App\\Service\\Finance\\Tax\\TaxEngine}:\na line with a two-component GST code produces two rows (CGST + SGST); an EU VAT line produces one.\n\nD8: **one shared table** ({@see DocumentLineTax}, `com_doc_line_taxes`) keyed by\n({@see $module}, {@see $documentLineId}) \u2014 the polymorphic pattern the GL journal lines already use \u2014\nrather than 13 per-document sibling tables + the webshop\u0027s parallel shape. `$module` is the owning\ndocument\u0027s `documentTypeKey` (\u0027invoice\u0027 | \u0027purchase\u0027 | \u0027creditNote\u0027 | \u2026 | \u0027storeOrder\u0027).\n\nD6 invariant: rows store the **final, post-scaling** amounts (after document discount \/ advance \/\nsingle-rate recalc are distributed back onto them), so \u03a3(amount) \u2261 document tax to the cent. GL posting\nand returns read the rows directly with no further adjustment.\n\nPart of GST Phase 0a (additive; nothing reads it until the parity-gated Phase 0b flips).\nSee docs\/plans\/gst-india.md \u00a73.2 (D1\/D8), \u00a73 (D6).","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"module":{"type":"string"},"documentId":{"type":["string","null"]},"documentLineId":{"type":"string"},"lineNumber":{"default":0,"type":"integer"},"taxCodeId":{"type":["string","null"]},"taxComponentId":{"type":["string","null"]},"taxCategory":{"default":"VAT","type":"string","enum":["CGST","SGST","UTGST","IGST","CESS","GST","HST","PST","QST","VAT","SALES","COUNTY","CITY","WHT"]},"taxableBase":{"type":"string","format":"decimal"},"rate":{"type":"string","format":"decimal"},"amount":{"type":"string","format":"decimal"},"reverse":{"default":false,"type":"boolean"},"recoverable":{"default":true,"type":"boolean"},"glPayId":{"type":["string","null"]},"glClaimId":{"type":["string","null"]},"taxReportSectionId":{"type":["string","null"]}}},"DocumentLookupRelated":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"documentSourceId":{"type":["string","null"]},"documentSourceNumber":{"type":["string","null"]},"documentSourceType":{"type":["string","null"]},"documentTargetId":{"type":"string"},"documentTargetNumber":{"type":["string","null"]},"documentTargetType":{"type":["string","null"]},"documentTargetSubType":{"type":["integer","null"]},"documentTargetDateExpiration":{"type":["string","null"],"format":"date-time"}}},"DocumentPackingNoteWaveList":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"documentId":{"type":["string","null"]},"documentLineId":{"type":["string","null"]},"productId":{"type":["string","null"]},"articleCode":{"type":["string","null"]},"productName":{"type":["string","null"]},"dateWave":{"type":"string","format":"date-time"},"unitIsColli":{"default":false,"type":"boolean"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityPicked":{"type":["string","null"],"format":"decimal"}}},"DocumentRecurringInvoiceHistory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"dateSent":{"type":["string","null"],"format":"date-time"},"documentId":{"type":["string","null"]},"mailingData":{"type":["array","null"],"items":{"type":["string","null"]}},"recurringDocumentId":{"type":["string","null"]}}},"DocumentRecurringPurchaseHistory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"dateSent":{"type":["string","null"],"format":"date-time"},"documentId":{"type":["string","null"]},"mailingData":{"type":["array","null"],"items":{"type":["string","null"]}},"recurringDocumentId":{"type":["string","null"]}}},"DocumentShipmentHistory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"shippingStatus":{"type":["string","null"]},"shipmentProvider":{"type":["string","null"]},"shipmentTrackingNumber":{"type":["string","null"]},"shipmentComments":{"type":["string","null"]},"notifyCustomer":{"default":false,"type":"boolean"},"dateShipped":{"type":["string","null"],"format":"date-time"},"shippingModifiedOn":{"type":["string","null"],"format":"date-time"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"DocumentSourceInvoice":{"type":"object","description":"One invoice a credit note, debit note or payment reminder was raised against.\n\n**Why a table and not the `related_document_id` column already on every document.** That column is\na generic \u0022where did this come from\u0022 stamp and it is overloaded \u2014 the channel importers put\n`bol.com` \/ `woo_commerce` in the matching `related_document_name`, and the sales reports FILTER on\nthat (`ReportMiscApiController`). It also holds exactly one value, and CGST \u00a734 (as amended, 2019)\nlets ONE note cover SEVERAL invoices. So the column stays what it is, keeping every existing reader\n\u2014 GSTR-1\u0027s CDNR original-invoice reference included \u2014 working unchanged, and it holds the PRIMARY\nsource; this table holds the full set.\n\nRows are keyed by `document_id` + `module` (the note\u0027s `documentTypeKey`), the same polymorphic\nshape {@see DocumentLineTax} uses, so one table serves all three note types rather than three\nsibling tables that drift.\n\nThe invoice number and date are DENORMALISED deliberately: they are what a person reads and what a\nreturn cites, and they must not change under a finalized note if the invoice is later archived out\nof the hot database.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"module":{"type":"string"},"documentId":{"type":"string"},"invoiceId":{"type":"string"},"invoiceNumber":{"type":["string","null"]},"invoiceDate":{"type":["string","null"],"format":"date-time"}}},"DocumentWorkflowHistory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"workFlowStatus":{"type":["string","null"]},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"Employee":{"type":"object","description":"An employee \u2014 one identity per person: this references the existing {@see \\App\\Entity\\AccountContact}\nvia `accountContactId` (unique per owner) and never duplicates the person record.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"employeeNumber":{"type":["string","null"]},"status":{"default":"active","type":"string"},"hireDate":{"type":["string","null"],"format":"date-time"},"terminationDate":{"type":["string","null"],"format":"date-time"},"departmentId":{"type":["string","null"]},"managerEmployeeId":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"employmentType":{"type":["string","null"]}}},"EmploymentContract":{"type":"object","description":"What an employee is paid, and for what span.\n\n**A raise is a NEW contract, not an edit.** An employee accumulates a series of them, and a pay run\npicks the one whose date range covers the period being paid. That is what lets a payslip from two\nyears ago still explain itself: the terms it was calculated from are still on the row that produced\nit, rather than having been overwritten by every subsequent raise.\n\n`baseSalary` is quoted in `salaryPeriod` units; {@see \\App\\Service\\Hrm\\PayrollService} is the only\nplace that reduces it to a month, so the conversion cannot drift between callers.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"employeeId":{"type":["string","null"]},"type":{"type":["string","null"]},"status":{"default":"draft","type":"string"},"startDate":{"type":["string","null"],"format":"date-time"},"endDate":{"type":["string","null"],"format":"date-time"},"weeklyHours":{"type":"string","format":"decimal"},"baseSalary":{"type":"string","format":"decimal"},"salaryPeriod":{"default":"monthly","type":"string"},"currency":{"type":["string","null"]},"payrollCountry":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"note":{"type":["string","null"]}}},"Error":{"type":"object","description":"A representation of common errors.","properties":{"title":{"readOnly":true,"description":"A short, human-readable summary of the problem.","type":["string","null"]},"detail":{"readOnly":true,"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"status":{"type":["integer","null"],"examples":[404],"default":400},"instance":{"readOnly":true,"description":"A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.","type":["string","null"]},"type":{"readOnly":true,"description":"A URI reference that identifies the problem type","type":"string"}}},"Error.jsonld":{"allOf":[{"$ref":"#\/components\/schemas\/HydraItemBaseSchema"},{"type":"object","properties":{"title":{"readOnly":true,"description":"A short, human-readable summary of the problem.","type":["string","null"]},"detail":{"readOnly":true,"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"status":{"type":["integer","null"],"examples":[404],"default":400},"instance":{"readOnly":true,"description":"A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.","type":["string","null"]},"type":{"readOnly":true,"description":"A URI reference that identifies the problem type","type":"string"},"description":{"readOnly":true,"type":["string","null"]}}}],"description":"A representation of common errors."},"ExpenseClaim":{"type":"object","description":"Money an employee spent on the company\u0027s behalf and wants back.\n\n**This is not the finance Expenses screen**, which lists bank-statement lines the company has\nalready paid out. A claim is a debt in the other direction: the employee is out of pocket until the\ncompany reimburses them, so an approved claim is a liability, not a settled cost. Nothing is folded\nbetween the two.\n\n`totalAmount` is derived from the lines on every write. Storing it is what lets a list screen sort\nand total without loading every line of every claim.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"employeeId":{"type":["string","null"]},"title":{"type":["string","null"]},"status":{"default":"draft","type":"string"},"totalAmount":{"type":"string","format":"decimal"},"totalTaxAmount":{"type":"string","format":"decimal"},"currency":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"projectId":{"type":["string","null"]},"submittedOn":{"type":["string","null"],"format":"date-time"},"approverEmployeeId":{"type":["string","null"]},"decidedOn":{"type":["string","null"],"format":"date-time"},"decisionNote":{"type":["string","null"]},"reimbursedOn":{"type":["string","null"],"format":"date-time"},"journalId":{"type":["string","null"]},"reimbursementJournalId":{"type":["string","null"]}}},"ExpenseClaimLine":{"type":"object","description":"One receipt on a claim: what was bought, when, for how much, and which ledger account it lands on.\n\n`ledgerAccountId` is per LINE, not per claim, because one trip is routinely a flight, a hotel and a\ndinner \u2014 three different expense accounts on one claim. A line with no account still saves; the\napproval journal graceful-skips rather than guessing where a cost belongs.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"claimId":{"type":["string","null"]},"category":{"type":["string","null"]},"description":{"type":["string","null"]},"spentOn":{"type":["string","null"],"format":"date-time"},"amount":{"type":"string","format":"decimal"},"taxAmount":{"type":"string","format":"decimal"},"taxCodeId":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"mileageKm":{"type":["string","null"],"format":"decimal"},"receiptAttachmentId":{"type":["string","null"]}}},"FinanceBankStatement":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"amountClosing":{"type":["string","null"],"format":"decimal"},"amountOpening":{"type":["string","null"],"format":"decimal"},"amountTotal":{"type":["string","null"],"format":"decimal"},"bankAccountId":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankIbanNumber":{"type":["string","null"]},"bankName":{"type":["string","null"]},"dataLines":{"type":"array","items":{"type":["string","null"]}},"date":{"type":["string","null"],"format":"date-time"},"dateFrom":{"type":["string","null"],"format":"date-time"},"description":{"type":["string","null"]},"fileName":{"type":["string","null"]}}},"FinanceBankStatementHistory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"balanceClosing":{"type":["string","null"],"format":"decimal"},"balanceOpening":{"type":["string","null"],"format":"decimal"},"bankIbanNumber":{"type":["string","null"]},"bankName":{"type":["string","null"]},"bankStatementId":{"type":["string","null"]},"dateFrom":{"type":["string","null"],"format":"date-time"},"dateTo":{"type":["string","null"],"format":"date-time"},"fileName":{"type":["string","null"]},"records":{"default":0,"type":["integer","null"]},"recordsSkipped":{"default":0,"type":["integer","null"]}}},"FinanceBankStatementLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"amount":{"type":["string","null"],"format":"decimal"},"bankStatementId":{"type":["string","null"]},"integrationId":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"countryCode":{"type":["string","null"]},"taxCodeId":{"type":["string","null"]},"contraAccountName":{"type":["string","null"]},"contraAccountNumber":{"type":["string","null"]},"date":{"type":["string","null"],"format":"date-time"},"lineNumber":{"type":["integer","null"]},"debitCredit":{"type":["string","null"]},"description":{"type":["string","null"]},"document":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"journalId":{"type":["string","null"]},"reference":{"type":["string","null"]},"matchStatus":{"type":["string","null"]}}},"FinanceBankStatementLineTransaction":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountName":{"type":["string","null"]},"moduleLineId":{"type":["string","null"]},"paymentId":{"type":["string","null"]},"amount":{"type":["string","null"],"format":"decimal"},"bankStatementLineId":{"type":["string","null"]},"description":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"taxCodeId":{"type":["string","null"]},"taxAmount":{"type":["string","null"],"format":"decimal"}}},"FinanceJournal":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"bankAccountBicCode":{"type":["string","null"]},"bankAccountCountryCode":{"type":["string","null"]},"bankAccountDescription":{"type":["string","null"]},"bankAccountIban":{"type":["string","null"]},"bankAccountId":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"currency":{"type":["string","null"]},"date":{"type":["string","null"],"format":"date-time"},"remark":{"type":["string","null"]},"exchangeRate":{"type":["string","null"],"format":"decimal"},"code":{"type":["string","null"]},"description":{"type":["string","null"]},"paymentId":{"type":["string","null"]},"paymentProvider":{"type":["string","null"]},"reversed":{"default":false,"type":"boolean"},"status":{"type":["integer","null"]},"type":{"type":["string","null"]}}},"FinanceJournalLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountName":{"type":["string","null"]},"allowVariableCurrency":{"default":false,"type":"boolean"},"amountDc":{"type":["string","null"],"format":"decimal"},"amountDcCredit":{"type":["string","null"],"format":"decimal"},"amountDcDebit":{"type":["string","null"],"format":"decimal"},"amountFc":{"type":["string","null"],"format":"decimal"},"amountTaxDc":{"type":["string","null"],"format":"decimal"},"amountTaxFc":{"type":["string","null"],"format":"decimal"},"balanceType":{"default":"P","type":["string","null"]},"bankStatementId":{"type":["string","null"]},"bankStatementLineId":{"type":["string","null"]},"currency":{"type":["string","null"]},"date":{"type":["string","null"],"format":"date-time"},"description":{"type":["string","null"]},"isBlocked":{"default":false,"type":"boolean"},"journalId":{"type":["string","null"]},"journalTypeCode":{"type":["integer","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountDescription":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"ledgerAccountScheme":{"default":"default","type":["string","null"]},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"moduleLineId":{"type":["string","null"]},"moduleNumber":{"type":["string","null"]},"sourceModule":{"type":["string","null"]},"sourceId":{"type":["string","null"]},"paymentId":{"type":["string","null"]},"productId":{"type":["string","null"]},"projectId":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"quantity":{"type":["string","null"],"format":"decimal"},"transactionType":{"type":["string","null"]},"taxCode":{"type":["string","null"]},"taxCodeId":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxType":{"type":["string","null"]}}},"FinanceLedgerAccount":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"balanceSide":{"type":["string","null"]},"balanceType":{"type":["string","null"]},"code":{"type":["string","null"]},"codeAlias":{"type":["string","null"]},"codeReference":{"type":["string","null"]},"codeReferenceDescription":{"type":["string","null"]},"defaultId":{"type":["string","null"]},"defaultType":{"type":["string","null"]},"description":{"type":["string","null"]},"excludeTaxListing":{"type":"boolean"},"isBlocked":{"type":"boolean"},"isDefault":{"type":"boolean"},"isSystem":{"type":"boolean"},"ledgerAccountScheme":{"type":["string","null"]},"remark":{"type":["string","null"]},"typeCode":{"type":["integer","null"]},"taxCode":{"type":["string","null"]},"taxCodeId":{"type":["string","null"]}}},"FinanceLedgerAccountCategory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"categoryCode":{"type":["integer","null"]},"defaultId":{"type":["string","null"]},"isSystem":{"default":false,"type":"boolean"},"ledgerAccountScheme":{"default":"default","type":["string","null"]},"name":{"type":["string","null"]},"sortId":{"type":["integer","null"]}}},"FiscalPeriod":{"type":"object","description":"An accounting period (year + period-within-year, derived from `OwnerSetting.fiscalYearStart`).\nPosting into a closed period is refused. See docs\/plans\/gl-refactor.md \u00a71 \u2014 part of the GL refactor\nG0 schema (additive; nothing posts through it until G1). Closing a period = filing the tax return for it.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"fiscalYear":{"default":0,"type":"integer"},"periodNumber":{"default":0,"type":"integer"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"status":{"default":"open","type":"string","enum":["open","closed"]},"closedOn":{"type":["string","null"],"format":"date-time"},"closedBy":{"type":["string","null"]}}},"FixedAsset":{"type":"object","description":"A capitalised fixed asset. Activating it generates a depreciation schedule; a cron posts due rows to the GL.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"code":{"type":["string","null"]},"name":{"type":["string","null"]},"categoryId":{"type":["string","null"]},"acquisitionDate":{"type":["string","null"],"format":"date-time"},"acquisitionCost":{"type":"string","format":"decimal"},"residualValue":{"type":"string","format":"decimal"},"usefulLifeMonths":{"type":["integer","null"]},"depreciationMethod":{"default":"straight_line","type":["string","null"]},"inServiceDate":{"type":["string","null"],"format":"date-time"},"disposalDate":{"type":["string","null"],"format":"date-time"},"status":{"default":"draft","type":"string"},"locationId":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"responsibleUserId":{"type":["string","null"]},"sourceModule":{"type":["string","null"]},"sourceId":{"type":["string","null"]}}},"FixedAssetCategory":{"type":"object","description":"A class of fixed assets sharing depreciation defaults and the three GL accounts depreciation posts to.\nThe accounts reference the tenant\u0027s own chart (set by the user) \u2014 postings graceful-skip when unset.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"defaultUsefulLifeMonths":{"type":["integer","null"]},"defaultMethod":{"default":"straight_line","type":["string","null"]},"assetLedgerAccountId":{"type":["string","null"]},"accumDepreciationLedgerAccountId":{"type":["string","null"]},"depreciationExpenseLedgerAccountId":{"type":["string","null"]},"gainLossLedgerAccountId":{"type":["string","null"]},"disposalClearingLedgerAccountId":{"type":["string","null"]},"revaluationReserveLedgerAccountId":{"type":["string","null"]},"impairmentLossLedgerAccountId":{"type":["string","null"]}}},"FixedAssetDepreciation":{"type":"object","description":"One period of an asset\u0027s depreciation schedule. `(owner_id, asset_id, period_date)` is the idempotency\nkey \u2014 a period is posted to the GL at most once.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"assetId":{"type":["string","null"]},"periodDate":{"type":["string","null"],"format":"date-time"},"depreciationAmount":{"type":"string","format":"decimal"},"accumulatedDepreciation":{"type":"string","format":"decimal"},"netBookValue":{"type":"string","format":"decimal"},"journalId":{"type":["string","null"]},"status":{"default":"scheduled","type":"string"}}},"FixedAssetDisposal":{"type":"object","description":"Records the disposal of a fixed asset: removes cost + accumulated depreciation, books proceeds, and the\nresulting gain\/loss. `gainLoss` = proceeds \u2212 net book value at disposal.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"assetId":{"type":["string","null"]},"date":{"type":["string","null"],"format":"date-time"},"proceeds":{"type":"string","format":"decimal"},"disposalType":{"type":["string","null"]},"gainLoss":{"type":"string","format":"decimal"},"journalId":{"type":["string","null"]}}},"FixedAssetRevaluation":{"type":"object","description":"A revaluation (upward) or impairment (downward) of a fixed asset\u0027s carrying amount. `oldValue` is\nthe net book value the moment before; `newValue` the value the owner set. The delta posts to the\nGL (up: Dr asset \/ Cr revaluation reserve; down: Dr impairment loss \/ Cr asset \u2014 `journalId`), and\nthe remaining depreciation schedule is regenerated from the new basis. The record itself is kept\neven when the category\u0027s accounts are unset (journal graceful-skips, same as posting\/disposal).","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"assetId":{"type":["string","null"]},"revaluationDate":{"type":["string","null"],"format":"date-time"},"oldValue":{"type":"string","format":"decimal"},"newValue":{"type":"string","format":"decimal"},"reason":{"type":["string","null"]},"journalId":{"type":["string","null"]}}},"ForecastSnapshot":{"type":"object","description":"One month of the sales forecast as it stood on `takenOn` (J16) \u2014 so \u0022what did we think last month\u0022\nhas an answer. The live forecast is a read over open opportunities, which is what keeps it from\ngoing stale and also why it cannot remember anything; this is the memory.\n\nOne row per tenant \u00d7 day taken \u00d7 pipeline \u00d7 forecast month. `pipelineId` null = all pipelines,\nwhich is what the forecast screen opens on. Figures are company currency, as the forecast is.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"takenOn":{"type":"string","format":"date-time"},"pipelineId":{"type":["string","null"]},"period":{"default":"","type":"string"},"weighted":{"type":"string","format":"decimal"},"committed":{"type":"string","format":"decimal"},"bestCase":{"type":"string","format":"decimal"},"dealCount":{"default":0,"type":"integer"}}},"GeneralFeatureRequest":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"description":{"type":["string","null"]},"subject":{"type":["string","null"]},"url":{"type":["string","null"]}}},"GeneralFeedback":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"rating":{"type":["string","null"],"format":"decimal"},"feedbackText":{"type":["string","null"]},"url":{"type":["string","null"]}}},"GeneralUpload":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"accountContactId":{"type":["string","null"]},"mimeType":{"type":["string","null"]},"module":{"type":["string","null"]},"moduleId":{"type":"string"},"name":{"type":["string","null"]},"originalFileName":{"type":["string","null"]},"fileSize":{"type":["string","null"]}}},"GoodsReceipt":{"type":"object","description":"A receipt of goods against a purchase order. Receiving moves stock (via the Inventory choke point) at the\nreceipt \u2014 not at the supplier invoice \u2014 when the Procure-to-Pay module is on.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"purchaseOrderId":{"type":["string","null"]},"supplierId":{"type":["string","null"]},"warehouseId":{"type":["string","null"]},"status":{"default":"received","type":"string"},"dateReceived":{"type":["string","null"],"format":"date-time"}}},"GoodsReceiptLine":{"type":"object","description":"One product line of a {@see GoodsReceipt}, linked back to the originating purchase-order line.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"goodsReceiptId":{"type":["string","null"]},"purchaseOrderLineId":{"type":["string","null"]},"productId":{"type":["string","null"]},"quantityReceived":{"type":"string","format":"decimal"},"quantityRejected":{"type":"string","format":"decimal"},"lotId":{"type":["string","null"]},"locationId":{"type":["string","null"]}}},"HelpdeskTicket":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"actualResult":{"type":["string","null"]},"attachmentImages":{"type":["array","null"],"items":{"type":["string","null"]}},"attachmentVideos":{"type":["array","null"],"items":{"type":["string","null"]}},"countryCode":{"type":["string","null"]},"description":{"type":["string","null"]},"email":{"type":"string"},"expectedResult":{"type":["string","null"]},"impact":{"default":"low","type":["string","null"]},"isNew":{"default":true,"type":"boolean"},"isPublic":{"default":true,"type":"boolean"},"isReplied":{"default":false,"type":"boolean"},"issueType":{"type":["string","null"]},"name":{"type":["string","null"]},"phone":{"type":["string","null"]},"priority":{"default":"low","type":["string","null"]},"source":{"type":["string","null"]},"status":{"type":["string","null"]},"supportTags":{"type":["array","null"],"items":{"type":["string","null"]}},"title":{"type":["string","null"]},"url":{"type":["string","null"]}},"required":["email"]},"HydraItemBaseSchema":{"type":"object","properties":{"@context":{"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"type":"string"},"@type":{"type":"string"}},"required":["@id","@type"]},"Invoice":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"recurringType":{"default":0,"type":["integer","null"]},"projectId":{"type":["string","null"]},"irn":{"type":["string","null"]},"irnAckNo":{"type":["string","null"]},"irnAckDate":{"type":["string","null"],"format":"date-time"},"irnQrCode":{"type":["string","null"]},"irnStatus":{"type":["string","null"]},"ewbNo":{"type":["string","null"]},"ewbStatus":{"type":["string","null"]},"paymentMethod":{"type":["string","null"]},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"InvoiceAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"InvoiceDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"InvoiceHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"InvoiceLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"InvoicePayment":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"description":"The account ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"amountInvoice":{"type":"number","format":"float","example":"123.45"},"amountPaid":{"type":"number","format":"float","example":"123.45"},"amountPayment":{"type":"number","format":"float","example":"123.45"},"amountUnpaid":{"type":"number","format":"float","example":"123.45"},"bankStatementId":{"description":"The bank statement ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"bankStatementLineId":{"description":"The bank statement line ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"dateDocument":{"description":"The document date of the payment.","example":"2023-10-01","format":"date","type":"string"},"datePayment":{"description":"The payment date of the payment.","example":"2023-10-01","format":"date","type":"string"},"description":{"description":"The description of the payment.","example":"Payment for invoice #12345","type":"string"},"documentId":{"description":"The document ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"dso":{"description":"The DSO (Days Sales Outstanding) of the payment.","example":"30","format":"integer","type":"integer"},"image":{"description":"The image of the payment.","example":"image.png","type":"string"},"paymentId":{"description":"The payment ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"paymentMethod":{"description":"The payment method of the payment.","example":"credit_card","type":"string"},"receiptNumber":{"description":"Number of the receipt issued to the payer for this payment, if any.","example":"118","type":"string"},"checkNumber":{"type":["string","null"]},"achExportedOn":{"type":["string","null"],"format":"date-time"}},"required":["amountPayment"]},"InvoiceProformaHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"InvoiceRecurringEventHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"Journal":{"type":"object","description":"A journal \u2014 the *book* entries are recorded in (Sales, Purchases, Bank, Cash, General). See\ndocs\/plans\/gl-refactor.md \u00a71. Part of the GL refactor G0 schema (additive; nothing posts through it\nuntil G1). Bank journals own the IBAN\/BIC fields that today sit on every transaction row.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"code":{"type":"string"},"name":{"type":"string"},"type":{"default":"general","type":"string","enum":["sales","purchases","bank","cash","general"]},"defaultContraAccountId":{"type":["string","null"]},"isActive":{"default":true,"type":"boolean"},"bankAccountId":{"type":["string","null"]},"bankAccountIban":{"type":["string","null"]},"bankAccountBicCode":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankAccountCountryCode":{"type":["string","null"]}}},"JournalEntry":{"type":"object","description":"A journal entry \u2014 one balanced transaction (\u03a3debit \u2261 \u03a3credit over its lines) recorded in a Journal.\nReplaces the legacy `FinanceJournal` row-per-transaction model. Posted entries are immutable;\ncorrections are reversing entries linked via `reversalOfEntryId`. See docs\/plans\/gl-refactor.md \u00a71.\nPart of the GL refactor G0 schema (additive; nothing posts through it until G1).","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"journalId":{"type":"string"},"entryNumber":{"type":["integer","null"]},"fiscalYear":{"type":["integer","null"]},"postingDate":{"type":"string","format":"date-time"},"documentDate":{"type":["string","null"],"format":"date-time"},"fiscalPeriodId":{"type":["string","null"]},"description":{"type":["string","null"]},"sourceType":{"type":["string","null"]},"sourceId":{"type":["string","null"]},"status":{"default":"draft","type":"string","enum":["draft","posted","reversed"]},"reversalOfEntryId":{"type":["string","null"]},"postedOn":{"type":["string","null"],"format":"date-time"},"postedBy":{"type":["string","null"]},"isFlagged":{"default":false,"type":"boolean"},"flagReason":{"type":["string","null"]}}},"JournalEntryLine":{"type":"object","description":"One debit or credit leg of a JournalEntry. Exactly one of `debit`\/`credit` is non-zero, both \u2265 0 \u2014\nthe single amount representation that replaces the legacy signed `amountDc` + C\/D `transactionType`\n+ reporting copies. Amounts are decimal strings (bcmath) in the owner\u0027s functional currency;\n`amountTransaction` + `currencyCode` + `exchangeRate` carry the foreign-currency view. Tax legs carry\ntheir tax identity (`taxCodeId`\/`taxComponentId`\/`taxBaseAmount`) \u2014 the tax return reads these lines,\nnot base-line metadata. See docs\/plans\/gl-refactor.md \u00a71 (JournalEntryLine columns).\nPart of the GL refactor G0 schema (additive; nothing posts through it until G1).","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"journalEntryId":{"type":"string"},"lineNumber":{"default":0,"type":"integer"},"accountId":{"type":"string"},"partnerId":{"type":["string","null"]},"partnerName":{"type":["string","null"]},"description":{"type":["string","null"]},"debit":{"type":"string","format":"decimal"},"credit":{"type":"string","format":"decimal"},"currencyCode":{"type":["string","null"]},"amountTransaction":{"type":["string","null"],"format":"decimal"},"exchangeRate":{"type":"string","format":"decimal"},"productId":{"type":["string","null"]},"projectId":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"quantity":{"type":["string","null"],"format":"decimal"},"sourceType":{"type":["string","null"]},"sourceId":{"type":["string","null"]},"sourceLineId":{"type":["string","null"]},"bankStatementLineId":{"type":["string","null"]},"paymentId":{"type":["string","null"]},"taxCodeId":{"type":["string","null"]},"taxComponentId":{"type":["string","null"]},"taxCategory":{"type":["string","null"]},"documentLineTaxId":{"type":["string","null"]},"taxBaseAmount":{"type":["string","null"],"format":"decimal"}}},"Lead":{"type":"object","description":"Somebody who might become a customer, before they are one.\n\n**A lead deliberately does NOT reference an account or a contact while it is open**, which is the\nwhole reason it is its own table rather than an `AccountContact` with a lifecycle stage. A name and\nan email off a trade-show badge are not a person on the books: making them one pollutes the account\nlist with strangers, and every report that counts customers counts them too. The link is created at\nCONVERSION and recorded here, so the trail from \u0022badge\u0022 to \u0022customer\u0022 survives.\n\n`score` is a plain number the tenant assigns. There is no scoring engine and this does not pretend\nto be one.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"company":{"type":["string","null"]},"email":{"type":["string","null"]},"phone":{"type":["string","null"]},"source":{"type":["string","null"]},"status":{"default":"new","type":"string"},"score":{"default":0,"type":"integer"},"ownerContactId":{"type":["string","null"]},"notes":{"type":["string","null"]},"convertedAccountId":{"type":["string","null"]},"convertedContactId":{"type":["string","null"]},"convertedOpportunityId":{"type":["string","null"]},"convertedOn":{"type":["string","null"],"format":"date-time"},"unqualifiedReason":{"type":["string","null"]}}},"LeaveBalance":{"type":"object","description":"One employee\u0027s entitlement in one leave type for one year.\n\n**Four buckets, not one number, and that is deliberate.** A single \u0022remaining\u0022 column cannot answer\nthe question a second request asks \u2014 \u0022are these days already spoken for?\u0022 \u2014 so submitted-but-unanswered\ndays sit in `pending` from the moment they are requested. Without that, two requests over the same\nweek both pass the balance check and the employee is approved for leave they do not have.\n\n`available()` is therefore accrued + carriedOver \u2212 taken \u2212 pending.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"employeeId":{"type":["string","null"]},"leaveTypeId":{"type":["string","null"]},"year":{"default":0,"type":"integer"},"accrued":{"type":"string","format":"decimal"},"taken":{"type":"string","format":"decimal"},"pending":{"type":"string","format":"decimal"},"carriedOver":{"type":"string","format":"decimal"}}},"LeaveRequest":{"type":"object","description":"One employee\u0027s request to be away between two dates.\n\n`quantity` is stored rather than recomputed from the dates, because it is not derivable: half days,\na company\u0027s own weekend, and a public-holiday calendar all change the answer, and the number the\nbalance was charged must stay the number the balance is credited back on cancellation. The service\ncomputes a sensible default (working days, Mon\u2013Fri); an explicit quantity overrides it.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"employeeId":{"type":["string","null"]},"leaveTypeId":{"type":["string","null"]},"startDate":{"type":["string","null"],"format":"date-time"},"endDate":{"type":["string","null"],"format":"date-time"},"quantity":{"type":"string","format":"decimal"},"status":{"default":"submitted","type":"string"},"reason":{"type":["string","null"]},"approverEmployeeId":{"type":["string","null"]},"decidedOn":{"type":["string","null"],"format":"date-time"},"decisionNote":{"type":["string","null"]}}},"LeaveType":{"type":"object","description":"A kind of leave a tenant grants \u2014 annual, sick, unpaid, casual. The tenant defines these; nothing\nis seeded, because \u0022annual leave\u0022 means a different number of days in every country this ships to.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"isPaid":{"default":true,"type":"boolean"},"unit":{"default":"days","type":"string"},"accrualRatePerPeriod":{"type":"string","format":"decimal"},"maxCarryover":{"type":["string","null"],"format":"decimal"}}},"License":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"quantity":{"default":1,"type":"integer"},"countryCode":{"type":["string","null"]},"dateLicenseEnd":{"type":["string","null"],"format":"date-time"},"dateLicenseStart":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"invoiceId":{"type":["string","null"]},"isActive":{"default":false,"type":"boolean"},"isExtendedLicense":{"default":false,"type":"boolean"},"isFreeLicense":{"default":false,"type":"boolean"},"isMandate":{"default":false,"type":"boolean"},"isTrial":{"default":false,"type":"boolean"},"paymentCustomerId":{"type":["string","null"]},"paymentId":{"type":["string","null"]},"paymentSubscriptionId":{"type":["string","null"]},"name":{"type":["string","null"]},"period":{"default":"month","type":["string","null"]},"productId":{"type":["string","null"]},"promoCode":{"type":["string","null"]},"remark":{"type":["string","null"]},"renewalCount":{"default":0,"type":"integer"},"sellPrice":{"type":["string","null"],"format":"decimal"},"subscriptionActive":{"default":false,"type":"boolean"},"subscriptionAmount":{"type":["string","null"],"format":"decimal"},"subscriptionPaymentStatus":{"type":["string","null"]},"taxRate":{"type":["string","null"],"format":"decimal"},"total":{"type":["string","null"],"format":"decimal"},"type":{"default":"basic","type":["string","null"]},"includedModules":{"type":["array","null"],"items":{"type":["string","null"]}}}},"Loan":{"type":"object","description":"Money borrowed, and the terms that decide how it is repaid.\n\nBefore this existed an instalment\u0027s interest-vs-principal split was worked out by hand and typed into\na manual journal every month (BACKLOG J21). The split is arithmetic \u2014 the schedule is computed once\nfrom these terms and each instalment posts itself when its date arrives.\n\n**The three ledger accounts are the whole GL contract**, and none of them is guessed:\n\n - `liabilityLedgerAccountId` \u2014 what is owed. Credited by the drawdown, debited by each instalment\u0027s\n   principal, and at zero when the loan closes.\n - `interestLedgerAccountId` \u2014 the cost of borrowing. Debited by each instalment\u0027s interest.\n - `paymentLedgerAccountId` \u2014 the bank account the money moves through: debited by the drawdown,\n   credited by every instalment.\n\nA loan with any of them unset posts nothing, exactly as an asset with no category accounts does \u2014\nthe schedule stays scheduled and retries once the accounts are configured.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"reference":{"type":["string","null"]},"name":{"type":["string","null"]},"lenderAccountId":{"type":["string","null"]},"principal":{"type":"string","format":"decimal"},"annualInterestRate":{"type":"string","format":"decimal"},"termMonths":{"type":["integer","null"]},"firstPaymentDate":{"type":["string","null"],"format":"date-time"},"drawdownDate":{"type":["string","null"],"format":"date-time"},"amortisationMethod":{"default":"equal_installment","type":"string"},"status":{"default":"draft","type":"string"},"liabilityLedgerAccountId":{"type":["string","null"]},"interestLedgerAccountId":{"type":["string","null"]},"paymentLedgerAccountId":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"drawdownJournalId":{"type":["string","null"]},"note":{"type":["string","null"]}}},"LoanScheduleLine":{"type":"object","description":"One instalment of a loan\u0027s amortisation schedule.\n\n`(owner_id, loan_id, period_number)` is the idempotency key \u2014 an instalment posts to the GL at most\nonce, the same guarantee `com_fa_depreciations` gives a depreciation period.\n\nThe stored figures are the whole point of the feature: `interestAmount` and `principalAmount` are the\nsplit that used to be worked out by hand every month. They are stored rather than recomputed on read\nbecause a POSTED instalment must keep saying what it posted \u2014 the journal entry cites this row, and\nrecomputing after a rate correction would leave the two disagreeing.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"loanId":{"type":["string","null"]},"periodNumber":{"default":0,"type":"integer"},"dueDate":{"type":["string","null"],"format":"date-time"},"openingBalance":{"type":"string","format":"decimal"},"paymentAmount":{"type":"string","format":"decimal"},"interestAmount":{"type":"string","format":"decimal"},"principalAmount":{"type":"string","format":"decimal"},"closingBalance":{"type":"string","format":"decimal"},"journalId":{"type":["string","null"]},"status":{"default":"scheduled","type":"string"}}},"LossReason":{"type":"object","description":"A reason an opportunity was lost \u2014 for loss analysis reporting.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"isActive":{"default":true,"type":"boolean"}}},"Mailbox":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"attachmentInfo":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"attachments":{"default":false,"type":"boolean"},"contentIds":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"dkim":{"type":["string","null"]},"email":{"type":["string","null"]},"emailContent":{"type":["string","null"]},"envelope":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"fromEmail":{"type":["string","null"]},"fromName":{"type":["string","null"]},"headers":{"type":["string","null"]},"isDone":{"default":false,"type":"boolean"},"isMarked":{"default":false,"type":"boolean"},"isRead":{"default":false,"type":"boolean"},"senderIp":{"type":["string","null"]},"subject":{"type":["string","null"]},"text":{"type":["string","null"]},"toEmail":{"type":["string","null"]}}},"MailboxOut":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"body":{"type":["string","null"]},"header":{"type":["string","null"]},"fromEmail":{"type":["string","null"]},"fromName":{"type":["string","null"]},"isDone":{"default":false,"type":"boolean"},"isMarked":{"default":false,"type":"boolean"},"isRead":{"default":false,"type":"boolean"},"mailListId":{"type":["string","null"]},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"ownEmailServer":{"writeOnly":true,"default":false,"type":["boolean","null"]},"replyTo":{"type":["string","null"]},"subject":{"type":["string","null"]},"toEmail":{"type":["string","null"]},"toBcc":{"type":["string","null"]},"toCc":{"type":["string","null"]},"toName":{"type":["string","null"]}}},"MetaDataApiSetup":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"createdBy":{"type":"string"},"integrationId":{"type":["string","null"]},"isDemo":{"default":false,"type":"boolean"},"modifiedBy":{"type":["string","null"]},"modifiedFullName":{"type":["string","null"]},"ownerUserFullName":{"type":["string","null"]},"ownerIoUserId":{"type":["string","null"]},"parentAccountId":{"type":["string","null"]},"parentContactId":{"type":["string","null"]},"service":{"type":"string"},"serviceId":{"type":"string"},"versionNumber":{"default":1,"type":["integer","null"]}}},"Opportunity":{"type":"object","description":"A sales opportunity (deal) on a pipeline. References the existing Account \/ AccountContact master \u2014 there\nis no separate CRM contact store. `amount \u00d7 probabilityPct` drives weighted forecasting.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"accountId":{"type":["string","null"]},"primaryContactId":{"type":["string","null"]},"pipelineId":{"type":["string","null"]},"stageId":{"type":["string","null"]},"amount":{"type":"string","format":"decimal"},"currency":{"type":["string","null"]},"expectedCloseDate":{"type":["string","null"],"format":"date-time"},"probabilityPct":{"default":0,"type":"integer"},"ownerContactId":{"type":["string","null"]},"status":{"default":"open","type":"string"},"lossReasonId":{"type":["string","null"]},"source":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentType":{"type":["string","null"]}}},"OpportunityStageHistory":{"type":"object","description":"Audit of an opportunity\u0027s stage transitions \u2014 powers \u0022days in stage\u0022 \/ velocity reporting.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"opportunityId":{"type":["string","null"]},"fromStageId":{"type":["string","null"]},"toStageId":{"type":["string","null"]},"changedOn":{"type":["string","null"],"format":"date-time"},"changedBy":{"type":["string","null"]},"daysInStage":{"type":["integer","null"]}}},"OrderConfirmation":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"OrderConfirmationAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"OrderConfirmationDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"OrderConfirmationHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"OrderConfirmationLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"OwnerBankAccount":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankName":{"type":["string","null"]},"bicCode":{"type":["string","null"]},"routingNumber":{"type":["string","null"]},"accountType":{"type":["string","null"]},"achCompanyId":{"type":["string","null"]},"nextCheckNumber":{"type":["integer","null"]},"logoFile":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"}},"required":["bankAccountNumber","bankName"]},"OwnerContactCalendarEvent":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"createdTime":{"type":["string","null"],"format":"date-time"},"description":{"type":["string","null"]},"endTime":{"type":["string","null"],"format":"date-time"},"eventId":{"type":["string","null"]},"location":{"type":["string","null"]},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"organizerEmail":{"type":["string","null"]},"reminderDueTime":{"type":["string","null"]},"startTime":{"type":["string","null"],"format":"date-time"},"summary":{"type":["string","null"]},"updatedTime":{"type":["string","null"],"format":"date-time"}}},"OwnerContactDashboard":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"customerSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardHomeSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardHomeSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardBolcomSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardBolcomSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardCustomerSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardCustomerSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardInvoiceSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardInvoiceSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardPicklistSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardPicklistSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardProductSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardProductSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardProjectSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardProjectSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardProcurementSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardProcurementSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardQuoteSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardQuoteSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardTaskSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardTaskSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardTimesheetSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardTimesheetSort":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardStockSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"dashboardStockSort":{"type":["array","null"],"items":{"type":["string","null"]}},"homeSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"homeSort":{"type":["array","null"],"items":{"type":["string","null"]}},"ownerContactId":{"type":["string","null"]},"supplierSetting":{"type":["array","null"],"items":{"type":["string","null"]}},"supplierSort":{"type":["array","null"],"items":{"type":["string","null"]}}}},"OwnerContactMessageOfTheDay":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"countryCode":{"type":["string","null"]},"dateEnd":{"type":["string","null"],"format":"date-time"},"dateStart":{"type":["string","null"],"format":"date-time"},"isSeen":{"default":false,"type":"boolean"},"languageCode":{"type":["string","null"]},"message":{"type":["string","null"]},"ownerContactId":{"type":["string","null"]},"title":{"type":["string","null"]}}},"OwnerContactNotification":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"isRead":{"default":false,"type":"boolean"},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"notification":{"type":["string","null"]},"notificationText":{"type":["string","null"]},"notificationJson":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"notificationType":{"type":["string","null"]},"ownerContactId":{"type":["string","null"]}}},"OwnerContactSearchFilter":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"filter":{"type":["array","null"],"items":{"type":["string","null"]}},"name":{"type":["string","null"]},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"ownerContactId":{"type":["string","null"]}}},"OwnerContactSetting":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"addressOnOneLine":{"default":false,"type":"boolean"},"areYouSureDisabled":{"default":false,"type":"boolean"},"dateFormat":{"type":["string","null"]},"documentTableColumns":{"type":["array","null"],"items":{"type":["string","null"]}},"exportTableColumns":{"type":["array","null"],"items":{"type":["string","null"]}},"documentFilter":{"default":"document_number","type":["string","null"]},"headerMenu":{"type":["array","null"],"items":{"type":["string","null"]}},"isRegisterFinished":{"default":false,"type":"boolean"},"languageCode":{"type":["string","null"]},"ownerContactId":{"type":["string","null"]},"preferredCountry":{"type":["string","null"]},"preferredCurrency":{"type":["string","null"]},"preferredLanguage":{"type":["string","null"]},"preferredLedgerAccountCost":{"type":["string","null"]},"preferredLedgerAccountRevenue":{"type":["string","null"]},"preferredPricelistCurrency":{"type":["string","null"]},"preferredProductCategory":{"type":["string","null"]},"rowsPerTable":{"default":10,"type":["integer","null"]},"showStockQuantity":{"default":false,"type":"boolean"},"showTableTotals":{"default":false,"type":"boolean"},"sortAccountBy":{"default":"name ASC","type":["string","null"]},"sortDocumentBy":{"default":"dateDocument DESC","type":["string","null"]},"sortProductBy":{"default":"name ASC","type":["string","null"]},"startPage":{"default":"homepage","type":["string","null"]},"timeDisplay":{"default":"decimal","type":["string","null"]},"timeFormat":{"default":"12-hour-clock","type":["string","null"]},"timeZoneCode":{"type":["string","null"]},"timesheetView":{"default":"week","type":["string","null"]},"redirect_after_document_finalize":{"default":false,"type":"boolean"},"customer_portlet_sorting":{"type":["array","null"],"items":{"type":["string","null"]}},"customer_portlet_settings":{"type":["array","null"],"items":{"type":["string","null"]}},"invoiceDropdownMenu":{"type":["array","null"],"items":{"type":["string","null"]}},"autoSave":{"default":false,"type":"boolean"},"autoSaveInterval":{"default":120,"type":["integer","null"]},"listSettings":{"type":["array","null"],"items":{"type":["string","null"]}}}},"OwnerContactSettingMail":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accounting":{"default":true,"type":"boolean"},"announcements":{"default":true,"type":"boolean"},"deals":{"default":true,"type":"boolean"},"emailDelivered":{"default":true,"type":"boolean"},"emailOpened":{"default":true,"type":"boolean"},"general":{"default":true,"type":"boolean"},"invoiceDateExpired":{"default":true,"type":"boolean"},"invoiceExpired":{"default":true,"type":"boolean"},"invoices":{"default":true,"type":"boolean"},"newsUpdate":{"default":true,"type":"boolean"},"payments":{"default":true,"type":"boolean"},"payroll":{"default":true,"type":"boolean"},"personal":{"default":true,"type":"boolean"},"productMinimalStockWarning":{"default":true,"type":"boolean"},"products":{"default":true,"type":"boolean"},"projectBudgetLimitWarning":{"default":true,"type":"boolean"},"projectBudgetUpdateReport":{"default":true,"type":"boolean"},"projectDateExpired":{"default":true,"type":"boolean"},"projectDeadlineWarning":{"default":true,"type":"boolean"},"projectPlanningUpdateReport":{"default":true,"type":"boolean"},"projects":{"default":true,"type":"boolean"},"quoteDateExpired":{"default":true,"type":"boolean"},"quoteExpired":{"default":true,"type":"boolean"},"quotes":{"default":true,"type":"boolean"},"receipts":{"default":true,"type":"boolean"},"restored":{"default":true,"type":"boolean"},"timesheets":{"default":true,"type":"boolean"},"tipsTricks":{"default":true,"type":"boolean"},"weekly":{"default":true,"type":"boolean"}}},"OwnerContactSettingNotification":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"emailDelivered":{"default":true,"type":"boolean"},"emailOpened":{"default":true,"type":"boolean"},"invoiceExpiry":{"default":true,"type":"boolean"},"invoiceExpiryCalendar":{"default":false,"type":"boolean"},"invoiceExpiryDays":{"default":0,"type":["integer","null"]},"orderConfirmationDelivery":{"default":false,"type":"boolean"},"orderConfirmationDeliveryCalendar":{"default":false,"type":"boolean"},"orderConfirmationDeliveryDays":{"default":0,"type":["integer","null"]},"ownerContactId":{"type":["string","null"]},"packingNoteDelivery":{"default":false,"type":"boolean"},"packingNoteDeliveryCalendar":{"default":false,"type":"boolean"},"packingNoteDeliveryDays":{"default":0,"type":["integer","null"]},"paymentReminderExpiry":{"default":true,"type":"boolean"},"paymentReminderExpiryCalendar":{"default":false,"type":"boolean"},"paymentReminderExpiryDays":{"default":0,"type":["integer","null"]},"quoteExpiry":{"default":true,"type":"boolean"},"quoteExpiryCalendar":{"default":false,"type":"boolean"},"quoteExpiryDays":{"default":0,"type":["integer","null"]},"quotePreExpiry":{"default":true,"type":"boolean"},"quotePreExpiryCalendar":{"default":false,"type":"boolean"},"quotePreExpiryDays":{"default":0,"type":["integer","null"]}}},"OwnerContactStatistics":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"monthlyDocumentCount":{"default":0,"type":["integer","null"]},"ownerContactId":{"type":["string","null"]},"bankStatementCount":{"default":0,"type":["integer","null"]},"consignmentCount":{"default":0,"type":["integer","null"]},"creditNoteCount":{"default":0,"type":["integer","null"]},"customerCount":{"default":0,"type":["integer","null"]},"customerContactCount":{"default":0,"type":["integer","null"]},"invoiceCount":{"default":0,"type":["integer","null"]},"invoiceRecurringCount":{"default":0,"type":["integer","null"]},"orderConfirmationCount":{"default":0,"type":["integer","null"]},"packingNoteCount":{"default":0,"type":["integer","null"]},"paymentReminderCount":{"default":0,"type":["integer","null"]},"peppolInboundCount":{"default":0,"type":["integer","null"]},"peppolOutboundCount":{"default":0,"type":["integer","null"]},"proformaCount":{"default":0,"type":["integer","null"]},"productCount":{"default":0,"type":["integer","null"]},"productCategoryCount":{"default":0,"type":["integer","null"]},"productGroupCount":{"default":0,"type":["integer","null"]},"productPricelistCount":{"default":0,"type":["integer","null"]},"projectCount":{"default":0,"type":["integer","null"]},"projectTaskCount":{"default":0,"type":["integer","null"]},"projectTeamCount":{"default":0,"type":["integer","null"]},"projectTimesheetCount":{"default":0,"type":["integer","null"]},"purchaseCount":{"default":0,"type":["integer","null"]},"purchaseOrderCount":{"default":0,"type":["integer","null"]},"purchaseRecurringCount":{"default":0,"type":["integer","null"]},"quoteCount":{"default":0,"type":["integer","null"]},"supplierCount":{"default":0,"type":["integer","null"]},"supplierContactCount":{"default":0,"type":["integer","null"]}}},"OwnerDeliveryTerm":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"defaultId":{"type":["string","null"]},"defaultType":{"type":["string","null"]},"shipmentTermText":{"type":["string","null"]},"documentType":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"languageCode":{"type":["string","null"]},"name":{"type":["string","null"]},"showShipmentTermText":{"default":false,"type":"boolean"}},"required":["name"]},"OwnerDocumentDesign":{"type":"object","description":"The LAYOUT half of a document design: where things sit on the page and how they look.\nONE row per tenant, shared by every {@see OwnerDocumentDesignConfig} config row.\n\nIt is the ONLY home for layout, and layout is ONE JSON column: the `template` blob\n(`base` + `baseStyle` + `page` + `grid` + `perType` + page setup). Config rows delegate to it;\nthey hold no layout copy of their own.\n\n**Every block\u0027s content lives on its PLACEMENT** (`grid.placements[].content`) \u2014 including the\nlogo image and the custom image. There are no side-columns for block content: the `logo` and\n`custom_block_image` columns were exactly that and were dropped in A21, along with the\n`blocks` \/ `blocksOrder` \/ `blockholders` seeds (`BLOCK_STYLE`, `BLOCKS_ORDER`, `BLOCK_HOLDERS`)\nand the v2\u2192v5 converters that existed only to heal rows those seeds produced.\n\nSee docs\/knowledgebase\/domain\/document-design-data-model.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"isDefault":{"default":false,"type":["boolean","null"]},"isSystem":{"default":false,"type":["boolean","null"]},"name":{"type":["string","null"]},"language":{"type":["string","null"]},"baseline":{"type":["array","null"],"items":{"type":["string","null"]}},"template":{"type":["array","null"],"items":{"type":["string","null"]}}},"required":["name"]},"OwnerDocumentDesignConfig":{"type":"object","description":"The CONFIG half of a document design: what a document of this TYPE, in this LANGUAGE, shows.\nOne row per type \u00d7 language.\n\nIt owns NO layout. Where things sit and how they look lives on {@see OwnerDocumentDesign}\n(one shared row per tenant), reached through `design`. Every `getTemplate*()` \/ logo\naccessor here is pure delegation to it \u2014 deliberately, so there is exactly one source of truth.\nUntil 2026-08-03 this row carried its own `template` and `logo` copies and every getter was a\n`layout ?? own copy` fallback chain; the factory wrote both halves and the editor read one while\nwriting the other. See docs\/knowledgebase\/domain\/document-design-data-model.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"attachments":{"default":{"useDefault":false,"files":null,"attachments":[]},"type":["array","null"],"items":{"type":["string","null"]}},"documentColumns":{"default":{"useDefault":false,"showRowNumber":false,"showArticleCode":false,"showProductImage":false,"showProductNumber":false,"showBarCode":false,"showStockLocation":false,"showProductSupplierId":false,"showQuantity":true,"showQuantityColli":false,"showUnitId":false,"showDateProduct":false,"showUnitPrice":true,"showDiscount":false,"showTaxCodeId":true,"showAmountTax":false,"showAmountTotal":true,"showTotalRowQuantity":false},"type":["array","null"],"items":{"type":["string","null"]}},"document_type":{"default":"invoice","type":"string"},"documentSettings":{"default":{"useDefault":false,"showDocumentNumber":true,"showShipmentAddress":false,"showDateDocument":true,"showDateExpiration":true,"showTaxNumber":false,"showDocumentRelated":false,"showAccountId":true,"showAccountContact":false,"showDateDelivery":false,"showDiscountDocument":false,"showDiscountDocumentRow":false,"showAmountSubtotalAfterDiscount":false,"showPaymentDiscountPercentage":false,"showTotalTax":true,"showAmountDeposit":false,"showAmountSecurityDeposit":false,"showShippingAmount":false,"showTotalAmountExcludeTax":true,"showTotalAmountIncludeTax":true,"showLedgerAccountProfit":false},"type":["array","null"],"items":{"type":["string","null"]}},"isDefault":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"flexFields":{"default":{"useDefault":false},"type":["array","null"],"items":{"type":["string","null"]}},"language":{"type":["string","null"]},"name":{"type":["string","null"]},"texts":{"type":["array","null"],"items":{"type":["string","null"]}},"design":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}},"required":["document_type","name"]},"OwnerDocumentTerm":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"daysExpiry":{"default":14,"type":["integer","null"]},"defaultId":{"type":["string","null"]},"defaultType":{"type":["string","null"]},"documentTermText":{"type":["string","null"]},"documentType":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"languageCode":{"type":["string","null"]},"name":{"type":["string","null"]},"showDocumentTermText":{"default":false,"type":"boolean"}},"required":["name"]},"OwnerEmailDesign":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"themeId":{"type":["string","null"]},"designType":{"default":"design","type":["string","null"]},"editorContent":{"type":["array","null"],"items":{"type":["string","null"]}},"editorHtml":{"type":["string","null"]},"message":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"languageCode":{"type":["string","null"]}}},"OwnerEmailSender":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"senderFrom":{"type":["string","null"]},"senderName":{"type":["string","null"]},"senderReplyTo":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isConfirmed":{"default":false,"type":"boolean"},"confirmationCode":{"type":["string","null"]}}},"OwnerEmailServer":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"mailServerAuthMode":{"type":["string","null"]},"mailServerEncryption":{"type":["string","null"]},"mailServerHost":{"type":["string","null"]},"mailServerIsEnabled":{"default":false,"type":"boolean"},"mailServerPort":{"type":["string","null"]},"mailServerTransport":{"type":["string","null"]},"mailServerUsername":{"type":["string","null"]},"senderUseOwnAddress":{"default":false,"type":"boolean"},"senderUseMultipleSenders":{"default":false,"type":"boolean"},"mailServerProvider":{"default":"custom","type":["string","null"]}}},"OwnerEmailSetting":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"defaultId":{"type":["string","null"]},"defaultType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"languageCode":{"type":["string","null"]},"message":{"type":["string","null"]},"name":{"type":["string","null"]},"subject":{"type":["string","null"]},"emailTemplateDesign":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}},"required":["name"]},"OwnerLog":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"appDomain":{"type":["string","null"]},"event":{"type":["string","null"]},"logType":{"type":["string","null"]},"message":{"type":["string","null"]}}},"OwnerPaymentTerm":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"daysDiscount":{"type":["integer","null"]},"defaultId":{"type":["string","null"]},"defaultType":{"type":["string","null"]},"discount":{"default":0,"type":["integer","null"]},"discountText":{"type":["string","null"]},"documentType":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"languageCode":{"type":["string","null"]},"name":{"type":["string","null"]},"showDiscountText":{"default":false,"type":"boolean"},"discountType":{"default":0,"type":["integer","null"]}},"required":["name"]},"OwnerSalutation":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"isDisabled":{"default":false,"type":"boolean"},"salutation":{"type":["string","null"]}}},"OwnerSelectbox":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"defaultId":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isHidden":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"languageCode":{"type":"string"},"selectboxCode":{"type":"string"},"selectboxKey":{"type":"string"},"selectboxName":{"type":"string"},"selectboxSort":{"default":0,"type":["integer","null"]},"selectboxValue":{"type":"string"}}},"OwnerSequenceNumber":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"writeOnly":true,"type":["string","null"]},"defaultId":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"numberCurrent":{"default":0,"type":["integer","null"]},"numberStart":{"default":"001","type":["string","null"]},"resetPeriod":{"default":"none","type":["string","null"]},"sameAsRelatedDocument":{"default":false,"type":"boolean"},"isInvoiceNumberSameAsQuote":{"default":false,"type":"boolean"},"sequenceFormat":{"default":"[number]","type":["string","null"]},"sequenceType":{"type":["string","null"]},"sign":{"type":["string","null"]}},"required":["name"]},"OwnerSetting":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"addressOnOneLine":{"default":false,"type":"boolean"},"administrationEmail":{"type":["string","null"]},"administrationFrom":{"type":["string","null"]},"emailBccDocument":{"type":["array","null"],"items":{"type":["string","null"]}},"emailCcDocument":{"type":["array","null"],"items":{"type":["string","null"]}},"countryCode":{"type":["string","null"]},"currencyCode":{"type":["string","null"]},"hostingRegion":{"type":["string","null"]},"defaultPaymentMethod":{"default":"direct_bank_deposit","type":["string","null"]},"sessionTimeoutMinutes":{"default":10,"type":"integer"},"defaultId":{"type":["string","null"]},"documentDesignVersion":{"default":"v4","type":["string","null"]},"documentNamePdf":{"default":"[document] [account] ([number])","type":["string","null"]},"documentDateFormat":{"type":["string","null"]},"fileStorageDirectory":{"type":["string","null"]},"fiscalYearStart":{"type":["string","null"]},"impersonate":{"default":false,"type":"boolean"},"ledgerAccountScheme":{"default":"default","type":["string","null"]},"passwordExpiry":{"default":false,"type":"boolean"},"passwordExpiryDays":{"default":0,"type":["integer","null"]},"passwordStrengthRequired":{"type":["string","null"]},"priceDecimals":{"default":2,"type":["integer","null"]},"priceIncludedTax":{"default":false,"type":"boolean"},"calcLineDiscountScope":{"default":"perUnit","type":"string"},"calcTaxBasis":{"default":"auto","type":"string"},"calcShippingTaxable":{"default":false,"type":"boolean"},"calcDiscountBeforeTax":{"default":true,"type":"boolean"},"showReportsMenu":{"default":false,"type":"boolean"},"productToStore":{"default":false,"type":"boolean"},"registerFinished":{"default":false,"type":"boolean"},"registerFinishedDescription":{"default":{"companySettings":0,"companyApiGovernment":1,"companyDocumentDesign":0},"type":["array","null"],"items":{"type":["string","null"]}},"registrationReferral":{"type":["string","null"]},"sequenceManualModify":{"default":true,"type":"boolean"},"shipmentTracking":{"default":false,"type":"boolean"},"showLedgerAccountCodeNumber":{"default":false,"type":"boolean"},"showLedgerAccountZeroAmount":{"default":false,"type":"boolean"},"startWeekOn":{"default":"monday","type":["string","null"]},"stockDocumentTypes":{"default":["invoice"],"type":"array","items":{"type":["string","null"]}},"stockTracking":{"default":false,"type":"boolean"},"ublIsActive":{"default":false,"type":"boolean"},"ublProtocol":{"default":"ubl_bis_30","type":["string","null"]},"taxAuthority":{"type":["string","null"]},"taxPeriod":{"type":["string","null"]},"taxType":{"type":["string","null"]},"taxRegime":{"type":["string","null"]},"taxReverseIsEnabled":{"default":false,"type":"boolean"},"taxDecimals":{"default":0,"type":["integer","null"]},"documentDesignV2Notification":{"default":false,"type":"boolean"},"documentCopySettings":{"type":["array","null"],"items":{"type":["string","null"]}},"projectDefaultBudgetType":{"default":"total_project_hours","type":["string","null"]},"projectDefaultInvoiceMethod":{"default":"project_hour","type":["string","null"]},"projectDefaultTariffCost":{"type":["string","null"],"format":"decimal"},"projectDefaultTariffProfit":{"type":["string","null"],"format":"decimal"},"p2pPriceToleranceAbsolute":{"type":["string","null"],"format":"decimal"},"p2pPriceTolerancePercent":{"type":["string","null"],"format":"decimal"},"licenseType":{"type":["string","null"]}}},"OwnerStatistics":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"peppolCreditCount":{"default":0,"type":["integer","null"]},"bankStatementCount":{"default":0,"type":["integer","null"]},"consignmentCount":{"default":0,"type":["integer","null"]},"creditNoteCount":{"default":0,"type":["integer","null"]},"customerCount":{"default":0,"type":["integer","null"]},"customerContactCount":{"default":0,"type":["integer","null"]},"invoiceCount":{"default":0,"type":["integer","null"]},"invoiceRecurringCount":{"default":0,"type":["integer","null"]},"orderConfirmationCount":{"default":0,"type":["integer","null"]},"packingNoteCount":{"default":0,"type":["integer","null"]},"paymentReminderCount":{"default":0,"type":["integer","null"]},"peppolInboundCount":{"default":0,"type":["integer","null"]},"peppolOutboundCount":{"default":0,"type":["integer","null"]},"proformaCount":{"default":0,"type":["integer","null"]},"productCount":{"default":0,"type":["integer","null"]},"productCategoryCount":{"default":0,"type":["integer","null"]},"productGroupCount":{"default":0,"type":["integer","null"]},"productPricelistCount":{"default":0,"type":["integer","null"]},"projectCount":{"default":0,"type":["integer","null"]},"projectTaskCount":{"default":0,"type":["integer","null"]},"projectTeamCount":{"default":0,"type":["integer","null"]},"projectTimesheetCount":{"default":0,"type":["integer","null"]},"purchaseCount":{"default":0,"type":["integer","null"]},"purchaseOrderCount":{"default":0,"type":["integer","null"]},"purchaseRecurringCount":{"default":0,"type":["integer","null"]},"quoteCount":{"default":0,"type":["integer","null"]},"supplierCount":{"default":0,"type":["integer","null"]},"supplierContactCount":{"default":0,"type":["integer","null"]}}},"OwnerTask":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"label":{"type":["string","null"]},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"dateClosed":{"type":["string","null"],"format":"date-time"},"dateDue":{"type":["string","null"],"format":"date-time"},"dateStart":{"type":["string","null"],"format":"date-time"},"description":{"type":["string","null"]},"isNotified":{"default":false,"type":"boolean"},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"priority":{"type":["string","null"]},"reminderDueTime":{"type":["string","null"]},"status":{"type":["string","null"]},"subject":{"type":["string","null"]},"type":{"type":["string","null"]},"userAssignedId":{"type":["string","null"]},"userOwnerId":{"type":["string","null"]},"sendEmail":{"default":false,"type":"boolean"}}},"OwnerTaskComment":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"taskId":{"type":["string","null"]},"userId":{"type":["string","null"]},"description":{"type":["string","null"]}}},"OwnerTaskHistory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"taskId":{"type":["string","null"]},"userId":{"type":["string","null"]},"event":{"type":["string","null"]},"dateClosed":{"type":["string","null"],"format":"date-time"},"dateDue":{"type":["string","null"],"format":"date-time"},"dateStart":{"type":["string","null"],"format":"date-time"},"description":{"type":["string","null"]},"isNotified":{"default":false,"type":"boolean"},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"priority":{"type":["string","null"]},"reminderDueTime":{"type":["string","null"]},"status":{"type":["string","null"]},"subject":{"type":["string","null"]},"type":{"type":["string","null"]},"userAssignedId":{"type":["string","null"]},"userOwnerId":{"type":["string","null"]},"sendEmail":{"default":false,"type":"boolean"},"prev":{"type":["string","null"]},"new":{"type":["string","null"]}}},"OwnerUnit":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"colliItems":{"type":["string","null"],"format":"decimal"},"defaultId":{"type":["string","null"]},"example":{"type":["string","null"]},"isColli":{"default":false,"type":"boolean"},"isDefault":{"default":false,"type":"boolean"},"isShown":{"default":true,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"numberOfDecimals":{"default":0,"type":["integer","null"]},"quantity":{"type":["string","null"]},"quantitySystem":{"type":["string","null"]},"sort":{"type":["integer","null"]},"symbol":{"type":["string","null"]}}},"OwnerWorkflowStatus":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"defaultId":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isDisabled":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"status":{"type":["string","null"]},"type":{"type":["string","null"]},"typeCode":{"type":["integer","null"]}}},"PackingNote":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"PackingNoteAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PackingNoteDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PackingNoteHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"PackingNoteLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"quantityPicked":{"type":["string","null"],"format":"decimal"},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PayRun":{"type":"object","description":"One payroll period for the whole company \u2014 the container the payslips hang off.\n\n`period` is a `YYYY-MM` string rather than a date because that is what it means: a run belongs to a\nmonth, not to a day in it. Storing a date would invite timezone arithmetic on something that has no\ntime in it, which is how a run for March becomes a run for February in one timezone.\n\nThe two ids at the bottom are the audit trail. `journalId` is set when the run posts and is what\nstops a second posting of the same wage bill; `paymentJournalId` is set when the net pay actually\nleaves. Both stay null on a run that graceful-skipped for want of ledger accounts, which is a state\nthe screens have to be able to tell apart from \u0022not posted yet\u0022.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"period":{"type":["string","null"]},"name":{"type":["string","null"]},"status":{"default":"draft","type":"string"},"payDate":{"type":["string","null"],"format":"date-time"},"currency":{"type":["string","null"]},"totalGross":{"type":"string","format":"decimal"},"totalDeductions":{"type":"string","format":"decimal"},"totalNet":{"type":"string","format":"decimal"},"totalEmployerCost":{"type":"string","format":"decimal"},"employeeCount":{"default":0,"type":"integer"},"calculatedOn":{"type":["string","null"],"format":"date-time"},"approvedOn":{"type":["string","null"],"format":"date-time"},"approverEmployeeId":{"type":["string","null"]},"postedOn":{"type":["string","null"],"format":"date-time"},"paidOn":{"type":["string","null"],"format":"date-time"},"journalId":{"type":["string","null"]},"paymentJournalId":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"note":{"type":["string","null"]}}},"PaymentAllocation":{"type":"object","description":"Allocation of a single payment to a single document (invoice or purchase).\n\nThe allocation layer decouples \u0022a payment was received\u0022 from \u0022which invoices it settled\u0022,\nso one payment can be split across many documents and a document\u0027s balance is derived as\n`amount \u2212 \u03a3 allocations` rather than stored as a flag. See docs\/plans\/payment-reconciliation.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"paymentId":{"description":"The payment this allocation draws from.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"documentId":{"description":"The document (invoice or purchase) this allocation settles.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"documentType":{"enum":["invoice","purchase"],"description":"The document type: invoice or purchase.","example":"invoice","type":"string"},"amount":{"type":"number","format":"float","example":"123.45"}},"required":["paymentId","documentId","amount"]},"PaymentReminder":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"paymentReminderId":{"type":["string","null"]},"paymentReminderDaysExpiry":{"type":["integer","null"]},"paymentReminderFee":{"type":["string","null"],"format":"decimal"},"paymentReminderName":{"type":["string","null"]},"paymentReminderInterestRate":{"type":["string","null"],"format":"decimal"},"paymentReminderType":{"type":["integer","null"]},"paymentReminderDaysSendAfterExpire":{"type":["integer","null"]},"paymentReminderTextHeader":{"type":["string","null"]},"paymentReminderTextFooter":{"type":["string","null"]},"paymentReminderTaxPercentage":{"type":["string","null"],"format":"decimal"},"paymentReminderInvoiceSubTotal":{"type":["string","null"],"format":"decimal"},"paymentReminderInvoiceTaxAmount":{"type":["string","null"],"format":"decimal"},"paymentReminderGrossTotal":{"type":["string","null"],"format":"decimal"},"paymentReminderPaidPayment":{"type":["string","null"],"format":"decimal"},"paymentReminderUnpaidPayment":{"type":["string","null"],"format":"decimal"},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"PaymentReminderAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PaymentReminderDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PaymentReminderEventHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"PaymentReminderLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PayrollComponent":{"type":"object","description":"One named line that can appear on a payslip \u2014 a bonus, a pension deduction, employer social\nsecurity.\n\nThese are the tenant\u0027s own configuration, which is the whole shape of the P4 engine: there is no\nbuilt-in statutory table, and this product does not pretend to know any country\u0027s withholding\nrates. A tenant states its components and their rates, and payroll applies them consistently.\nReal statutory packs are P5 \u2014 see {@see \\App\\Service\\Hrm\\PayrollTaxProviderInterface}.\n\n`isTaxable` only means something on an EARNING: it says whether the amount joins the base that\npercent-based deductions are computed from. A non-taxable earning (a mileage reimbursement) still\nraises net pay but not the tax base.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"code":{"type":["string","null"]},"type":{"default":"earning","type":"string"},"calcMethod":{"default":"fixed","type":"string"},"rate":{"type":"string","format":"decimal"},"formula":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"isTaxable":{"default":true,"type":"boolean"},"isAutomatic":{"default":false,"type":"boolean"},"isProrated":{"default":false,"type":"boolean"},"sortOrder":{"default":0,"type":"integer"},"isActive":{"default":true,"type":"boolean"}}},"Payslip":{"type":"object","description":"One employee\u0027s pay for one run.\n\nThe totals are stored rather than summed from the lines on read, for the same reason a document\nstores its total: a run of 200 people would otherwise load several thousand lines to draw a list.\n{@see \\App\\Service\\Hrm\\PayrollService} is the only writer, and it writes lines and totals together.\n\n**`employerCost` is not part of `netPay` and never nets against it.** It is what the company pays on\ntop of the salary, so it belongs to the run\u0027s cost but never to the employee\u0027s bank transfer.\nAdding it into net pay is the classic payroll bug \u2014 it inflates every transfer by the employer\u0027s\nown social-security bill.\n\nThe contract terms are copied onto the slip at calculation. A slip has to keep explaining itself\nafter the contract behind it is superseded by a raise, and pointing at a mutable row would mean\nlast year\u0027s payslip silently restating itself at this year\u0027s salary.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"payRunId":{"type":["string","null"]},"employeeId":{"type":["string","null"]},"employmentContractId":{"type":["string","null"]},"period":{"type":["string","null"]},"grossPay":{"type":"string","format":"decimal"},"taxableGross":{"type":"string","format":"decimal"},"totalDeductions":{"type":"string","format":"decimal"},"netPay":{"type":"string","format":"decimal"},"employerCost":{"type":"string","format":"decimal"},"baseSalaryForPeriod":{"type":"string","format":"decimal"},"proratedDays":{"default":0,"type":"integer"},"periodDays":{"default":0,"type":"integer"},"currency":{"type":["string","null"]},"costCenterId":{"type":["string","null"]},"departmentId":{"type":["string","null"]},"note":{"type":["string","null"]}}},"PayslipLine":{"type":"object","description":"One line on a payslip \u2014 the base salary, a bonus, a tax withheld, an employer contribution.\n\n`amount` is ALWAYS POSITIVE. The sign is carried by `type`, and reading it any other way is how a\ndeduction ends up added. That is deliberate rather than incidental: a signed column invites callers\nto sum the whole slip and trust the answer, which silently nets employer costs (which belong to\nneither gross nor net) into the employee\u0027s take-home.\n\nThe component\u0027s name, rate and account are COPIED here at calculation, not referenced. A payslip is\na statement of what was paid, and it must keep saying so after the component behind it is renamed,\nre-rated or switched off. `payrollComponentId` remains for tracing, but nothing on this row is\nre-read through it.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"payslipId":{"type":["string","null"]},"payrollComponentId":{"type":["string","null"]},"description":{"type":["string","null"]},"type":{"default":"earning","type":"string"},"amount":{"type":"string","format":"decimal"},"appliedRate":{"type":["string","null"],"format":"decimal"},"calculationBase":{"type":["string","null"],"format":"decimal"},"ledgerAccountId":{"type":["string","null"]},"sortOrder":{"default":0,"type":"integer"}}},"Pipeline":{"type":"object","description":"A sales pipeline \u2014 an ordered set of {@see PipelineStage}s that opportunities move through.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"}}},"PipelineStage":{"type":"object","description":"A column of a {@see Pipeline}. `probabilityPct` seeds an opportunity\u0027s win probability when it lands here;\n`isWon`\/`isLost` mark the closing stages.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"pipelineId":{"type":["string","null"]},"name":{"type":["string","null"]},"sequence":{"default":0,"type":"integer"},"probabilityPct":{"default":0,"type":"integer"},"isWon":{"default":false,"type":"boolean"},"isLost":{"default":false,"type":"boolean"}}},"Product":{"type":"object","description":"A product, as the PUBLIC API presents it.\n\n45 of the entity\u0027s 103 properties. The classification, field by field with the reasoning, is in\ndocs\/knowledgebase\/plans\/public-api-v1-field-allowlist.md \u2014 this docblock records only the choices a\nreader would otherwise have to reverse-engineer.\n\nREAD-ONLY FOR NOW. Writes come next; publishing reads first is deliberate, because a wrong read is a\ndisclosure we can withdraw only with a major version, while a missing write is an inconvenience.\n\nCOST AND SUPPLY CHAIN ARE NOT PUBLISHED, and that is now a decision rather than a pause (G28,\nowner, 2026-08-08). `purchasePrice`, `profitMargin` and the five `supplier*` fields stay out of v1.\n\nThe draft plan proposed publishing them behind a distinct `products:cost` scope, on the grounds that\n\u0022scopes already exist, so splitting is cheap\u0022. **Checking that against the code is what settled it:\nscopes here are not free-form strings.** An API key stores `MODULE.ACTION` pairs drawn from\n{@see \\App\\Security\\SecurityRoles::getResourcePermissions()}, and `PRODUCT` declares\nVIEW\/CREATE\/MODIFY\/DELETE\/ACTIVE \u2014 there is no COST and no way to invent one that is API-only. A\nsplit would mean adding a real permission to the product: matrix UI, role presets, a grant decision\nfor every existing role, and BFF enforcement too, or the same permission would mean different things\nin the two places. That is the LARGEST option here, not the cheapest.\n\nSo the cheap, reversible direction is the one that was already true: publish neither. Adding a field\nlater is not a breaking change; removing one needs a major version and a deprecation window. When a\ncustomer actually needs cost through the API, it arrives as a real `PRODUCT.COST` permission, shaped\nby that integration rather than guessed at now.\n\nSTILL HELD BACK, deliberately:\n\n - `image` and `attachments` \u2014 deferred to v1.1 (G28, 2026-08-08). Binary and URL handling is its own\n   design problem (storage paths? signed URLs? a separate upload endpoint?) and a path shape\n   published badly is expensive to withdraw.\n\nEXCLUDED OUTRIGHT: `discount` (checked against live data \u2014 not one product has a non-zero value, so\npublishing it would promise a feature that does not exist); `stockWorkflowStatus` (free text, 81 588\nrows blank and the rest hand-typed in mixed languages); `isExecuteTrigger*` (both columns are GONE as of\n2026-08-20 \u2014 they gated database triggers that no longer exist, deleted with the price-list fan-out\nin G49 and the product-group refresh in G85); `hasTranslation` \/ `concatTranslation*`\n(denormalised search helpers, i.e. a promise about our indexing); plus the usual tenancy, audit and\nETL columns.\n\nMONEY IS PUBLISHED AS A DECIMAL STRING, unrounded. A JSON number is a float to most parsers, so\npublishing one invites the client to round a price we stored exactly.\n\nIt is NOT formatted to `salePriceDecimals`. That is a display setting, and applying it here would be\nboth a category error and lossy \u2014 15 live products have it set to 0, where 12.50 would publish as\n\u002213\u0022. **This API returns the customer\u0027s data; deciding how to render it is the customer\u0027s business.**\nPresentation and rounding rules belong to the internal BFF, which owns the app\u0027s behaviour.\n`salePriceDecimals` is published as information, not applied.","properties":{"id":{"readOnly":true,"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"]},"updatedAt":{"readOnly":true,"type":["string","null"]},"name":{"type":["string","null"]},"description":{"type":["string","null"]},"productNumber":{"type":["string","null"]},"articleCode":{"type":["string","null"]},"ean":{"type":["string","null"]},"upcCode":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"brand":{"type":["string","null"]},"model":{"type":["string","null"]},"type":{"type":["string","null"]},"version":{"type":["string","null"]},"remark":{"type":["string","null"]},"infoUrl":{"type":["string","null"]},"serialNumber":{"type":["string","null"]},"labels":{"type":["string","null"]},"tags":{"type":"array","items":{"type":["string","null"]}},"categoryId":{"type":["string","null"]},"unitId":{"type":["string","null"]},"status":{"type":["string","null"]},"isInactive":{"type":["boolean","null"]},"isSaleItem":{"type":["boolean","null"]},"isPurchaseItem":{"type":["boolean","null"]},"isStockItem":{"type":["boolean","null"]},"isCatalogItem":{"type":["boolean","null"]},"isWebShop":{"type":["boolean","null"]},"isFeaturedProduct":{"type":["boolean","null"]},"stockProductType":{"type":["string","null"]},"validFrom":{"type":["string","null"]},"validTo":{"type":["string","null"]},"salePrice":{"type":["string","null"]},"saleRrpPrice":{"type":["string","null"]},"salePriceIncludesTax":{"type":["boolean","null"]},"salePriceDecimals":{"type":["integer","null"]},"saleTaxCode":{"type":["string","null"]},"saleTaxStatus":{"type":["string","null"]},"isSaleIndividual":{"type":["boolean","null"]},"isShippingRequired":{"type":["boolean","null"]},"isShippingTaxable":{"type":["boolean","null"]},"saleLedgerAccountCode":{"type":["string","null"]},"purchaseLedgerAccountCode":{"type":["string","null"]},"stockLedgerAccountCode":{"type":["string","null"]},"cogsLedgerAccountCode":{"type":["string","null"]},"stockQuantity":{"type":["number","null"]},"stockMinimalQuantity":{"type":["number","null"]},"stockLocation":{"type":["string","null"]},"quantityDefault":{"type":["number","null"]},"quantityBackorder":{"type":["number","null"]},"stockDescription":{"type":["string","null"]},"stockDocumentTypes":{"type":"array","items":{"type":["string","null"]}},"color":{"type":["string","null"]},"diameter":{"type":["string","null"]},"depth":{"type":["string","null"]},"height":{"type":["string","null"]},"length":{"type":["string","null"]},"opening":{"type":["string","null"]},"width":{"type":["string","null"]},"volume":{"type":["string","null"]},"weight":{"type":["string","null"]}}},"Product.jsonMergePatch":{"type":"object","description":"A product, as the PUBLIC API presents it.\n\n45 of the entity\u0027s 103 properties. The classification, field by field with the reasoning, is in\ndocs\/knowledgebase\/plans\/public-api-v1-field-allowlist.md \u2014 this docblock records only the choices a\nreader would otherwise have to reverse-engineer.\n\nREAD-ONLY FOR NOW. Writes come next; publishing reads first is deliberate, because a wrong read is a\ndisclosure we can withdraw only with a major version, while a missing write is an inconvenience.\n\nCOST AND SUPPLY CHAIN ARE NOT PUBLISHED, and that is now a decision rather than a pause (G28,\nowner, 2026-08-08). `purchasePrice`, `profitMargin` and the five `supplier*` fields stay out of v1.\n\nThe draft plan proposed publishing them behind a distinct `products:cost` scope, on the grounds that\n\u0022scopes already exist, so splitting is cheap\u0022. **Checking that against the code is what settled it:\nscopes here are not free-form strings.** An API key stores `MODULE.ACTION` pairs drawn from\n{@see \\App\\Security\\SecurityRoles::getResourcePermissions()}, and `PRODUCT` declares\nVIEW\/CREATE\/MODIFY\/DELETE\/ACTIVE \u2014 there is no COST and no way to invent one that is API-only. A\nsplit would mean adding a real permission to the product: matrix UI, role presets, a grant decision\nfor every existing role, and BFF enforcement too, or the same permission would mean different things\nin the two places. That is the LARGEST option here, not the cheapest.\n\nSo the cheap, reversible direction is the one that was already true: publish neither. Adding a field\nlater is not a breaking change; removing one needs a major version and a deprecation window. When a\ncustomer actually needs cost through the API, it arrives as a real `PRODUCT.COST` permission, shaped\nby that integration rather than guessed at now.\n\nSTILL HELD BACK, deliberately:\n\n - `image` and `attachments` \u2014 deferred to v1.1 (G28, 2026-08-08). Binary and URL handling is its own\n   design problem (storage paths? signed URLs? a separate upload endpoint?) and a path shape\n   published badly is expensive to withdraw.\n\nEXCLUDED OUTRIGHT: `discount` (checked against live data \u2014 not one product has a non-zero value, so\npublishing it would promise a feature that does not exist); `stockWorkflowStatus` (free text, 81 588\nrows blank and the rest hand-typed in mixed languages); `isExecuteTrigger*` (both columns are GONE as of\n2026-08-20 \u2014 they gated database triggers that no longer exist, deleted with the price-list fan-out\nin G49 and the product-group refresh in G85); `hasTranslation` \/ `concatTranslation*`\n(denormalised search helpers, i.e. a promise about our indexing); plus the usual tenancy, audit and\nETL columns.\n\nMONEY IS PUBLISHED AS A DECIMAL STRING, unrounded. A JSON number is a float to most parsers, so\npublishing one invites the client to round a price we stored exactly.\n\nIt is NOT formatted to `salePriceDecimals`. That is a display setting, and applying it here would be\nboth a category error and lossy \u2014 15 live products have it set to 0, where 12.50 would publish as\n\u002213\u0022. **This API returns the customer\u0027s data; deciding how to render it is the customer\u0027s business.**\nPresentation and rounding rules belong to the internal BFF, which owns the app\u0027s behaviour.\n`salePriceDecimals` is published as information, not applied.","properties":{"id":{"readOnly":true,"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"]},"updatedAt":{"readOnly":true,"type":["string","null"]},"name":{"type":["string","null"]},"description":{"type":["string","null"]},"productNumber":{"type":["string","null"]},"articleCode":{"type":["string","null"]},"ean":{"type":["string","null"]},"upcCode":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"brand":{"type":["string","null"]},"model":{"type":["string","null"]},"type":{"type":["string","null"]},"version":{"type":["string","null"]},"remark":{"type":["string","null"]},"infoUrl":{"type":["string","null"]},"serialNumber":{"type":["string","null"]},"labels":{"type":["string","null"]},"tags":{"type":"array","items":{"type":["string","null"]}},"categoryId":{"type":["string","null"]},"unitId":{"type":["string","null"]},"status":{"type":["string","null"]},"isInactive":{"type":["boolean","null"]},"isSaleItem":{"type":["boolean","null"]},"isPurchaseItem":{"type":["boolean","null"]},"isStockItem":{"type":["boolean","null"]},"isCatalogItem":{"type":["boolean","null"]},"isWebShop":{"type":["boolean","null"]},"isFeaturedProduct":{"type":["boolean","null"]},"stockProductType":{"type":["string","null"]},"validFrom":{"type":["string","null"]},"validTo":{"type":["string","null"]},"salePrice":{"type":["string","null"]},"saleRrpPrice":{"type":["string","null"]},"salePriceIncludesTax":{"type":["boolean","null"]},"salePriceDecimals":{"type":["integer","null"]},"saleTaxCode":{"type":["string","null"]},"saleTaxStatus":{"type":["string","null"]},"isSaleIndividual":{"type":["boolean","null"]},"isShippingRequired":{"type":["boolean","null"]},"isShippingTaxable":{"type":["boolean","null"]},"saleLedgerAccountCode":{"type":["string","null"]},"purchaseLedgerAccountCode":{"type":["string","null"]},"stockLedgerAccountCode":{"type":["string","null"]},"cogsLedgerAccountCode":{"type":["string","null"]},"stockQuantity":{"type":["number","null"]},"stockMinimalQuantity":{"type":["number","null"]},"stockLocation":{"type":["string","null"]},"quantityDefault":{"type":["number","null"]},"quantityBackorder":{"type":["number","null"]},"stockDescription":{"type":["string","null"]},"stockDocumentTypes":{"type":"array","items":{"type":["string","null"]}},"color":{"type":["string","null"]},"diameter":{"type":["string","null"]},"depth":{"type":["string","null"]},"height":{"type":["string","null"]},"length":{"type":["string","null"]},"opening":{"type":["string","null"]},"width":{"type":["string","null"]},"volume":{"type":["string","null"]},"weight":{"type":["string","null"]}}},"ProductCatalog":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"description":{"type":["string","null"]}}},"ProductCatalogLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"catalogId":{"type":"string"},"productId":{"type":"string"}}},"ProductCategory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"code":{"type":["string","null"]},"defaultId":{"type":["string","null"]},"description":{"type":["string","null"]},"ledgerAccountCostId":{"type":["string","null"]},"ledgerAccountProfitId":{"type":["string","null"]},"ledgerAccountStockId":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["code","name"]},"ProductGroup":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"useMargin":{"description":"Use margin calculation or the product group.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"validFromDate":{"writeOnly":true,"description":"The valid from date of the product group.","example":"2023-01-01","type":"string","format":"date"},"validToDate":{"description":"The valid to date of the product group.","example":"2023-12-31","type":"string","format":"date"},"articleCode":{"description":"The article code for the product group.","example":"A123","type":"string"},"columns":{"description":"The columns to be displayed for the product group.","default":{"showArticleCode":false,"showDiscount":true,"showAmountTotal":true,"showProductName":true,"showProductNumber":true,"showProductNumberSupplier":false,"showQuantity":true,"showSalePrice":true,"showStockQuantity":false,"showUnitId":false,"showTaxAmount":false,"showTaxCodeId":true},"example":{"showArticleCode":false,"showDiscount":true,"showAmountTotal":true,"showProductName":true,"showProductNumber":false,"showProductNumberSupplier":false,"showQuantity":true,"showSalePrice":true,"showStockQuantity":false,"showUnitId":false,"showTaxAmount":false,"showTaxId":true},"type":"object"},"description":{"description":"The description of the product group.","example":"This is a sample product group description.","type":"string"},"isImploded":{"description":"Indicates if the product group is imploded on the document lines.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"manuallyAccountNumber":{"default":false,"type":"boolean"},"name":{"description":"The name of the product group.","example":"Sample Product Group","type":"string"},"amountSubtotal":{"type":"number","format":"float","example":"450.00"},"amountIncludingTax":{"type":"number","format":"float","example":"450.00"},"amountIsIncludingTax":{"description":"Indicates if the price is included sales tax\/vat.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"productGroupNumber":{"description":"The product group number for the product group.","example":"PG123","type":"string"},"sequenceId":{"description":"The sequence ID of the product group.","example":"12345678-1234-5678-1234-567812345678","format":"uuid","type":"string"},"amountTax":{"type":"number","format":"float","example":"450.00"}},"required":["name","productGroupNumber"]},"ProductGroupLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"articleCode":{"description":"The article code for the product group.","example":"123456789","type":"string"},"discount":{"type":"number","format":"float","example":"44.50"},"discountType":{"description":"The discount type for the product group line.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"extraText":{"description":"The extra text for the product group line.","example":"This is an extra text","type":"string"},"amountIsIncludingTax":{"description":"The price is included sales tax\/vat for the product group line.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"productGroupId":{"description":"The product group line ID.","example":"12345678-3412-6587-1234-567812345678","format":"uuid","type":"string"},"productId":{"description":"The product ID.","example":"56781234-3412-6587-1234-567812345678","format":"uuid","type":"string"},"productName":{"description":"The product name for the product group line.","example":"Product Name","type":"string"},"productNumber":{"description":"The product number for the product group line.","example":"123456789","type":"string"},"purchasePrice":{"type":"number","format":"float","example":"44.50"},"quantity":{"type":"number","format":"float","example":"44.50"},"quantityBackorder":{"type":"number","format":"float","example":"44.50"},"quantityStock":{"type":"number","format":"float","example":"44.50"},"salePrice":{"type":"number","format":"float","example":"44.50"},"supplierProductNumber":{"description":"The supplier product number for the product group line.","example":"123456789","type":"string"},"unitId":{"description":"The unit ID for the product group line.","example":"23567814-6587-3412-1234-567812345678","format":"uuid","type":"string"},"taxAmount":{"type":"number","format":"float","example":"44.50"},"taxCodeId":{"description":"The sales tax\/vat id for the product group line.","example":"78123564-6587-3412-1234-812345675678","format":"uuid","type":"string"}},"required":["productName","productNumber","salePrice","taxAmount"]},"ProductHistory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"articleCode":{"description":"The article code for the product.","example":"BIS-03","type":"string"},"hsnCode":{"type":["string","null"]},"attachments":{"type":["array","null"],"items":{"type":["string","null"]}},"brand":{"description":"The brand for the product.","example":"Whole Foods","type":"string"},"categoryId":{"description":"The category id for the product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"dimensionColor":{"description":"The product dimension color.","example":"blue","type":"string"},"dimensionDiameter":{"description":"The product dimension diameter.","example":"1.00","type":"string"},"dimensionDepth":{"description":"The product dimension depth.","example":"1.00","type":"string"},"dimensionHeight":{"description":"The product dimension height.","example":"1.00","type":"string"},"dimensionLength":{"description":"The product dimension length.","example":"1.00","type":"string"},"dimensionOpening":{"description":"The product dimension opening.","example":"1.00","type":"string"},"dimensionVolume":{"description":"The product dimension volume.","example":"1.00","type":"string"},"dimensionWeight":{"description":"The product dimension weight.","example":"1.00","type":"string"},"dimensionWidth":{"description":"The product dimension width.","example":"1.00","type":"string"},"description":{"description":"The product description.","example":"Pencil, black lead core (3mm core)","type":"string"},"discount":{"type":"number","format":"float","example":"44.50"},"ean":{"description":"The ean code for the product.","example":"0799439112766","type":"string"},"image":{"type":["string","null"]},"imageSize":{"default":"small","type":["string","null"]},"infoUrl":{"description":"The info url for the product.","example":"https:\/\/www.example.com\/product123.htm.","format":"uri","type":"string"},"isCatalogItem":{"description":"Product is a catalog product. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"isInactive":{"description":"Indicates that this product is inactive. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"isInSelectboxList":{"description":"Indicates that this product should be in select box lists. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"1","type":"boolean"},"isPurchaseItem":{"description":"Product is a purchase product.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"isSaleIndividual":{"description":"Defines if the product is a Sold individual. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"0","type":"boolean"},"isSaleItem":{"description":"Defines if the product is a sale product. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"1","type":"boolean"},"isShippingRequired":{"description":"Information about whether the product is shipping required. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"isShippingTaxable":{"description":"Defines if the shipping costs are taxable. 1 is a yes and 0 is a no.","default":true,"enum":["0","1"],"example":"1","type":"boolean"},"isStockItem":{"description":"Defines if a product is a stock item. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"labels":{"description":"The labels for the product.","example":"calories","type":"string"},"manuallyAccountNumber":{"default":false,"type":"boolean"},"model":{"description":"The model for the product.","example":"Carrera GT","type":"string"},"name":{"description":"The name for the product.","example":"Pro license 1 year","type":"string"},"productNumber":{"description":"The product number for the product.","example":"AI2025101","type":"string"},"profitMargin":{"type":"number","format":"float","example":"30.00"},"purchaseLedgerAccountCode":{"type":["string","null"]},"purchaseLedgerAccountId":{"description":"The ledger account id for the purchase product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"purchasePrice":{"type":"number","format":"float","example":"122944.50"},"purchasePriceDecimals":{"description":"Number of decimal places that can be used in monetary amounts for the purchase product.","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"purchasePriceIsIncludingTax":{"description":"The purchase price is included sales tax\/vat. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"purchaseTaxCode":{"description":"The vat code of the purchase product.","example":"Sales High","type":"string"},"purchaseTaxId":{"description":"The sales tax\/vat id of the purchase product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"quantityDefault":{"type":"number","format":"float","example":"2.5"},"quantityBackorder":{"type":"number","format":"float","example":"1"},"remark":{"description":"The Remark for the product.","example":"extended","type":"string"},"saleLedgerAccountCode":{"description":"The sale ledger account code for the product.","example":"80310000","type":"string"},"saleLedgerAccountId":{"description":"The ledger account id for the sell product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"salePrice":{"type":"number","format":"float","example":"1944.50"},"saleRrpPrice":{"type":"number","format":"float","example":"1944.50"},"salePriceDecimals":{"description":"Number of decimal places that can be used in monetary amounts for the sale product.","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"salePriceIsIncludingTax":{"description":"The sell price is included VAT. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"saleTaxCode":{"description":"The sales tax\/vat code of the sell product.","example":"Vat High","type":"string"},"saleTaxStatus":{"description":"The product Vat status.","example":"Open","type":"string"},"sequenceId":{"description":"The sequence id used for this product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"serialNumber":{"description":"The serial number for the product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","type":"string"},"status":{"description":"The product status.","example":"Open","type":"string"},"stockDescription":{"description":"The stock description for the product.","example":"inventory counted","type":"string"},"stockDocumentTypes":{"description":"Finalized document types to recalculate the stock position.","default":["invoice"],"enum":["invoice","quote","proforma","packing_note","order_confirmation"],"example":"invoice","type":"string"},"stockLedgerAccountCode":{"description":"The stock ledger account Code for the product.","example":"70000000","type":"string"},"stockLedgerAccountId":{"description":"The ledger account id for the stock product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"stockLocation":{"description":"The stock location for the product.","example":"Warehouse New York","type":"string"},"stockMinimalQuantity":{"type":"number","format":"integer","example":"5"},"stockProductType":{"type":["string","null"]},"stockQuantity":{"type":"number","format":"integer","example":"100"},"stockWorkflowStatus":{"description":"The product workflow status.","example":"on hold","type":"string"},"supplierId":{"description":"The supplier id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"supplierName":{"type":["string","null"]},"supplierProductName":{"description":"The product number for the product.","example":"AI2025101","type":"string"},"supplierProductNumber":{"description":"The product number from supplier.","example":"2344893AI","type":"string"},"supplierUrl":{"description":"The supplier url for the product.","example":"https:\/\/www.example.com\/product123.htm.","format":"uri","type":"string"},"type":{"description":"TThe product type.","example":"Ink cartridges","type":"string"},"unitId":{"description":"The unit id for the product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"upcCode":{"description":"The product ups code","example":"EP","type":"string"},"validFromDate":{"description":"Date from which this product is valid.","example":"2025-07-21","format":"date","type":"string"},"validToDate":{"description":"ate to which this product is valid.","example":"2025-07-21","format":"date","type":"string"},"version":{"description":"The product version.","example":"1.1","type":"string"},"isWebShop":{"description":"Defines if a product is shown in connected web stores. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"1","type":"boolean"},"hasTranslation":{"description":"Indicates if a product has name and description translations. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"concatTranslation":{"description":"Concat the product name and the translated product name. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"concatTranslationInline":{"description":"Concat the product name and description. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"cogsLedgerAccountCode":{"type":["string","null"]},"cogsLedgerAccountId":{"description":"The ledger account id for the COGS (cost of goods sold) product.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"isFeaturedProduct":{"description":"Indicates if a product is a featured product, shown in the top of the lists. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"orgId":{"type":"string"}},"required":["name","productNumber","salePrice","saleRrpPrice"]},"ProductPriceList":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"columns":{"description":"The columns that should be shown in the product price list.","default":{"showTaxAmount":false,"showArticleCode":false,"showDefaultPrice":true,"showDiscount":true,"showAmountTotal":false,"showProductName":true,"showProductNumber":false,"showProductNumberSupplier":false,"showQuantity":false,"showSalePrice":true,"showUnitId":false,"showTaxId":false},"example":{"showTaxAmount":false,"showArticleCode":false,"showDefaultPrice":true,"showDiscount":true,"showAmountTotal":false,"showProductName":true,"showProductNumber":false,"showProductNumberSupplier":false,"showQuantity":false,"showSalePrice":true,"showUnitId":false,"showTaxId":false},"type":"object"},"accountId":{"description":"The account ID of the product price list.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"currency":{"description":"The currency of the product price list.","example":"USD","type":"string"},"dateEnd":{"description":"The end date of the product price list.","example":"2023-12-31T23:59:59Z","format":"date-time","type":"string"},"dateStart":{"description":"The start date of the product price list.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},"defaultId":{"description":"The default ID of the product price list.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"description":{"description":"The description of the product price list.","example":"This is a sample product price list.","type":"string"},"discount":{"type":"number","format":"float","example":10.5},"discountType":{"description":"The type of discount (percentage or fixed amount).","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"isActive":{"description":"The product price list is active or not.","default":true,"enum":["0","1"],"example":"0","type":"boolean"},"isDefault":{"description":"The product price list is the default one or not.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"name":{"description":"The name of the product price list.","example":"Sample Product Price List","type":"string"},"priceListOrder":{"description":"The order of the product price list.","default":0,"example":1,"type":"integer"},"productCategoryId":{"description":"The product category ID of the product price list.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"showAlways":{"default":false,"type":"boolean"}},"required":["name"]},"ProductPriceListLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"discount":{"type":"number","format":"float","example":"44.50"},"discountType":{"description":"The discount type for the product price list line.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"isDefault":{"description":"The default value for the product price list line.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"price":{"type":"number","format":"float","example":"44.50"},"amountIsIncludingTax":{"description":"The price is included sales tax\/vat for the product price list line.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"productId":{"description":"The product ID for the product price list line.","example":"e0c8f3b2-4d5a-4f1b-9c6d-7e8f9a0b1c2d","format":"uuid","type":"string"},"priceListId":{"description":"The price book ID for the product price list line.","example":"e0c8f3b2-4d5a-4f1b-9c6d-7e8f9a0b1c2d","format":"uuid","type":"string"},"amountTax":{"type":"number","format":"float","example":"44.50"}},"required":["amountTax"]},"ProductStockLevel":{"type":"object","description":"Denormalised per-location running balance \u2014 the queryable \u0022on hand here\u0022. Maintained exclusively by\n{@see \\App\\Service\\Inventory\\WarehouseStockService::applyMutation()}; never written directly elsewhere.\n\nLogical unique key: (owner_id, product_id, warehouse_id, location_id).","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"productId":{"type":["string","null"]},"warehouseId":{"type":["string","null"]},"locationId":{"type":["string","null"]},"quantity":{"type":"string","format":"decimal"},"reservedQuantity":{"type":"string","format":"decimal"}}},"ProductStockMutation":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"dateDelivery":{"type":["string","null"],"format":"date-time"},"dateExpire":{"type":["string","null"],"format":"date-time"},"dateMutation":{"type":["string","null"],"format":"date-time"},"deliveryNumber":{"type":["string","null"]},"description":{"type":["string","null"]},"module":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"moduleLineId":{"type":["string","null"]},"mutation":{"type":["string","null"]},"orderNumber":{"type":["string","null"]},"productId":{"type":["string","null"]},"quantity":{"type":["string","null"],"format":"decimal"},"unitId":{"type":["string","null"]},"warehouseId":{"type":["string","null"]},"locationId":{"type":["string","null"]},"lotId":{"type":["string","null"]},"rate":{"type":["string","null"],"format":"decimal"},"value":{"type":["string","null"],"format":"decimal"}}},"ProductTranslation":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"description":{"type":["string","null"]},"languageCode":{"type":["string","null"]},"name":{"type":["string","null"]},"productId":{"type":["string","null"]}},"required":["name"]},"ProductWorkflowHistory":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"workFlowStatus":{"type":["string","null"]},"productId":{"type":"string"},"remarks":{"type":["string","null"]},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"ProformaInvoice":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"projectId":{"type":["string","null"]},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"ProformaInvoiceAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"ProformaInvoiceDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"ProformaInvoiceLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"Project":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"monthlyForecast":{"type":["array","null"],"items":{"type":["string","null"]}},"billType":{"type":["string","null"]},"budgetType":{"default":"total_project_hours","type":["string","null"]},"dateProject":{"type":["string","null"],"format":"date-time"},"dateProjectEnd":{"type":["string","null"],"format":"date-time"},"dateProjectStart":{"type":["string","null"],"format":"date-time"},"invoiceMethod":{"default":"project_hour","type":["string","null"]},"isBillable":{"default":false,"type":"boolean"},"notifyWhenOverBudget":{"default":false,"type":"boolean"},"projectBudget":{"type":["string","null"],"format":"decimal"},"projectBudgetHrs":{"type":["string","null"],"format":"decimal"},"projectBudgetable":{"type":["string","null"],"format":"date-time"},"projectCode":{"type":["string","null"]},"projectCostBudgetIncludeExpenses":{"default":false,"type":"boolean"},"projectFees":{"type":["string","null"],"format":"decimal"},"projectHourlyRate":{"type":["string","null"],"format":"decimal"},"projectName":{"type":["string","null"]},"projectNotes":{"type":["string","null"]},"projectOverBudgetNotificationPercentage":{"type":["integer","null"]},"projectStatus":{"default":"draft","type":["string","null"]},"projectTitle":{"type":["string","null"]},"projectType":{"default":"time_material","type":["string","null"]},"projectUrlExtern":{"type":["string","null"]},"reference":{"type":["string","null"]},"showBudgetToAll":{"default":false,"type":"boolean"},"timeFrame":{"default":false,"type":"boolean"}},"required":["accountId","projectName"]},"ProjectApproval":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"approvalDate":{"type":["string","null"],"format":"date-time"},"approvalStatus":{"type":["string","null"]},"approverName":{"type":["string","null"]},"approverSignature":{"type":["string","null"]},"cc":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":["string","null"]},"approvalEmail":{"type":["string","null"]},"emailEvents":{"type":["array","null"],"items":{"type":"object"}},"emailSender":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"importProjectId":{"type":["string","null"]},"language":{"type":["string","null"]},"name":{"type":["string","null"]},"note":{"type":["string","null"]},"sendTo":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"topic":{"type":"string"}},"required":["approvalEmail","emailSender","name","sendTo","topic"]},"ProjectProjectMember":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"isBillable":{"default":false,"type":"boolean"},"isDefaultTeam":{"default":false,"type":"boolean"},"projectId":{"type":"string"},"teamId":{"type":["string","null"]},"memberBudget":{"type":["string","null"],"format":"decimal"},"memberDailyRate":{"type":["string","null"],"format":"decimal"},"memberHourlyRate":{"type":["string","null"],"format":"decimal"},"memberId":{"type":"string"}}},"ProjectProjectTask":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"isBillable":{"default":false,"type":"boolean"},"projectId":{"type":"string"},"taskBudget":{"type":["string","null"],"format":"decimal"},"taskHourlyRate":{"type":["string","null"],"format":"decimal"},"taskId":{"type":["string","null"]}}},"ProjectTask":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"addToAllProjects":{"type":["string","null"]},"dateTask":{"type":["string","null"],"format":"date-time"},"defaultId":{"type":["string","null"]},"description":{"type":["string","null"]},"hourlyRate":{"type":["string","null"],"format":"decimal"},"importProjectId":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"ledgerAccountShow":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"status":{"default":false,"type":"boolean"},"taskBillableByDefault":{"default":false,"type":"boolean"},"taskBudget":{"type":["string","null"],"format":"decimal"},"taskIsDefault":{"default":false,"type":"boolean"},"taskUrlExtern":{"type":["string","null"]},"taxCodeId":{"type":["string","null"]},"issueType":{"type":["string","null"]},"issueKey":{"type":["string","null"]}},"required":["name"]},"ProjectTeam":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":["string","null"]},"defaultId":{"type":["string","null"]},"description":{"type":["string","null"]},"hourlyRate":{"type":["string","null"],"format":"decimal"},"importProjectId":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"name":{"type":["string","null"]}},"required":["name"]},"ProjectTeamMember":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"employeeId":{"type":["string","null"]},"memberId":{"type":"string"},"name":{"type":["string","null"]},"teamId":{"type":"string"},"teamUrlExtern":{"type":["string","null"]},"accountId":{"type":["string","null"]},"isBillable":{"default":false,"type":"boolean"},"memberBudget":{"type":["string","null"],"format":"decimal"},"memberDailyRate":{"type":["string","null"],"format":"decimal"},"memberHourlyRate":{"type":["string","null"],"format":"decimal"}},"required":["name"]},"ProjectTimesheet":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"employeeId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"approvalId":{"type":["string","null"]},"billingType":{"type":["string","null"]},"dateAdded":{"type":["string","null"],"format":"date-time"},"importProjectId":{"type":["string","null"]},"isApproved":{"type":["integer","null"]},"isBilled":{"default":false,"type":"boolean"},"noteInternal":{"type":["string","null"]},"noteExternal":{"type":["string","null"]},"runningStatus":{"default":0,"type":"integer"},"taskId":{"type":["string","null"]},"taskUrlExtern":{"type":["string","null"]},"projectId":{"type":["string","null"]},"teamId":{"type":["string","null"]},"timeAdded":{"default":0,"type":["integer","null"]},"timeBillable":{"type":["integer","null"]},"timeBillableModifiedOn":{"type":["string","null"],"format":"date-time"},"timeEnd":{"type":["string","null"],"format":"date-time"},"timeStart":{"type":["string","null"],"format":"date-time"},"timesheetUrlExtern":{"type":["string","null"]}},"required":["taskId"]},"ProjectTimesheetToWorklog":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"isActive":{"type":["integer","null"]},"accountId":{"type":["string","null"]},"importProjectId":{"type":["string","null"]},"issueId":{"type":["string","null"]},"noteInternal":{"type":["string","null"]},"noteExternal":{"type":["string","null"]},"projectId":{"type":["string","null"]},"timeAdded":{"default":0,"type":["integer","null"]},"timesheetId":{"type":["string","null"]},"dateStart":{"type":["string","null"],"format":"date-time"},"timeStart":{"type":["string","null"],"format":"date-time"},"dateEnd":{"type":["string","null"],"format":"date-time"},"timeEnd":{"type":["string","null"],"format":"date-time"}}},"PublicHoliday":{"type":"object","description":"One day the whole company does not work (J15 \u2014 until 2026-08-12 nothing modelled holidays, so a\nweek containing one needed an explicitly typed leave quantity).\n\nTenant-defined, one row per date, nothing seeded: which days are holidays is a fact about the\ncompany\u0027s country and sector, and this app cannot know it. A holiday only changes DERIVED\nquantities (the Mon\u2013Fri default in {@see \\App\\Service\\Hrm\\LeaveService::workingDaysBetween}) \u2014\nquantities already stored on leave requests are never rewritten, for the same reason the balance\ncredits back exactly what was charged.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"holidayDate":{"type":"string","format":"date-time"},"name":{"type":["string","null"]}}},"Purchase":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"recurringType":{"default":0,"type":["integer","null"]},"matchOutcome":{"type":["string","null"]},"matchCheckedOn":{"type":["string","null"],"format":"date-time"},"paymentMethod":{"type":["string","null"]},"distributionPercentage":{"type":["string","null"],"format":"decimal"},"isPurchaseInvoice":{"default":false,"type":"boolean"},"documentLineTable":{"default":true,"type":"boolean"},"invoiceNumber":{"type":["string","null"]},"projectId":{"type":["string","null"]},"notes":{"type":["string","null"]},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"PurchaseAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseCreditNote":{"type":"object","description":"A credit note our SUPPLIER issued to us, recorded against the purchase it corrects. Unlike the\nsales-side pair this one is RECEIVED rather than produced, and it is what reverses input tax\ncredit.\n\n**Extends {@see AbstractDocumentSale} despite facing a supplier**, exactly as\n{@see DocumentPurchaseOrder} does. The name is historical and misleading: what that class\nactually provides is a constructor resolving its own line type through\n{@see \\App\\Service\\Document\\DocumentService::getDocumentLine()}, while\n{@see AbstractDocumentPurchase} hardcodes DocumentLinePurchase and would give this document the\nwrong lines. Direction is decided by {@see \\App\\Enum\\Document\\DocumentType::isPurchase()},\nnever by the base class.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"PurchaseCreditNoteAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseCreditNoteDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseCreditNoteHistory":{"type":"object","description":"Per-type document history - see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"PurchaseCreditNoteLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseDebitNote":{"type":"object","description":"A debit note WE raise against a supplier - a short delivery, damaged goods, an overcharge. It\nreduces what we owe them.\n\n**Extends {@see AbstractDocumentSale} despite facing a supplier**, exactly as\n{@see DocumentPurchaseOrder} does. The name is historical and misleading: what that class\nactually provides is a constructor resolving its own line type through\n{@see \\App\\Service\\Document\\DocumentService::getDocumentLine()}, while\n{@see AbstractDocumentPurchase} hardcodes DocumentLinePurchase and would give this document the\nwrong lines. Direction is decided by {@see \\App\\Enum\\Document\\DocumentType::isPurchase()},\nnever by the base class.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"PurchaseDebitNoteAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseDebitNoteDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseDebitNoteHistory":{"type":"object","description":"Per-type document history - see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"PurchaseDebitNoteLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"PurchaseLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"purchaseOrderLineId":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseOrder":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"PurchaseOrderAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseOrderDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchaseOrderHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"PurchaseOrderLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"PurchasePayment":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"description":"The account ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"amountInvoice":{"type":"number","format":"float","example":"123.45"},"amountPaid":{"type":"number","format":"float","example":"123.45"},"amountPayment":{"type":"number","format":"float","example":"123.45"},"amountUnpaid":{"type":"number","format":"float","example":"123.45"},"bankStatementId":{"description":"The bank statement ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"bankStatementLineId":{"description":"The bank statement line ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"dateDocument":{"description":"The document date of the payment.","example":"2023-10-01","format":"date","type":"string"},"datePayment":{"description":"The payment date of the payment.","example":"2023-10-01","format":"date","type":"string"},"description":{"description":"The description of the payment.","example":"Payment for invoice #12345","type":"string"},"documentId":{"description":"The document ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"dso":{"description":"The DSO (Days Sales Outstanding) of the payment.","example":"30","format":"integer","type":"integer"},"image":{"description":"The image of the payment.","example":"image.png","type":"string"},"paymentId":{"description":"The payment ID of the payment.","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid","type":"string"},"paymentMethod":{"description":"The payment method of the payment.","example":"credit_card","type":"string"},"receiptNumber":{"description":"Number of the receipt issued to the payer for this payment, if any.","example":"118","type":"string"},"checkNumber":{"type":["string","null"]},"achExportedOn":{"type":["string","null"],"format":"date-time"}},"required":["amountPayment"]},"PurchaseRecurringEventHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"Quote":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"approval":{"default":false,"type":"boolean"},"approvalStatus":{"default":false,"type":"boolean"},"approverName":{"type":["string","null"]},"approverEmail":{"type":["string","null"]},"approverPlace":{"type":["string","null"]},"approverSignature":{"type":["string","null"]},"approvalSentDate":{"type":["string","null"],"format":"date-time"},"approvalDate":{"type":["string","null"],"format":"date-time"},"approvalEmailNotification":{"default":false,"type":"boolean"},"approverNotificationEmail":{"type":["string","null"]},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"QuoteAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"QuoteDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"QuoteHistory":{"type":"object","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"documentAction":{"type":["string","null"]},"documentId":{"type":"string"},"documentRelatedId":{"type":["string","null"]},"documentRelatedType":{"type":["string","null"]},"documentType":{"type":["string","null"]},"remarks":{"type":["string","null"]},"payload":{"type":["array","null"],"items":{"type":["string","null"]}},"sendEmailFromOwnServer":{"default":false,"type":"boolean"},"sessionId":{"type":["string","null"]},"transmissionId":{"type":["string","null"]}}},"QuoteLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"RecurringInvoice":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"recurringActive":{"default":true,"type":"boolean"},"recurringCycle":{"default":0,"type":["integer","null"]},"recurringSendFrom":{"type":["string","null"],"format":"date-time"},"recurringSendTo":{"type":["string","null"],"format":"date-time"},"recurringPreviousDate":{"type":["string","null"],"format":"date-time"},"recurringNextDate":{"type":["string","null"],"format":"date-time"},"projectId":{"type":["string","null"]},"recurringSettings":{"default":{"useLatestCustomerInfo":true,"useLatestProductInfo":true},"type":"array","items":{"type":["string","null"]}},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"RecurringInvoiceAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"RecurringInvoiceDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"RecurringInvoiceLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"RecurringPurchase":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountContactId":{"description":"The account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountId":{"description":"The account id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"accountIsPerson":{"description":"Defines if the account is a person. 0 is an account. 1 is a person","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"accountName":{"description":"The account name.","example":"XYZ Corporation","type":"string"},"accountTaxNumber":{"description":"The account vat\/sales tax number.","example":"NL863183954G04","type":"string"},"amountAdvancePaymentTotal":{"type":"number","format":"float","example":"1294.75"},"amountAdvancePayment":{"type":"number","format":"float","example":"1294.75"},"amountDiscount":{"type":"number","format":"float","example":"1294.75"},"amountDiscountDocumentTerm":{"type":"number","format":"float","example":"1294.75"},"amountSubtotal":{"type":"number","format":"float","example":"1294.75"},"amountTotal":{"type":"number","format":"float","example":"1294.75"},"amountTax":{"type":"number","format":"float","example":"1294.75"},"billingAddressId":{"description":"The billing address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactAccountId":{"description":"The billing account contact id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"billingContactEmail":{"description":"The billing account contact e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingContactFirstName":{"description":"The billing account contact email address.","example":"tom@example.com","format":"email","type":"string"},"billingContactGender":{"description":"The billing account contact gender","enum":["male","female","unknown","does_no_apply"],"example":"female","type":"string"},"billingContactLastName":{"description":"The billing account contact last name.","example":"Lee","type":"string"},"billingContactMiddleName":{"description":"The billing account contact middle name.","example":"van de","type":"string"},"billingContactPhoneOffice":{"description":"The billing account contact phone office number.","example":"+1 206 555 0100","type":"string"},"billingContactSalutation":{"description":"The billing account contact salutation.","enum":["dr","mr","ir","drs","ma","msc","ba","bc","ing","bsc","doctor","docter","prof","professor"],"example":"dr","type":"string"},"billingContactTitle":{"description":"The billing account contact title.","type":"string"},"billingDepartment":{"description":"The billing department.","type":"string"},"billingEmail":{"description":"The billing e-mail address.","example":"xyz@example.com","format":"email","type":"string"},"billingPhoneOffice":{"description":"The billing phone number.","example":"+1 206 555 0100","type":"string"},"ownerAddressId":{"description":"The owner address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"currency":{"description":"The currency for the amounts.","example":"USD","type":"string"},"currencyConversionRate":{"type":"string","format":"decimal","example":"1.11345"},"dateDelivery":{"description":"The delivery date or delivery period start.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDeliveryEnd":{"description":"The date delivery period end.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateDocument":{"description":"The document date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateExpiration":{"description":"The expiration date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"datePayment":{"description":"The payment date.","example":"2017-07-21T17:32:28Z","format":"date-time","type":"string"},"dateFormat":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"decimalSeparator":{"description":"The decimal separator.","default":".","enum":[".",","],"example":",","type":"string"},"amountDeposit":{"type":"number","format":"float","example":"1294.75"},"amountSecurityDeposit":{"type":"number","format":"float","example":"1294.75"},"discountPercentage":{"type":"string","format":"decimal","example":"3.5"},"discountTotalPercentage":{"type":"string","format":"decimal","example":"3.5"},"documentNumber":{"description":"The document identifying number or code.","example":"2024784","type":"string"},"relatedDocumentId":{"description":"The Related Document Id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"bankStatementLineId":{"type":["string","null"]},"relatedDocumentName":{"description":"The related document name.","example":"invoice","type":"string"},"relatedDocumentNumber":{"description":"The related document number.","example":"2024784","type":"string"},"finalizedCount":{"default":0,"type":["integer","null"]},"documentStatus":{"default":1,"type":["integer","null"]},"documentStatusAccount":{"type":["integer","null"]},"documentStatusAction":{"type":["integer","null"]},"documentStatusOwner":{"type":["integer","null"]},"documentStatusPeppol":{"type":["integer","null"]},"workflowStatus":{"description":"The workflow status for the document.","example":"2024784","type":"string"},"workflowStatusRemark":{"description":"The workflow status remark for the document.","example":"2024784","type":"string"},"workflowModifiedOn":{"description":"The workflow modified date.","example":"2024-07-21","format":"date","type":"string"},"emailDelivered":{"description":"Indicates that the email delivery is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailDeliveredDate":{"description":"The email delivery date.","example":"2001-07-21","format":"date","type":"string"},"emailOpened":{"description":"Indicates that the email is opened by the recipient is tracked and alerted. 1 is a yes and 0 is a no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"emailOpenedDate":{"description":"The email open date.","example":"2001-07-21","format":"date","type":"string"},"emailSendCount":{"type":["integer","null"]},"finalEmailData":{"type":["array","null"],"items":{"type":["string","null"]}},"general":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"globalDiscountType":{"default":0,"type":["integer","null"]},"paymentDiscountType":{"default":0,"type":["integer","null"]},"language":{"description":"The document language.","example":"nl_BE","type":"string"},"paymentDiscountPercentage":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"description":"The number of decimals for the currency","default":2,"enum":["0","1","2","3","4","5"],"example":"2","format":"integer","type":"number"},"ledgerAccountGlobalCode":{"description":"The document profit ledger account code for the document. ","example":"80400000","format":"integer","type":"number"},"ledgerAccountGlobalId":{"description":"The document profit ledger account id for the document.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"customTextField1":{"description":"Custom field 1.","example":"Shipment site","type":"string"},"customTextField2":{"description":"Custom field 2.","example":"#packages","type":"string"},"customTextField3":{"description":"Custom field 3.","example":"Car registration number","type":"string"},"customTextField4":{"description":"Custom field 4.","example":"Deliver time","type":"string"},"customTextField5":{"description":"Custom field 5.","example":"Next renewal on","type":"string"},"resetStatus":{"default":false,"type":"boolean"},"shippingAddressId":{"description":"The shipping address id.","example":"ee16c382-3990-4c64-a19a-de207c1a7650","format":"uuid","type":"string"},"shippingAccountName":{"description":"The shipping account name.","example":"XYZ Corporation","type":"string"},"shippingContactPerson":{"description":"The shipping contact person.","example":"John Doe","type":"string"},"thousandSeparator":{"description":"The thousand separator.","default":",","enum":[".",","],"example":".","type":"string"},"taxes":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxAmounts":{"description":"The sales tax\/vat information for the document.","type":"string"},"taxSummary":{"type":["array","null"],"items":{"type":["string","null"]}},"calculationMode":{"type":["array","null"],"items":{"type":["string","null"]}},"taxIsReversed":{"description":"Defines if the vat or sales tax is reversed. 1 is yes and 0 is no.","default":false,"enum":["0","1"],"example":"0","type":"boolean"},"sezSupply":{"default":false,"type":"boolean"},"taxKey":{"type":["string","null"]},"taxType":{"type":["string","null"]},"peppolBuyerIdentifier":{"type":["string","null"]},"peppolBuyerIdentifierType":{"type":["string","null"]},"peppolSellerIdentifier":{"type":["string","null"]},"peppolSellerIdentifierType":{"type":["string","null"]},"ublProtocol":{"type":["string","null"]},"buyerReference":{"type":["string","null"]},"orderReference":{"type":["string","null"]},"bankAccountNumber":{"type":["string","null"]},"bankAccountName":{"type":["string","null"]},"bankBicCode":{"type":["string","null"]},"invoicePeriodStart":{"type":["string","null"],"format":"date-time"},"invoicePeriodEnd":{"type":["string","null"],"format":"date-time"},"attachments":{"type":"array","items":{"type":["string","null"]}},"customSelectField1":{"description":"Custom select field.","example":"Shipping method","type":"string"},"amountShipping":{"type":"number","format":"float","example":"4.50"},"shippingStatus":{"description":"The shipping status.","example":"delivered","type":"string"},"recurringActive":{"default":true,"type":"boolean"},"recurringCycle":{"default":0,"type":["integer","null"]},"recurringSendFrom":{"type":["string","null"],"format":"date-time"},"recurringSendTo":{"type":["string","null"],"format":"date-time"},"recurringPreviousDate":{"type":["string","null"],"format":"date-time"},"recurringNextDate":{"type":["string","null"],"format":"date-time"},"recurringSettings":{"default":{"useLatestCustomerInfo":true,"useLatestProductInfo":true},"type":"array","items":{"type":["string","null"]}},"distributionPercentage":{"type":["string","null"],"format":"decimal"},"isPurchaseInvoice":{"default":false,"type":"boolean"},"documentLineTable":{"default":true,"type":"boolean"},"invoiceNumber":{"type":["string","null"]},"projectId":{"type":["string","null"]},"notes":{"type":["string","null"]},"definition":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"documentAddress":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"lines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"RecurringPurchaseAddress":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"billingCity":{"type":["string","null"]},"billingCountry":{"type":["string","null"]},"billingCountryCode":{"type":["string","null"]},"billingCountryShown":{"default":false,"type":"boolean"},"billingPostOfficeBox":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"billingState":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"ownerCity":{"type":["string","null"]},"ownerCountry":{"type":["string","null"]},"ownerCountryCode":{"type":["string","null"]},"ownerPostOfficeBox":{"type":["string","null"]},"ownerPostalCode":{"type":["string","null"]},"ownerState":{"type":["string","null"]},"ownerStreet":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"shippingCountry":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"shippingCountryShown":{"default":false,"type":"boolean"},"shippingPostOfficeBox":{"type":["string","null"]},"shippingPostalCode":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"RecurringPurchaseDefinition":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"ownerInformation":{"type":["array","null"],"items":{"type":["string","null"]}},"customerSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"documentDesign":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"documentSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"calcLineDiscountScope":{"type":["string","null"]},"calcTaxBasis":{"type":["string","null"]},"calcShippingTaxable":{"type":["boolean","null"]},"calcDiscountBeforeTax":{"type":["boolean","null"]},"documentLabels":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"RecurringPurchaseLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"unitPrice":{"type":["string","null"],"format":"decimal"},"currencyDecimals":{"default":2,"type":["integer","null"]},"unitPriceExclTax":{"type":["string","null"],"format":"decimal"},"articleCode":{"type":["string","null"]},"dateProduct":{"type":["string","null"],"format":"date-time"},"discount":{"type":["string","null"],"format":"decimal"},"amountDiscountTotal":{"type":["string","null"],"format":"decimal"},"discountType":{"type":["string","null"]},"documentId":{"type":["string","null"]},"documentLineStatus":{"writeOnly":true,"default":20,"type":["integer","null"]},"extraText":{"type":["string","null"]},"ledgerAccountCode":{"type":["string","null"]},"ledgerAccountId":{"type":["string","null"]},"lineData":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"lineOrder":{"type":["integer","null"]},"lineType":{"default":1,"type":["integer","null"]},"productNumber":{"type":["string","null"]},"productDescription":{"type":["string","null"]},"productGroupIsImploded":{"type":["integer","null"]},"productId":{"type":["string","null"]},"productImage":{"type":["string","null"]},"productImageSize":{"default":"small","type":["string","null"]},"productName":{"type":["string","null"]},"productEan":{"type":["string","null"]},"hsnCode":{"type":["string","null"]},"productSupplierId":{"type":["string","null"]},"quantityBundle":{"type":["string","null"],"format":"decimal"},"quantityColli":{"type":["string","null"],"format":"decimal"},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBackorder":{"type":["string","null"],"format":"decimal"},"timesheetIds":{"type":["array","null"],"items":{"type":["string","null"]}},"amountTotal":{"type":["string","null"],"format":"decimal"},"amountTotalExclTax":{"type":["string","null"],"format":"decimal"},"unitColliItems":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitIsColli":{"default":false,"type":"boolean"},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxReverse":{"default":false,"type":"boolean"},"taxDecimal":{"type":["integer","null"]},"purchasePrice":{"type":["string","null"],"format":"decimal"},"amountCogs":{"type":["string","null"],"format":"decimal"},"profit":{"type":["string","null"],"format":"decimal"},"productNameLocal":{"type":["string","null"]},"productDescriptionLocal":{"type":["string","null"]},"rowTaskText":{"type":["string","null"]},"rowColor":{"type":["string","null"]},"stockLocation":{"type":["string","null"]},"document":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"Routing":{"type":"object","description":"The ordered sequence of operations that manufactures a product \u2014 attach it to a BOM\n(`Bom.routingId`) and releasing a work order copies its operations in as\n{@see WorkOrderOperation} rows, planned hours scaled to the order quantity.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"default":"","type":"string"},"productId":{"type":["string","null"]}}},"RoutingOperation":{"type":"object","description":"One step of a {@see Routing}: what happens, where ({@see WorkCenter}), and how long it should\ntake. `standardHours` is PER BOM OUTPUT BATCH \u2014 releasing a work order scales it by the same\nplanned-quantity \u00f7 output-quantity factor the component explosion uses.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"routingId":{"type":["string","null"]},"sequence":{"default":0,"type":"integer"},"name":{"default":"","type":"string"},"workCenterId":{"type":["string","null"]},"standardHours":{"type":"string","format":"decimal"}}},"StockCount":{"type":"object","description":"A cycle\/full stock count at a warehouse. On open, each line freezes the system quantity; on post, the\ncounted-vs-system variance is applied to stock and posted as an adjustment journal.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"warehouseId":{"type":["string","null"]},"status":{"default":"open","type":"string"},"dateCount":{"type":["string","null"],"format":"date-time"},"note":{"type":["string","null"]}}},"StockCountLine":{"type":"object","description":"One product\/location line of a {@see StockCount}. `systemQuantity` is frozen when the count opens;\n`countedQuantity` is entered during counting; the variance (counted \u2212 system) is applied on post.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"countId":{"type":["string","null"]},"productId":{"type":["string","null"]},"locationId":{"type":["string","null"]},"systemQuantity":{"type":"string","format":"decimal"},"countedQuantity":{"type":["string","null"],"format":"decimal"}}},"StockTransfer":{"type":"object","description":"A movement of stock between two warehouses. Lines hold the products\/quantities. Stock leaves the source\non send and arrives at the destination on receive \u2014 both via the WarehouseStockService choke point.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"fromWarehouseId":{"type":["string","null"]},"toWarehouseId":{"type":["string","null"]},"status":{"default":"draft","type":"string"},"dateTransfer":{"type":["string","null"],"format":"date-time"},"note":{"type":["string","null"]}}},"StockTransferLine":{"type":"object","description":"One product\/quantity line of a {@see StockTransfer}, optionally pinned to a source\/destination location.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"transferId":{"type":["string","null"]},"productId":{"type":["string","null"]},"quantity":{"type":"string","format":"decimal"},"fromLocationId":{"type":["string","null"]},"toLocationId":{"type":["string","null"]}}},"Store":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"siteName":{"type":["string","null"]},"siteTitle":{"type":["string","null"]},"siteLogo":{"type":["string","null"]},"url":{"type":["string","null"]},"language":{"type":["string","null"]},"currency":{"type":["string","null"]},"secure_url":{"type":["string","null"]},"slug":{"type":["string","null"]},"template":{"type":["string","null"]},"contactEmail":{"type":["string","null"]},"contactAddress":{"type":["string","null"]},"contactPhoneNumber":{"type":["string","null"]},"messageOfTheDay":{"type":["string","null"]},"deliveryText":{"type":["string","null"]},"correctionText":{"type":["string","null"]},"deliveryDays":{"type":["integer","null"]},"countryCode":{"type":["string","null"]},"additionalText":{"type":["string","null"]},"dealEndDate":{"type":["string","null"],"format":"date-time"},"dealImage":{"type":["string","null"]},"storeSettings":{"type":["array","null"],"items":{"type":["string","null"]}},"dealText":{"type":["string","null"]},"design":{"type":["array","null"],"items":{"type":["string","null"]}},"shippingPolicy":{"type":["string","null"]},"refundPolicy":{"type":["string","null"]},"privacyPolicy":{"type":["string","null"]},"subscriptionPolicy":{"type":["string","null"]},"footerText":{"type":["string","null"]},"finalOrderDocument":{"default":["invoice"],"type":["array","null"],"items":{"type":["string","null"]}},"finialOrderDocumentStatus":{"type":["string","null"]},"carousel":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"menuLines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"StoreCarousel":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"storeId":{"type":["string","null"]},"name":{"type":["string","null"]},"active":{"default":false,"type":"boolean"},"carousel":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]}}},"StoreDeal":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"storeId":{"type":["string","null"]},"active":{"default":false,"type":"boolean"},"dealTimer":{"default":false,"type":"boolean"},"name":{"type":["string","null"]},"text":{"type":["string","null"]},"dealEndDate":{"type":["string","null"],"format":"date-time"},"image":{"type":["string","null"]}}},"StoreImage":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"storeId":{"type":["string","null"]},"logo":{"type":["string","null"]}}},"StoreMenu":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"isActive":{"default":true,"type":"boolean"},"name":{"type":["string","null"]},"menuLines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"StoreMenuLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"isActive":{"default":true,"type":"boolean"},"name":{"type":["string","null"]},"slug":{"type":["string","null"]},"icon":{"type":["string","null"]},"type":{"type":["string","null"]},"moduleId":{"type":["string","null"]},"menuOrder":{"type":["integer","null"]},"menu":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"store":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"}}},"StoreOrder":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"storeId":{"type":["string","null"]},"accountId":{"type":["string","null"]},"accountContactFirstName":{"type":["string","null"]},"accountContactLastName":{"type":["string","null"]},"accountName":{"type":["string","null"]},"isShippingSameAsBilling":{"default":false,"type":"boolean"},"billingCountryCode":{"type":["string","null"]},"shippingCountryCode":{"type":["string","null"]},"billingStreet":{"type":["string","null"]},"shippingStreet":{"type":["string","null"]},"billingCity":{"type":["string","null"]},"shippingCity":{"type":["string","null"]},"billingState":{"type":["string","null"]},"shippingState":{"type":["string","null"]},"billingPostalCode":{"type":["string","null"]},"shippingPostalCode":{"minLength":4,"type":["string","null"]},"phone":{"type":["string","null"]},"email":{"type":["string","null"]},"note":{"type":["string","null"]},"subTotal":{"type":["string","null"],"format":"decimal"},"discountAmount":{"type":["string","null"],"format":"decimal"},"subTotalPostDiscount":{"type":["string","null"],"format":"decimal"},"isTaxReversed":{"default":false,"type":"boolean"},"tax":{"anyOf":[{"type":"array","items":{"type":["string","null"]}},{"type":"string"},{"type":"null"}]},"taxAmount":{"type":["string","null"],"format":"decimal"},"total":{"type":["string","null"],"format":"decimal"},"dateDelivery":{"type":["string","null"],"format":"date-time"},"orderNumber":{"type":["string","null"]},"integrationId":{"type":["string","null"]},"orderLines":{"type":"array","items":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}}},"StoreOrderLine":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"productId":{"type":["string","null"]},"articleCode":{"type":["string","null"]},"name":{"type":["string","null"]},"description":{"type":["string","null"]},"productNumber":{"type":["string","null"]},"image":{"type":["string","null"]},"quantity":{"type":["string","null"],"format":"decimal"},"quantityBundle":{"type":["string","null"],"format":"decimal"},"unitDecimal":{"type":["integer","null"]},"unitId":{"type":["string","null"]},"unitKey":{"type":["string","null"]},"unitText":{"type":["string","null"]},"amountTax":{"type":["string","null"],"format":"decimal"},"taxCodeId":{"type":["string","null"]},"taxKey":{"type":["string","null"]},"taxName":{"type":["string","null"]},"taxPercentage":{"type":["string","null"],"format":"decimal"},"taxDecimal":{"type":["integer","null"]},"total":{"type":["string","null"],"format":"decimal"},"subTotal":{"type":["string","null"],"format":"decimal"},"salePrice":{"type":["string","null"]},"isColli":{"default":false,"type":"boolean"},"colliItems":{"type":["integer","null"]},"order":{"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"}}},"StoreTemplate":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"storeId":{"type":["string","null"]},"name":{"type":["string","null"]},"design":{"type":["array","null"],"items":{"type":["string","null"]}}}},"StoreText":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"storeId":{"type":["string","null"]},"deliveryText":{"type":["string","null"]},"additionalText":{"type":["string","null"]},"messageOfTheDay":{"type":["string","null"]},"privacyPolicy":{"type":["string","null"]},"shippingPolicy":{"type":["string","null"]},"refundPolicy":{"type":["string","null"]},"subscriptionPolicy":{"type":["string","null"]},"settings":{"type":["array","null"],"items":{"type":["string","null"]}}}},"SupplierTaxProfile":{"type":"object","description":"What a US supplier\u0027s Form W-9 says, and whether its payments go on a 1099 (E38).\n\n**Its own table, not columns on the account**, for two reasons. `AbstractAccount` maps three tables\n(customers and suppliers, the tenant\u0027s own company, data-exchange accounts) and this belongs to none\nbut the first. And the account\u0027s `taxNumber` is NOT the W-9 TIN: on a US account it is usually a\nstate seller\u0027s permit ({@see \\App\\Service\\Finance\\Tax\\TaxNumber\\Rule\\UnitedStatesTaxIdRule}), while\na 1099 needs the federal number \u2014 an EIN, or for a sole proprietor their Social Security number.\n\n**The TIN is encrypted at rest** ({@see EncryptedStringType}): for an individual it IS their SSN.\nIt leaves the server whole in exactly one place, the 1099 export, which is what it is collected for;\nevery screen shows the last four digits.\n\nNo row means nobody has looked at this supplier yet, which the 1099 report treats differently from\na row saying \u0022not a 1099 supplier\u0022 \u2014 the first is a question, the second is an answer.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"accountId":{"type":"string"},"reports1099":{"default":false,"type":"boolean"},"form1099Box":{"type":["string","null"],"enum":["nec_compensation","misc_rents","misc_royalties","misc_other_income","misc_medical","misc_attorney_proceeds",null]},"legalName":{"type":["string","null"]},"businessName":{"type":["string","null"]},"taxClassification":{"type":["string","null"],"enum":["individual","c_corporation","s_corporation","partnership","trust_estate","llc_c","llc_s","llc_p","other",null]},"tinType":{"type":["string","null"]},"tin":{"type":["string","null"]},"isAttorney":{"default":false,"type":"boolean"},"w9ReceivedOn":{"type":["string","null"],"format":"date-time"}}},"TaxCode":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"defaultId":{"type":["string","null"]},"description":{"type":["string","null"]},"glToClaimDescription":{"type":["string","null"]},"glToClaimId":{"type":["string","null"]},"glToPayDescription":{"type":["string","null"]},"glToPayId":{"type":["string","null"]},"isBlocked":{"default":false,"type":"boolean"},"isDefault":{"default":false,"type":"boolean"},"isPreferred":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"legalText":{"type":["string","null"]},"lineNumber":{"default":0,"type":["integer","null"]},"taxCountryCode":{"type":["string","null"]},"taxCountryCodePercentage":{"type":["string","null"],"format":"decimal"},"taxCode":{"type":["string","null"]},"taxDecimals":{"default":0,"type":["integer","null"]},"taxCodeType":{"type":["string","null"]},"taxReportSectionId":{"type":["string","null"]},"taxTransactionType":{"type":["string","null"]}}},"TaxCodeComponent":{"type":"object","description":"One component of a {@see TaxCode}. A tax code decomposes into 1..n ordered components\n({@see $lineNumber}); the {@see \\App\\Service\\Finance\\Tax\\TaxEngine} evaluates each against the supply\ncontext and emits a {@see \\App\\Entity\\Document\\DocumentLineTax} row per matching component.\n\nSupersedes the four fixed country\/state\/county\/city percentage tiers on {@see AbstractTaxCode} \/\n`AbstractTaxCodePercentage` (D7) and the whole date-bounded `TaxCodePercentage` child:\na component is itself date-bounded ({@see $dateStart}\/{@see $dateEnd}).\n\nFor EU tenants a code has a single {@see TaxComponentCategory::VAT} component whose rate == the code\u0027s\nheadline `taxCountryCodePercentage` \u2014 reproducing today\u0027s flat single-rate behaviour exactly.\n\nPart of GST Phase 0a (additive; nothing reads it until the parity-gated Phase 0b flips).\nSee docs\/plans\/gst-india.md \u00a73.1 (D1), \u00a73 (D7).","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"taxCodeId":{"type":"string"},"lineNumber":{"default":0,"type":"integer"},"taxCategory":{"default":"VAT","type":"string","enum":["CGST","SGST","UTGST","IGST","CESS","GST","HST","PST","QST","VAT","SALES","COUNTY","CITY","WHT"]},"rate":{"type":"string","format":"decimal"},"basis":{"default":"percent_of_net","type":"string","enum":["percent_of_net","percent_of_gross","compound","fixed"]},"compoundOn":{"type":["string","null"],"enum":["CGST","SGST","UTGST","IGST","CESS","GST","HST","PST","QST","VAT","SALES","COUNTY","CITY","WHT",null]},"fixedAmount":{"type":["string","null"],"format":"decimal"},"condition":{"default":"always","type":"string","enum":["always","intra_state","inter_state","reverse_charge"]},"glPayId":{"type":["string","null"]},"glClaimId":{"type":["string","null"]},"taxReportSectionId":{"type":["string","null"]},"recoverable":{"default":true,"type":"boolean"},"jurisdictionLevel":{"type":["string","null"]},"dateStart":{"type":["string","null"],"format":"date-time"},"dateEnd":{"type":["string","null"],"format":"date-time"},"isSystem":{"default":false,"type":"boolean"}}},"TaxCodeLegalText":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"defaultId":{"type":["string","null"]},"isDefault":{"type":"boolean"},"isSystem":{"type":"boolean"},"languageCode":{"type":["string","null"]},"legalText":{"type":"string"},"taxCodeId":{"type":["string","null"]}}},"TaxCodeReportSection":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"code":{"type":["string","null"]},"description":{"type":["string","null"]},"isSystem":{"default":false,"type":"boolean"},"defaultId":{"type":["string","null"]},"lineNumber":{"default":0,"type":["integer","null"]},"taxCodeId":{"type":["string","null"]},"taxReportSectionId":{"type":["string","null"]}}},"TaxReportSection":{"type":"object","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"code":{"type":["string","null"]},"defaultId":{"type":["string","null"]},"description":{"type":["string","null"]},"disableDetailsLink":{"default":false,"type":"boolean"},"headerText":{"type":["string","null"]},"isHeaderText":{"default":false,"type":"boolean"},"isSystem":{"default":false,"type":"boolean"},"lineNumber":{"default":0,"type":["integer","null"]},"showTaxAmount":{"default":true,"type":"boolean"},"sumPerAccount":{"default":false,"type":"boolean"}}},"Warehouse":{"type":"object","description":"A physical (or logical) stock-holding site for a tenant. Existing single-bucket tenants get one default\nwarehouse (code MAIN) on back-fill; all current stock maps to it.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"code":{"type":["string","null"]},"name":{"type":["string","null"]},"addressId":{"type":["string","null"]},"isDefault":{"default":false,"type":"boolean"},"isActive":{"default":true,"type":"boolean"}}},"WarehouseLocation":{"type":"object","description":"A bin\/shelf\/zone within a warehouse. `parentLocationId` lets locations nest (zone \u2192 aisle \u2192 shelf \u2192 bin).","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"warehouseId":{"type":["string","null"]},"code":{"type":["string","null"]},"name":{"type":["string","null"]},"type":{"type":["string","null"]},"parentLocationId":{"type":["string","null"]}}},"WorkCenter":{"type":"object","description":"A place where labour happens \u2014 an assembly bench, a paint booth, a CNC machine. Carries the two\nrates that turn logged hours into money (`costPerHour`, plus `overheadPct` applied ON TOP of the\nlabour cost) and the two applied-cost GL accounts those postings credit. Either account being\nunset graceful-skips its posting \u2014 hours still accumulate (tracking \u2260 journal), the same contract\nmaterial WIP has.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"name":{"default":"","type":"string"},"costPerHour":{"type":"string","format":"decimal"},"overheadPct":{"type":"string","format":"decimal"},"labourLedgerAccountId":{"type":["string","null"]},"overheadLedgerAccountId":{"type":["string","null"]},"isActive":{"default":true,"type":"boolean"}}},"WorkOrder":{"type":"object","description":"An order to manufacture `plannedQuantity` of a finished good from a BOM. Releasing it explodes the BOM\ninto component requirements; consuming issues components (Dr WIP \/ Cr Stock); completing receives the\nfinished good (Dr Stock \/ Cr WIP). The WIP ledger account is chosen per work order (graceful-skip if unset).","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"bomId":{"type":["string","null"]},"productId":{"type":["string","null"]},"plannedQuantity":{"type":"string","format":"decimal"},"producedQuantity":{"type":"string","format":"decimal"},"status":{"default":"planned","type":"string"},"warehouseId":{"type":["string","null"]},"plannedStart":{"type":["string","null"],"format":"date-time"},"plannedEnd":{"type":["string","null"],"format":"date-time"},"costCenterId":{"type":["string","null"]},"wipLedgerAccountId":{"type":["string","null"]},"varianceLedgerAccountId":{"type":["string","null"]},"relievedWipAmount":{"type":"string","format":"decimal"}}},"WorkOrderComponent":{"type":"object","description":"A component requirement of a {@see WorkOrder}, exploded from the BOM on release. `consumedQuantity`\ntracks issuance against `requiredQuantity`.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"workOrderId":{"type":["string","null"]},"componentProductId":{"type":["string","null"]},"requiredQuantity":{"type":"string","format":"decimal"},"consumedQuantity":{"type":"string","format":"decimal"},"lotId":{"type":["string","null"]}}},"WorkOrderOperation":{"type":"object","description":"One operation of a {@see WorkOrder}, copied from the BOM\u0027s routing at release (planned hours\nscaled to the order quantity). `actualHours` accumulates as hours are logged; each logging posts\nthe labour (and overhead) application to WIP at the work center\u0027s rates.","properties":{"id":{"readOnly":true,"type":"string"},"importId":{"type":["string","null"]},"importOn":{"type":["string","null"],"format":"date-time"},"importSource":{"type":["string","null"]},"isDeleted":{"default":false,"type":"boolean"},"createdOn":{"type":"string","format":"date-time"},"modifiedOn":{"type":["string","null"],"format":"date-time"},"modifiedBy":{"type":["string","null"]},"createdBy":{"type":["string","null"]},"tags":{"type":["string","null"]},"meta":{"type":["array","null"],"items":{"type":["string","null"]}},"fixerStatus":{"default":false,"type":"boolean"},"workOrderId":{"type":["string","null"]},"routingOperationId":{"type":["string","null"]},"sequence":{"default":0,"type":"integer"},"name":{"default":"","type":"string"},"workCenterId":{"type":["string","null"]},"plannedHours":{"type":"string","format":"decimal"},"actualHours":{"type":"string","format":"decimal"}}}},"responses":[],"parameters":[],"examples":[],"requestBodies":[],"headers":[],"securitySchemes":{"apiKey":{"type":"apiKey","description":"Value for the X-AUTH-TOKEN header parameter.","name":"X-AUTH-TOKEN","in":"header"}}},"security":[{"apiKey":[]}],"tags":[{"name":"Contact","description":"A contact, as the PUBLIC API presents it.\n\nA DTO, never the `AccountContact` entity \u2014 see ground rule 1 in\ndocs\/knowledgebase\/plans\/public-resource-api.md. The entity has 53 columns spanning tenancy, audit,\nETL bookkeeping and authentication internals; 28 of them are customer data. Publishing the entity\nwould expose the other 25 and turn every future column rename into a customer-facing break.\n\nWHAT IS DELIBERATELY ABSENT, because absence is the reversible choice \u2014 adding a field later is a\nminor version, removing one is a major version with a deprecation window:\n\n - `role`. NOT a CRM role: its live values are `administrator`, `team_member`, `employee`, `manager`,\n   `guest` \u2014 the internal permission role. Reading it would disclose the tenant\u0027s permission\n   structure; accepting it on write would be privilege escalation through the public API.\n - `hasUserLogin`, `isOwnerUser`, `isOwnerRegistrar`. Authentication internals. \u0022Does this contact\n *    have a login\u0022 is an account-enumeration aid.\n - `hourlyRateCost`, `hourlyRateProfit`, `weeklyCapacity`. **Decided 2026-08-08 (G28): excluded from\n   v1, not pending.** They are project-resourcing data that happens to be stored on a contact, so\n   they belong to a Projects resource and its own permission, not to Contact \u2014 publishing them here\n   would fix that mistake into the contract. Same reasoning as Product\u0027s cost fields: absence is the\n   direction we can reverse.\n - `assignedToId`. An internal user UUID that means nothing until a User resource exists.\n - `meta`, `label`, `tags`-adjacent internals, `import*`, `createdBy`, `modifiedBy`, `recordState`,\n   `isDeleted`, `fixerStatus`, `ownerId`.\n\nThe full classification, with the reasoning per field, is in\ndocs\/knowledgebase\/plans\/public-api-v1-field-allowlist.md.\n\nNOTE for a future Wave: `com_acc_account_contacts` holds BOTH CRM contacts and internal user records.\nThis resource must never blur them \u2014 see the provider, which is where that is enforced."},{"name":"Product","description":"A product, as the PUBLIC API presents it.\n\n45 of the entity\u0027s 103 properties. The classification, field by field with the reasoning, is in\ndocs\/knowledgebase\/plans\/public-api-v1-field-allowlist.md \u2014 this docblock records only the choices a\nreader would otherwise have to reverse-engineer.\n\nREAD-ONLY FOR NOW. Writes come next; publishing reads first is deliberate, because a wrong read is a\ndisclosure we can withdraw only with a major version, while a missing write is an inconvenience.\n\nCOST AND SUPPLY CHAIN ARE NOT PUBLISHED, and that is now a decision rather than a pause (G28,\nowner, 2026-08-08). `purchasePrice`, `profitMargin` and the five `supplier*` fields stay out of v1.\n\nThe draft plan proposed publishing them behind a distinct `products:cost` scope, on the grounds that\n\u0022scopes already exist, so splitting is cheap\u0022. **Checking that against the code is what settled it:\nscopes here are not free-form strings.** An API key stores `MODULE.ACTION` pairs drawn from\n{@see \\App\\Security\\SecurityRoles::getResourcePermissions()}, and `PRODUCT` declares\nVIEW\/CREATE\/MODIFY\/DELETE\/ACTIVE \u2014 there is no COST and no way to invent one that is API-only. A\nsplit would mean adding a real permission to the product: matrix UI, role presets, a grant decision\nfor every existing role, and BFF enforcement too, or the same permission would mean different things\nin the two places. That is the LARGEST option here, not the cheapest.\n\nSo the cheap, reversible direction is the one that was already true: publish neither. Adding a field\nlater is not a breaking change; removing one needs a major version and a deprecation window. When a\ncustomer actually needs cost through the API, it arrives as a real `PRODUCT.COST` permission, shaped\nby that integration rather than guessed at now.\n\nSTILL HELD BACK, deliberately:\n\n - `image` and `attachments` \u2014 deferred to v1.1 (G28, 2026-08-08). Binary and URL handling is its own\n   design problem (storage paths? signed URLs? a separate upload endpoint?) and a path shape\n   published badly is expensive to withdraw.\n\nEXCLUDED OUTRIGHT: `discount` (checked against live data \u2014 not one product has a non-zero value, so\npublishing it would promise a feature that does not exist); `stockWorkflowStatus` (free text, 81 588\nrows blank and the rest hand-typed in mixed languages); `isExecuteTrigger*` (both columns are GONE as of\n2026-08-20 \u2014 they gated database triggers that no longer exist, deleted with the price-list fan-out\nin G49 and the product-group refresh in G85); `hasTranslation` \/ `concatTranslation*`\n(denormalised search helpers, i.e. a promise about our indexing); plus the usual tenancy, audit and\nETL columns.\n\nMONEY IS PUBLISHED AS A DECIMAL STRING, unrounded. A JSON number is a float to most parsers, so\npublishing one invites the client to round a price we stored exactly.\n\nIt is NOT formatted to `salePriceDecimals`. That is a display setting, and applying it here would be\nboth a category error and lossy \u2014 15 live products have it set to 0, where 12.50 would publish as\n\u002213\u0022. **This API returns the customer\u0027s data; deciding how to render it is the customer\u0027s business.**\nPresentation and rounding rules belong to the internal BFF, which owns the app\u0027s behaviour.\n`salePriceDecimals` is published as information, not applied."},{"name":"Account","description":"Resource \u0027Account\u0027 operations."},{"name":"AccountAddress","description":"Resource \u0027AccountAddress\u0027 operations."},{"name":"AccountContactRelation","description":"Many-to-many junction edge between an Account and an AccountContact.\n\nSCOPE: holds *only* the secondary relations. The contact\u0027s primary\naccount is the denormalised `AccountContact.accountId` column \u2014 so this\ntable never duplicates the primary edge. Equivalent to Pipedrive\u0027s\n\u0022Linked organizations\u0022, Zendesk Sell\u0027s \u0022Related Companies\u0022, or\nHubSpot\u0027s secondary association labels (the primary stays denormalised\non the Contact). Salesforce-style `IsDirect` was rejected because the\nprimary lives in two places under that model.\n\nEach row carries a free-form-ish `relationRole` keyed against the\n`account_contact_relation_role` site domain (decision_maker, billing,\ntechnical, signatory, influencer, user, other)."},{"name":"AccountCustomerProjectRate","description":"Resource \u0027AccountCustomerProjectRate\u0027 operations."},{"name":"AccountSetting","description":"Per-account settings \u2014 one row per account, holding both the CUSTOMER (sales-side) and SUPPLIER\n(purchase-side) document defaults. Merged from the former `com_acc_customer_settings` +\n`com_acc_supplier_settings` (which were structurally-parallel per-document-type settings for disjoint\ndocument sets). The two tax defaults are kept distinct: `saleTaxCodeId` (customer) + `purchaseTaxCodeId`\n(supplier). The `*Id(string $key)` helpers resolve `documentDesign{Key}` etc. for ANY document type \u2014\ncustomer doc types (invoice\/quote\/\u2026) and the supplier `purchaseOrder`."},{"name":"SupplierTaxProfile","description":"What a US supplier\u0027s Form W-9 says, and whether its payments go on a 1099 (E38).\n\n**Its own table, not columns on the account**, for two reasons. `AbstractAccount` maps three tables\n(customers and suppliers, the tenant\u0027s own company, data-exchange accounts) and this belongs to none\nbut the first. And the account\u0027s `taxNumber` is NOT the W-9 TIN: on a US account it is usually a\nstate seller\u0027s permit ({@see \\App\\Service\\Finance\\Tax\\TaxNumber\\Rule\\UnitedStatesTaxIdRule}), while\na 1099 needs the federal number \u2014 an EIN, or for a sole proprietor their Social Security number.\n\n**The TIN is encrypted at rest** ({@see EncryptedStringType}): for an individual it IS their SSN.\nIt leaves the server whole in exactly one place, the 1099 export, which is what it is collected for;\nevery screen shows the last four digits.\n\nNo row means nobody has looked at this supplier yet, which the 1099 report treats differently from\na row saying \u0022not a 1099 supplier\u0022 \u2014 the first is a question, the second is an answer."},{"name":"AccountContactShoppingStore","description":"Resource \u0027AccountContactShoppingStore\u0027 operations."},{"name":"Budget","description":"A budget for a fiscal year. Lines hold the budgeted amount per ledger account \u00d7 period (\u00d7 optional cost\ncenter \/ project). Budget-vs-actual compares these against journal-line actuals."},{"name":"BudgetLine","description":"One budgeted amount for a {@see Budget}: ledger account \u00d7 period, optionally scoped to a cost center \/\nproject. `period` is a YYYY-MM string."},{"name":"CostCenter","description":"An analytical cost center (department \/ project \/ product line \/ region). Journal lines carry an\noptional, non-balancing `costCenterId` referencing one of these; budget-vs-actual aggregates by it."},{"name":"CrmCall","description":"Resource \u0027CrmCall\u0027 operations."},{"name":"CrmEmail","description":"Resource \u0027CrmEmail\u0027 operations."},{"name":"CrmLinkedin","description":"Resource \u0027CrmLinkedin\u0027 operations."},{"name":"CrmMeeting","description":"Resource \u0027CrmMeeting\u0027 operations."},{"name":"CrmNote","description":"Resource \u0027CrmNote\u0027 operations."},{"name":"CrmReminderOutboxItem","description":"One invoice waiting to be reminded about (J48) \u2014 what a workflow\u0027s \u0022send a payment reminder\u0022 step\nleaves behind. The step does not send: the {@see \\App\\Service\\Crm\\Workflow\\PaymentReminderDispatcher}\ndoes, after every step of the run has had its say, so one customer with five overdue invoices gets\nONE e-mail listing all five rather than five e-mails.\n\nA reminder is an e-mail plus a history line on the invoice. No document is created \u2014 that is kept for\nthe day a level adds a fee or interest (J48 slice 6).\n\n`status`:\n- `queued` \u2014 goes out with the next dispatch (the end of the hourly scan);\n- `review` \u2014 the step said \u0022hold for review\u0022; a person sends or discards it;\n- `sent`, `skipped` (with `statusMessage` saying why \u2014 paid meanwhile, opted out, not allowed to\n  e-mail), `discarded` (a person decided not to send it).\n\n`subject`\/`body` are rendered when the step runs, so what a reviewer sees is what goes out.\nThe unique key is (enrolment, step): a step queues an invoice once."},{"name":"CrmSms","description":"Resource \u0027CrmSms\u0027 operations."},{"name":"CrmWhatsapp","description":"Resource \u0027CrmWhatsapp\u0027 operations."},{"name":"CrmWorkflow","description":"A CRM workflow (J47, J49): one trigger, a flat AND-list of conditions, and ordered STEPS \u2014 each step\ntimed from the trigger (`afterDays`) with its own ordered actions. A one-step workflow at +0 is the\nJ47 shape. A record\u0027s way through the steps is a {@see CrmWorkflowEnrolment}.\n\nEach step carries a stable `id` (so an enrolment can remember which steps it has done even when\nsteps are reordered or removed) and `addedOn` (so a step added after its moment has passed for a\nrecord is skipped for that record, not fired late). Both are stamped by the server, never the client.\n\nConditions and steps are JSON lists rather than child tables: they are only ever read and written\nwhole, with their workflow, and never queried across workflows. Their shape is validated by\n{@see \\App\\DTO\\Crm\\CrmWorkflowRequest} on the way in \u2014 the engine still treats every entry as\nuntrusted, because a row written before a validation rule existed must skip, not crash."},{"name":"CrmWorkflowEmailOptOut","description":"An address that asked not to receive AUTOMATED e-mail from this tenant\u0027s CRM workflows (J47).\n\nSeparate from mailing-list unsubscribes on purpose: leaving a newsletter is not refusing a follow-up\nabout a quote you asked for, and the reverse. What this blocks is exactly what its link offered.\nStored lower-cased; unique per tenant."},{"name":"CrmWorkflowEmailSend","description":"One automated e-mail a CRM workflow sent (J47) \u2014 what the one-per-recipient-per-day throttle counts.\n\nKept apart from the run log because the throttle is a question across ALL of a tenant\u0027s workflows\n(\u0022has this address had one today?\u0022), which the per-workflow run rows cannot answer with an index.\nWritten and read through {@see \\App\\Repository\\Crm\\CrmWorkflowEmailOptOutRepository}, which owns both\nhalves of the e-mail guardrails."},{"name":"CrmWorkflowEnrolment","description":"One record\u0027s way through one multi-step {@see CrmWorkflow} (J49), for one occurrence of its trigger.\n\n**The unique key is the once-only guarantee** that J47 put on the run row: an occurrence enrols a\nrecord at most once, so a re-fired event or a re-run scan cannot start the steps over. Each step then\nruns once \u2014 its run row is keyed by the step id.\n\n`anchorOn` is the moment the trigger happened; every step is due at `anchorOn + afterDays`.\n`completedStepIds` rather than an index: steps can be reordered or removed after enrolment.\n\nWritten through DBAL, like the run rows, because it is created inside other flushes."},{"name":"CrmWorkflowRun","description":"One STEP of a {@see CrmWorkflow} run against one subject (J49: a run belongs to an\n{@see CrmWorkflowEnrolment}, and its occurrence key names the step, `\u2026:step:\u003CstepId\u003E`).\n\n**The unique key is the idempotency guarantee.** `occurrenceKey` names a single occurrence \u2014 a stage\nmove\u0027s history row, an overdue invoice\u0027s due date \u2014 and the run is CLAIMED by inserting this row\nbefore any action runs ({@see CrmWorkflowRunRepository::claim()}). A second claim of the same\noccurrence inserts nothing, so a re-run scan or a retried request cannot e-mail a customer twice.\n\nWritten through DBAL, not the unit of work: a unique violation through the ORM closes the entity\nmanager, and the engine runs inside other people\u0027s flushes."},{"name":"ForecastSnapshot","description":"One month of the sales forecast as it stood on `takenOn` (J16) \u2014 so \u0022what did we think last month\u0022\nhas an answer. The live forecast is a read over open opportunities, which is what keeps it from\ngoing stale and also why it cannot remember anything; this is the memory.\n\nOne row per tenant \u00d7 day taken \u00d7 pipeline \u00d7 forecast month. `pipelineId` null = all pipelines,\nwhich is what the forecast screen opens on. Figures are company currency, as the forecast is."},{"name":"Lead","description":"Somebody who might become a customer, before they are one.\n\n**A lead deliberately does NOT reference an account or a contact while it is open**, which is the\nwhole reason it is its own table rather than an `AccountContact` with a lifecycle stage. A name and\nan email off a trade-show badge are not a person on the books: making them one pollutes the account\nlist with strangers, and every report that counts customers counts them too. The link is created at\nCONVERSION and recorded here, so the trail from \u0022badge\u0022 to \u0022customer\u0022 survives.\n\n`score` is a plain number the tenant assigns. There is no scoring engine and this does not pretend\nto be one."},{"name":"LossReason","description":"A reason an opportunity was lost \u2014 for loss analysis reporting."},{"name":"Opportunity","description":"A sales opportunity (deal) on a pipeline. References the existing Account \/ AccountContact master \u2014 there\nis no separate CRM contact store. `amount \u00d7 probabilityPct` drives weighted forecasting."},{"name":"OpportunityStageHistory","description":"Audit of an opportunity\u0027s stage transitions \u2014 powers \u0022days in stage\u0022 \/ velocity reporting."},{"name":"Pipeline","description":"A sales pipeline \u2014 an ordered set of {@see PipelineStage}s that opportunities move through."},{"name":"PipelineStage","description":"A column of a {@see Pipeline}. `probabilityPct` seeds an opportunity\u0027s win probability when it lands here;\n`isWon`\/`isLost` mark the closing stages."},{"name":"CrmMailingContact","description":"Resource \u0027CrmMailingContact\u0027 operations."},{"name":"CrmMailingList","description":"Resource \u0027CrmMailingList\u0027 operations."},{"name":"CrmMailingListContact","description":"Resource \u0027CrmMailingListContact\u0027 operations."},{"name":"CrmMailingListUnsubscribe","description":"Resource \u0027CrmMailingListUnsubscribe\u0027 operations."},{"name":"CrmMailingMessage","description":"Resource \u0027CrmMailingMessage\u0027 operations."},{"name":"CrmMailingSent","description":"Resource \u0027CrmMailingSent\u0027 operations."},{"name":"CrmMailingSentEvent","description":"Resource \u0027CrmMailingSentEvent\u0027 operations."},{"name":"DataExchangeJournalLine","description":"Resource \u0027DataExchangeJournalLine\u0027 operations."},{"name":"DataExchangeAccount","description":"The staging row for an account import \u2014 one table for customers AND suppliers.\n\nThis used to be a mapped superclass with two empty concrete subclasses, `DataExchangeCustomer` and\n`DataExchangeSupplier`, over two tables with byte-identical 77-column definitions. Nothing about the\ntwo halves differed except the table they landed in: the import wizard offers ONE \u0022account\u0022 upload\n(and `\/import\/account` was already an alias for `\/import\/customer`), so the split bought a second\ntable, a second entity, a second repository and a second everything, for no distinction anyone made.\n\nWHAT REPLACES THE SPLIT. `isCustomer` \/ `isSupplier` \u2014 booleans this class already inherits, and\nwhich the upload path already set on every row before this merge. They now also PARTITION the\nstaging table, so a supplier upload cannot wipe a customer upload that has not been committed yet;\nthat isolation was the one real thing two tables gave, and {@see DataExchangeAccountRepository}\nkeeps it by scoping every staged read and delete to one role."},{"name":"DataExchangeBankStatement","description":"Resource \u0027DataExchangeBankStatement\u0027 operations."},{"name":"DataExchangeBol","description":"Resource \u0027DataExchangeBol\u0027 operations."},{"name":"DataExchangeBolShipment","description":"Resource \u0027DataExchangeBolShipment\u0027 operations."},{"name":"DataExchangeCustomerContact","description":"Resource \u0027DataExchangeCustomerContact\u0027 operations."},{"name":"DataExchangeDocument","description":"Resource \u0027DataExchangeDocument\u0027 operations."},{"name":"DataExchangeDocumentLine","description":"Resource \u0027DataExchangeDocumentLine\u0027 operations."},{"name":"DataExchangeLedgerAccount","description":"Resource \u0027DataExchangeLedgerAccount\u0027 operations."},{"name":"DataExchangeMarketingMailContact","description":"Resource \u0027DataExchangeMarketingMailContact\u0027 operations."},{"name":"DataExchangeNieuwkoopProduct","description":"Resource \u0027DataExchangeNieuwkoopProduct\u0027 operations."},{"name":"DataExchangePriceListLine","description":"Resource \u0027DataExchangePriceListLine\u0027 operations."},{"name":"DataExchangeProduct","description":"Resource \u0027DataExchangeProduct\u0027 operations."},{"name":"DataExchangeSaleForceAccount","description":"Resource \u0027DataExchangeSaleForceAccount\u0027 operations."},{"name":"DataExchangeSaleForceContact","description":"Resource \u0027DataExchangeSaleForceContact\u0027 operations."},{"name":"DataExchangeSupplierContact","description":"Resource \u0027DataExchangeSupplierContact\u0027 operations."},{"name":"DataExchangeTaxCode","description":"Resource \u0027DataExchangeTaxCode\u0027 operations."},{"name":"ConsignmentHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"CreditNoteHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"DebitNoteHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"ConsignmentAddress","description":"Resource \u0027ConsignmentAddress\u0027 operations."},{"name":"CreditNoteAddress","description":"Resource \u0027CreditNoteAddress\u0027 operations."},{"name":"DebitNoteAddress","description":"Resource \u0027DebitNoteAddress\u0027 operations."},{"name":"InvoiceAddress","description":"Resource \u0027InvoiceAddress\u0027 operations."},{"name":"OrderConfirmationAddress","description":"Resource \u0027OrderConfirmationAddress\u0027 operations."},{"name":"PackingNoteAddress","description":"Resource \u0027PackingNoteAddress\u0027 operations."},{"name":"PaymentReminderAddress","description":"Resource \u0027PaymentReminderAddress\u0027 operations."},{"name":"ProformaInvoiceAddress","description":"Resource \u0027ProformaInvoiceAddress\u0027 operations."},{"name":"PurchaseAddress","description":"Resource \u0027PurchaseAddress\u0027 operations."},{"name":"PurchaseCreditNoteAddress","description":"Resource \u0027PurchaseCreditNoteAddress\u0027 operations."},{"name":"PurchaseDebitNoteAddress","description":"Resource \u0027PurchaseDebitNoteAddress\u0027 operations."},{"name":"PurchaseOrderAddress","description":"Resource \u0027PurchaseOrderAddress\u0027 operations."},{"name":"QuoteAddress","description":"Resource \u0027QuoteAddress\u0027 operations."},{"name":"RecurringInvoiceAddress","description":"Resource \u0027RecurringInvoiceAddress\u0027 operations."},{"name":"RecurringPurchaseAddress","description":"Resource \u0027RecurringPurchaseAddress\u0027 operations."},{"name":"DocumentApproval","description":"Resource \u0027DocumentApproval\u0027 operations."},{"name":"Consignment","description":"Resource \u0027Consignment\u0027 operations."},{"name":"CreditNote","description":"Resource \u0027CreditNote\u0027 operations."},{"name":"DebitNote","description":"Debit note \u2014 a SUPPLEMENTARY INVOICE under CGST s.34(3), issued when the taxable value or tax on an\nalready-issued invoice turns out to be too low.\n\nThe sign matters and is easy to get wrong: a debit note INCREASES the receivable and INCREASES output\ntax, exactly like an invoice. It is NOT \u0022a credit note with a minus\u0022 \u2014 it only shares the credit note\u0027s\nshape (a note referencing an original invoice), not its direction. Anything summing amounts across\ndocument types must treat this like {@see DocumentInvoice}.\n\nReported in GSTR-1 CDNR alongside credit notes, distinguished by `ntty` = \u0027D\u0027."},{"name":"ConsignmentDefinition","description":"Resource \u0027ConsignmentDefinition\u0027 operations."},{"name":"CreditNoteDefinition","description":"Resource \u0027CreditNoteDefinition\u0027 operations."},{"name":"DebitNoteDefinition","description":"Resource \u0027DebitNoteDefinition\u0027 operations."},{"name":"InvoiceDefinition","description":"Resource \u0027InvoiceDefinition\u0027 operations."},{"name":"OrderConfirmationDefinition","description":"Resource \u0027OrderConfirmationDefinition\u0027 operations."},{"name":"PackingNoteDefinition","description":"Resource \u0027PackingNoteDefinition\u0027 operations."},{"name":"PaymentReminderDefinition","description":"Resource \u0027PaymentReminderDefinition\u0027 operations."},{"name":"ProformaInvoiceDefinition","description":"Resource \u0027ProformaInvoiceDefinition\u0027 operations."},{"name":"PurchaseDefinition","description":"Resource \u0027PurchaseDefinition\u0027 operations."},{"name":"PurchaseCreditNoteDefinition","description":"Resource \u0027PurchaseCreditNoteDefinition\u0027 operations."},{"name":"PurchaseDebitNoteDefinition","description":"Resource \u0027PurchaseDebitNoteDefinition\u0027 operations."},{"name":"PurchaseOrderDefinition","description":"Resource \u0027PurchaseOrderDefinition\u0027 operations."},{"name":"QuoteDefinition","description":"Resource \u0027QuoteDefinition\u0027 operations."},{"name":"RecurringInvoiceDefinition","description":"Resource \u0027RecurringInvoiceDefinition\u0027 operations."},{"name":"RecurringPurchaseDefinition","description":"Resource \u0027RecurringPurchaseDefinition\u0027 operations."},{"name":"DocumentEWayBill","description":"One Indian GST **e-way bill** for a document \u2014 the \u0022Part-B\u0022 transport half of an EWB-01, plus the\nportal\u0027s answer.\n\n**Why this is a child row and not eight columns on the invoice** (E29, owner 2026-09-07): one\ninvoice really can need SEVERAL e-way bills. Goods are transhipped, a vehicle breaks down and the\nconsignment moves to another, a single consignment travels on more than one vehicle \u2014 and Part-B\nis legally updatable during the journey, so each update is a record rather than an overwrite.\nColumns on `com_doc_invoices` would have hardcoded one-per-invoice and lost the previous trip.\n\nPart-A (parties, items, values) is NOT stored here \u2014 it is derived from the document every time\nby {@see \\App\\Service\\Finance\\Tax\\GstEWayBill\\EWayBillBuilder}, so it cannot drift from the\ninvoice it describes.\n\nThe `ewb*` fields are the portal\u0027s response: filled by the live IRP\/NIC connector when that lands\n(backlog E1), and typed back in by hand until then \u2014 a user who generated the bill on the portal\nhas a number and a validity date worth keeping."},{"name":"DocumentHistory","description":"Legacy shared history table (com_doc_history). Now a thin subclass of {@see AbstractDocumentHistory}\n\u2014 same columns, same public API \u2014 kept only until the per-type split finishes (Phase 5 drops the table\nand retires this class). New history is written to the per-type tables; see\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"Invoice","description":"Resource \u0027Invoice\u0027 operations."},{"name":"DocumentInvoiceGovtReportPeppolInboundLog","description":"Resource \u0027DocumentInvoiceGovtReportPeppolInboundLog\u0027 operations."},{"name":"DocumentInvoiceGovtReportPeppolOutboundLog","description":"Resource \u0027DocumentInvoiceGovtReportPeppolOutboundLog\u0027 operations."},{"name":"DocumentInvoiceGovtReportSzamlaLog","description":"Resource \u0027DocumentInvoiceGovtReportSzamlaLog\u0027 operations."},{"name":"DocumentLineTax","description":"One applied tax component on one document line \u2014 the **atomic taxable event** and the source of truth\nfor all tax amounts once Phase 0b cuts over. Emitted by the {@see \\App\\Service\\Finance\\Tax\\TaxEngine}:\na line with a two-component GST code produces two rows (CGST + SGST); an EU VAT line produces one.\n\nD8: **one shared table** ({@see DocumentLineTax}, `com_doc_line_taxes`) keyed by\n({@see $module}, {@see $documentLineId}) \u2014 the polymorphic pattern the GL journal lines already use \u2014\nrather than 13 per-document sibling tables + the webshop\u0027s parallel shape. `$module` is the owning\ndocument\u0027s `documentTypeKey` (\u0027invoice\u0027 | \u0027purchase\u0027 | \u0027creditNote\u0027 | \u2026 | \u0027storeOrder\u0027).\n\nD6 invariant: rows store the **final, post-scaling** amounts (after document discount \/ advance \/\nsingle-rate recalc are distributed back onto them), so \u03a3(amount) \u2261 document tax to the cent. GL posting\nand returns read the rows directly with no further adjustment.\n\nPart of GST Phase 0a (additive; nothing reads it until the parity-gated Phase 0b flips).\nSee docs\/plans\/gst-india.md \u00a73.2 (D1\/D8), \u00a73 (D6)."},{"name":"DocumentLineArchive","description":"Resource \u0027DocumentLineArchive\u0027 operations."},{"name":"ConsignmentLine","description":"Resource \u0027ConsignmentLine\u0027 operations."},{"name":"CreditNoteLine","description":"Resource \u0027CreditNoteLine\u0027 operations."},{"name":"DebitNoteLine","description":"Resource \u0027DebitNoteLine\u0027 operations."},{"name":"InvoiceLine","description":"Resource \u0027InvoiceLine\u0027 operations."},{"name":"OrderConfirmationLine","description":"Resource \u0027OrderConfirmationLine\u0027 operations."},{"name":"PackingNoteLine","description":"Resource \u0027PackingNoteLine\u0027 operations."},{"name":"PaymentReminderLine","description":"Resource \u0027PaymentReminderLine\u0027 operations."},{"name":"ProformaInvoiceLine","description":"Resource \u0027ProformaInvoiceLine\u0027 operations."},{"name":"PurchaseLine","description":"Resource \u0027PurchaseLine\u0027 operations."},{"name":"PurchaseCreditNoteLine","description":"Resource \u0027PurchaseCreditNoteLine\u0027 operations."},{"name":"PurchaseDebitNoteLine","description":"Resource \u0027PurchaseDebitNoteLine\u0027 operations."},{"name":"PurchaseOrderLine","description":"Resource \u0027PurchaseOrderLine\u0027 operations."},{"name":"QuoteLine","description":"Resource \u0027QuoteLine\u0027 operations."},{"name":"RecurringInvoiceLine","description":"Resource \u0027RecurringInvoiceLine\u0027 operations."},{"name":"RecurringPurchaseLine","description":"Resource \u0027RecurringPurchaseLine\u0027 operations."},{"name":"DocumentLookupRelated","description":"Resource \u0027DocumentLookupRelated\u0027 operations."},{"name":"OrderConfirmation","description":"Resource \u0027OrderConfirmation\u0027 operations."},{"name":"PackingNote","description":"Resource \u0027PackingNote\u0027 operations."},{"name":"DocumentPackingNoteWaveList","description":"Resource \u0027DocumentPackingNoteWaveList\u0027 operations."},{"name":"PaymentReminder","description":"Resource \u0027PaymentReminder\u0027 operations."},{"name":"ProformaInvoice","description":"Resource \u0027ProformaInvoice\u0027 operations."},{"name":"Purchase","description":"Resource \u0027Purchase\u0027 operations."},{"name":"PurchaseCreditNote","description":"A credit note our SUPPLIER issued to us, recorded against the purchase it corrects. Unlike the\nsales-side pair this one is RECEIVED rather than produced, and it is what reverses input tax\ncredit.\n\n**Extends {@see AbstractDocumentSale} despite facing a supplier**, exactly as\n{@see DocumentPurchaseOrder} does. The name is historical and misleading: what that class\nactually provides is a constructor resolving its own line type through\n{@see \\App\\Service\\Document\\DocumentService::getDocumentLine()}, while\n{@see AbstractDocumentPurchase} hardcodes DocumentLinePurchase and would give this document the\nwrong lines. Direction is decided by {@see \\App\\Enum\\Document\\DocumentType::isPurchase()},\nnever by the base class."},{"name":"PurchaseDebitNote","description":"A debit note WE raise against a supplier - a short delivery, damaged goods, an overcharge. It\nreduces what we owe them.\n\n**Extends {@see AbstractDocumentSale} despite facing a supplier**, exactly as\n{@see DocumentPurchaseOrder} does. The name is historical and misleading: what that class\nactually provides is a constructor resolving its own line type through\n{@see \\App\\Service\\Document\\DocumentService::getDocumentLine()}, while\n{@see AbstractDocumentPurchase} hardcodes DocumentLinePurchase and would give this document the\nwrong lines. Direction is decided by {@see \\App\\Enum\\Document\\DocumentType::isPurchase()},\nnever by the base class."},{"name":"PurchaseOrder","description":"Resource \u0027PurchaseOrder\u0027 operations."},{"name":"Quote","description":"Resource \u0027Quote\u0027 operations."},{"name":"RecurringInvoice","description":"Resource \u0027RecurringInvoice\u0027 operations."},{"name":"DocumentRecurringInvoiceHistory","description":"Resource \u0027DocumentRecurringInvoiceHistory\u0027 operations."},{"name":"RecurringPurchase","description":"Resource \u0027RecurringPurchase\u0027 operations."},{"name":"DocumentRecurringPurchaseHistory","description":"Resource \u0027DocumentRecurringPurchaseHistory\u0027 operations."},{"name":"DocumentShipmentHistory","description":"Resource \u0027DocumentShipmentHistory\u0027 operations."},{"name":"DocumentSourceInvoice","description":"One invoice a credit note, debit note or payment reminder was raised against.\n\n**Why a table and not the `related_document_id` column already on every document.** That column is\na generic \u0022where did this come from\u0022 stamp and it is overloaded \u2014 the channel importers put\n`bol.com` \/ `woo_commerce` in the matching `related_document_name`, and the sales reports FILTER on\nthat (`ReportMiscApiController`). It also holds exactly one value, and CGST \u00a734 (as amended, 2019)\nlets ONE note cover SEVERAL invoices. So the column stays what it is, keeping every existing reader\n\u2014 GSTR-1\u0027s CDNR original-invoice reference included \u2014 working unchanged, and it holds the PRIMARY\nsource; this table holds the full set.\n\nRows are keyed by `document_id` + `module` (the note\u0027s `documentTypeKey`), the same polymorphic\nshape {@see DocumentLineTax} uses, so one table serves all three note types rather than three\nsibling tables that drift.\n\nThe invoice number and date are DENORMALISED deliberately: they are what a person reads and what a\nreturn cites, and they must not change under a finalized note if the invoice is later archived out\nof the hot database."},{"name":"DocumentWorkflowHistory","description":"Resource \u0027DocumentWorkflowHistory\u0027 operations."},{"name":"InvoiceHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"InvoiceProformaHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"InvoiceRecurringEventHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"OrderConfirmationHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"PackingNoteHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"PaymentReminderEventHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"PurchaseCreditNoteHistory","description":"Per-type document history - see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"PurchaseDebitNoteHistory","description":"Per-type document history - see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"PurchaseHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"PurchaseOrderHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"PurchaseRecurringEventHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"QuoteHistory","description":"Per-type document history \u2014 see {@see AbstractDocumentHistory} and\ndocs\/knowledgebase\/plans\/document-history-per-type-split.md."},{"name":"BankFeedAccount","description":"One account at a connected bank, and which of the company\u0027s bank accounts its lines go to (E40).\n\n**Every account must be decided before the first sync** \u2014 linked to a bank account, or ignored.\nThe aggregator\u0027s change stream is one cursor per connection, not per account: syncing past an\nundecided account would mark its transactions seen without storing them anywhere."},{"name":"BankFeedConnection","description":"One company\u0027s live connection to one bank, through a feed aggregator (E40).\n\n**The access token is encrypted at rest** ({@see EncryptedStringType}): it reads that company\u0027s bank\ntransactions for as long as the connection lives. It never leaves the server.\n\n`cursor` is where the last sync stopped in the aggregator\u0027s change stream; advancing it is what\nmakes a transaction \u0022seen\u0022, so it only moves after the lines it covers are safely stored."},{"name":"BankPayerMemory","description":"What we learned about who a bank transaction belongs to: one TOKEN seen on a statement line,\npointing at one of our accounts, because a human confirmed that match.\n\nThis is the mechanism that makes reconciliation stop being tedious. Bank statements identify the\nother party in ways that mean nothing to our ledger \u2014 a UPI handle, an IBAN, a flat number\npencilled into a column \u2014 and the mapping between those and our accounts exists only in the\ntreasurer\u0027s head. Every confirmed match writes it down, so the second month reconciles itself.\n\n**Not a cache and not a guess.** A row here exists only because somebody confirmed it, which is\nwhy it may drive an automatic suggestion at all. `hits` and `lastSeenOn` are evidence for ranking\nwhen two tokens disagree, not a confidence the machine invented.\n\nDeliberately generic: `tokenType` says what kind of identifier it is, so this serves an Indian\nsociety learning UPI handles and a Dutch company learning IBANs with the same table, and neither\nneeds to know about the other.\n\n`purpose` says what the token points AT, and it is why the same table serves both halves of a\nstatement. A society\u0027s file is not only member receipts: it also carries the society\u0027s own spending\n\u2014 a vendor withdrawal, bank charges, rent \u2014 and those settle no invoice at all, they go straight to\na ledger account. That is the same learning problem with a different destination, so it is the same\nrow shape with a different `purpose`, not a second table."},{"name":"FinanceBankStatement","description":"Resource \u0027FinanceBankStatement\u0027 operations."},{"name":"FinanceBankStatementHistory","description":"Resource \u0027FinanceBankStatementHistory\u0027 operations."},{"name":"FinanceBankStatementLine","description":"Resource \u0027FinanceBankStatementLine\u0027 operations."},{"name":"FinanceBankStatementLineTransaction","description":"Resource \u0027FinanceBankStatementLineTransaction\u0027 operations."},{"name":"FinanceJournal","description":"Resource \u0027FinanceJournal\u0027 operations."},{"name":"FinanceJournalLine","description":"Resource \u0027FinanceJournalLine\u0027 operations."},{"name":"FinanceLedgerAccount","description":"Resource \u0027FinanceLedgerAccount\u0027 operations."},{"name":"FinanceLedgerAccountCategory","description":"Resource \u0027FinanceLedgerAccountCategory\u0027 operations."},{"name":"PaymentAllocation","description":"Allocation of a single payment to a single document (invoice or purchase).\n\nThe allocation layer decouples \u0022a payment was received\u0022 from \u0022which invoices it settled\u0022,\nso one payment can be split across many documents and a document\u0027s balance is derived as\n`amount \u2212 \u03a3 allocations` rather than stored as a flag. See docs\/plans\/payment-reconciliation.md."},{"name":"InvoicePayment","description":"Resource \u0027InvoicePayment\u0027 operations."},{"name":"PurchasePayment","description":"Resource \u0027PurchasePayment\u0027 operations."},{"name":"TaxCode","description":"Resource \u0027TaxCode\u0027 operations."},{"name":"TaxCodeComponent","description":"One component of a {@see TaxCode}. A tax code decomposes into 1..n ordered components\n({@see $lineNumber}); the {@see \\App\\Service\\Finance\\Tax\\TaxEngine} evaluates each against the supply\ncontext and emits a {@see \\App\\Entity\\Document\\DocumentLineTax} row per matching component.\n\nSupersedes the four fixed country\/state\/county\/city percentage tiers on {@see AbstractTaxCode} \/\n`AbstractTaxCodePercentage` (D7) and the whole date-bounded `TaxCodePercentage` child:\na component is itself date-bounded ({@see $dateStart}\/{@see $dateEnd}).\n\nFor EU tenants a code has a single {@see TaxComponentCategory::VAT} component whose rate == the code\u0027s\nheadline `taxCountryCodePercentage` \u2014 reproducing today\u0027s flat single-rate behaviour exactly.\n\nPart of GST Phase 0a (additive; nothing reads it until the parity-gated Phase 0b flips).\nSee docs\/plans\/gst-india.md \u00a73.1 (D1), \u00a73 (D7)."},{"name":"TaxCodeLegalText","description":"Resource \u0027TaxCodeLegalText\u0027 operations."},{"name":"TaxCodeReportSection","description":"Resource \u0027TaxCodeReportSection\u0027 operations."},{"name":"TaxReportSection","description":"Resource \u0027TaxReportSection\u0027 operations."},{"name":"FiscalPeriod","description":"An accounting period (year + period-within-year, derived from `OwnerSetting.fiscalYearStart`).\nPosting into a closed period is refused. See docs\/plans\/gl-refactor.md \u00a71 \u2014 part of the GL refactor\nG0 schema (additive; nothing posts through it until G1). Closing a period = filing the tax return for it."},{"name":"Journal","description":"A journal \u2014 the *book* entries are recorded in (Sales, Purchases, Bank, Cash, General). See\ndocs\/plans\/gl-refactor.md \u00a71. Part of the GL refactor G0 schema (additive; nothing posts through it\nuntil G1). Bank journals own the IBAN\/BIC fields that today sit on every transaction row."},{"name":"JournalEntry","description":"A journal entry \u2014 one balanced transaction (\u03a3debit \u2261 \u03a3credit over its lines) recorded in a Journal.\nReplaces the legacy `FinanceJournal` row-per-transaction model. Posted entries are immutable;\ncorrections are reversing entries linked via `reversalOfEntryId`. See docs\/plans\/gl-refactor.md \u00a71.\nPart of the GL refactor G0 schema (additive; nothing posts through it until G1)."},{"name":"JournalEntryLine","description":"One debit or credit leg of a JournalEntry. Exactly one of `debit`\/`credit` is non-zero, both \u2265 0 \u2014\nthe single amount representation that replaces the legacy signed `amountDc` + C\/D `transactionType`\n+ reporting copies. Amounts are decimal strings (bcmath) in the owner\u0027s functional currency;\n`amountTransaction` + `currencyCode` + `exchangeRate` carry the foreign-currency view. Tax legs carry\ntheir tax identity (`taxCodeId`\/`taxComponentId`\/`taxBaseAmount`) \u2014 the tax return reads these lines,\nnot base-line metadata. See docs\/plans\/gl-refactor.md \u00a71 (JournalEntryLine columns).\nPart of the GL refactor G0 schema (additive; nothing posts through it until G1)."},{"name":"FixedAsset","description":"A capitalised fixed asset. Activating it generates a depreciation schedule; a cron posts due rows to the GL."},{"name":"FixedAssetCategory","description":"A class of fixed assets sharing depreciation defaults and the three GL accounts depreciation posts to.\nThe accounts reference the tenant\u0027s own chart (set by the user) \u2014 postings graceful-skip when unset."},{"name":"FixedAssetDepreciation","description":"One period of an asset\u0027s depreciation schedule. `(owner_id, asset_id, period_date)` is the idempotency\nkey \u2014 a period is posted to the GL at most once."},{"name":"FixedAssetDisposal","description":"Records the disposal of a fixed asset: removes cost + accumulated depreciation, books proceeds, and the\nresulting gain\/loss. `gainLoss` = proceeds \u2212 net book value at disposal."},{"name":"FixedAssetRevaluation","description":"A revaluation (upward) or impairment (downward) of a fixed asset\u0027s carrying amount. `oldValue` is\nthe net book value the moment before; `newValue` the value the owner set. The delta posts to the\nGL (up: Dr asset \/ Cr revaluation reserve; down: Dr impairment loss \/ Cr asset \u2014 `journalId`), and\nthe remaining depreciation schedule is regenerated from the new basis. The record itself is kept\neven when the category\u0027s accounts are unset (journal graceful-skips, same as posting\/disposal)."},{"name":"GeneralFeatureRequest","description":"Resource \u0027GeneralFeatureRequest\u0027 operations."},{"name":"GeneralFeedback","description":"Resource \u0027GeneralFeedback\u0027 operations."},{"name":"GeneralUpload","description":"Resource \u0027GeneralUpload\u0027 operations."},{"name":"HelpdeskTicket","description":"Resource \u0027HelpdeskTicket\u0027 operations."},{"name":"Department","description":"An organisational department \u2014 formalises the legacy free-text `AccountContact.department` into a tree\nwith a manager and an optional cost center."},{"name":"Employee","description":"An employee \u2014 one identity per person: this references the existing {@see \\App\\Entity\\AccountContact}\nvia `accountContactId` (unique per owner) and never duplicates the person record."},{"name":"EmploymentContract","description":"What an employee is paid, and for what span.\n\n**A raise is a NEW contract, not an edit.** An employee accumulates a series of them, and a pay run\npicks the one whose date range covers the period being paid. That is what lets a payslip from two\nyears ago still explain itself: the terms it was calculated from are still on the row that produced\nit, rather than having been overwritten by every subsequent raise.\n\n`baseSalary` is quoted in `salaryPeriod` units; {@see \\App\\Service\\Hrm\\PayrollService} is the only\nplace that reduces it to a month, so the conversion cannot drift between callers."},{"name":"ExpenseClaim","description":"Money an employee spent on the company\u0027s behalf and wants back.\n\n**This is not the finance Expenses screen**, which lists bank-statement lines the company has\nalready paid out. A claim is a debt in the other direction: the employee is out of pocket until the\ncompany reimburses them, so an approved claim is a liability, not a settled cost. Nothing is folded\nbetween the two.\n\n`totalAmount` is derived from the lines on every write. Storing it is what lets a list screen sort\nand total without loading every line of every claim."},{"name":"ExpenseClaimLine","description":"One receipt on a claim: what was bought, when, for how much, and which ledger account it lands on.\n\n`ledgerAccountId` is per LINE, not per claim, because one trip is routinely a flight, a hotel and a\ndinner \u2014 three different expense accounts on one claim. A line with no account still saves; the\napproval journal graceful-skips rather than guessing where a cost belongs."},{"name":"LeaveBalance","description":"One employee\u0027s entitlement in one leave type for one year.\n\n**Four buckets, not one number, and that is deliberate.** A single \u0022remaining\u0022 column cannot answer\nthe question a second request asks \u2014 \u0022are these days already spoken for?\u0022 \u2014 so submitted-but-unanswered\ndays sit in `pending` from the moment they are requested. Without that, two requests over the same\nweek both pass the balance check and the employee is approved for leave they do not have.\n\n`available()` is therefore accrued + carriedOver \u2212 taken \u2212 pending."},{"name":"LeaveRequest","description":"One employee\u0027s request to be away between two dates.\n\n`quantity` is stored rather than recomputed from the dates, because it is not derivable: half days,\na company\u0027s own weekend, and a public-holiday calendar all change the answer, and the number the\nbalance was charged must stay the number the balance is credited back on cancellation. The service\ncomputes a sensible default (working days, Mon\u2013Fri); an explicit quantity overrides it."},{"name":"LeaveType","description":"A kind of leave a tenant grants \u2014 annual, sick, unpaid, casual. The tenant defines these; nothing\nis seeded, because \u0022annual leave\u0022 means a different number of days in every country this ships to."},{"name":"PayRun","description":"One payroll period for the whole company \u2014 the container the payslips hang off.\n\n`period` is a `YYYY-MM` string rather than a date because that is what it means: a run belongs to a\nmonth, not to a day in it. Storing a date would invite timezone arithmetic on something that has no\ntime in it, which is how a run for March becomes a run for February in one timezone.\n\nThe two ids at the bottom are the audit trail. `journalId` is set when the run posts and is what\nstops a second posting of the same wage bill; `paymentJournalId` is set when the net pay actually\nleaves. Both stay null on a run that graceful-skipped for want of ledger accounts, which is a state\nthe screens have to be able to tell apart from \u0022not posted yet\u0022."},{"name":"PayrollComponent","description":"One named line that can appear on a payslip \u2014 a bonus, a pension deduction, employer social\nsecurity.\n\nThese are the tenant\u0027s own configuration, which is the whole shape of the P4 engine: there is no\nbuilt-in statutory table, and this product does not pretend to know any country\u0027s withholding\nrates. A tenant states its components and their rates, and payroll applies them consistently.\nReal statutory packs are P5 \u2014 see {@see \\App\\Service\\Hrm\\PayrollTaxProviderInterface}.\n\n`isTaxable` only means something on an EARNING: it says whether the amount joins the base that\npercent-based deductions are computed from. A non-taxable earning (a mileage reimbursement) still\nraises net pay but not the tax base."},{"name":"Payslip","description":"One employee\u0027s pay for one run.\n\nThe totals are stored rather than summed from the lines on read, for the same reason a document\nstores its total: a run of 200 people would otherwise load several thousand lines to draw a list.\n{@see \\App\\Service\\Hrm\\PayrollService} is the only writer, and it writes lines and totals together.\n\n**`employerCost` is not part of `netPay` and never nets against it.** It is what the company pays on\ntop of the salary, so it belongs to the run\u0027s cost but never to the employee\u0027s bank transfer.\nAdding it into net pay is the classic payroll bug \u2014 it inflates every transfer by the employer\u0027s\nown social-security bill.\n\nThe contract terms are copied onto the slip at calculation. A slip has to keep explaining itself\nafter the contract behind it is superseded by a raise, and pointing at a mutable row would mean\nlast year\u0027s payslip silently restating itself at this year\u0027s salary."},{"name":"PayslipLine","description":"One line on a payslip \u2014 the base salary, a bonus, a tax withheld, an employer contribution.\n\n`amount` is ALWAYS POSITIVE. The sign is carried by `type`, and reading it any other way is how a\ndeduction ends up added. That is deliberate rather than incidental: a signed column invites callers\nto sum the whole slip and trust the answer, which silently nets employer costs (which belong to\nneither gross nor net) into the employee\u0027s take-home.\n\nThe component\u0027s name, rate and account are COPIED here at calculation, not referenced. A payslip is\na statement of what was paid, and it must keep saying so after the component behind it is renamed,\nre-rated or switched off. `payrollComponentId` remains for tracing, but nothing on this row is\nre-read through it."},{"name":"PublicHoliday","description":"One day the whole company does not work (J15 \u2014 until 2026-08-12 nothing modelled holidays, so a\nweek containing one needed an explicitly typed leave quantity).\n\nTenant-defined, one row per date, nothing seeded: which days are holidays is a fact about the\ncompany\u0027s country and sector, and this app cannot know it. A holiday only changes DERIVED\nquantities (the Mon\u2013Fri default in {@see \\App\\Service\\Hrm\\LeaveService::workingDaysBetween}) \u2014\nquantities already stored on leave requests are never rewritten, for the same reason the balance\ncredits back exactly what was charged."},{"name":"ProductStockLevel","description":"Denormalised per-location running balance \u2014 the queryable \u0022on hand here\u0022. Maintained exclusively by\n{@see \\App\\Service\\Inventory\\WarehouseStockService::applyMutation()}; never written directly elsewhere.\n\nLogical unique key: (owner_id, product_id, warehouse_id, location_id)."},{"name":"StockCount","description":"A cycle\/full stock count at a warehouse. On open, each line freezes the system quantity; on post, the\ncounted-vs-system variance is applied to stock and posted as an adjustment journal."},{"name":"StockCountLine","description":"One product\/location line of a {@see StockCount}. `systemQuantity` is frozen when the count opens;\n`countedQuantity` is entered during counting; the variance (counted \u2212 system) is applied on post."},{"name":"StockTransfer","description":"A movement of stock between two warehouses. Lines hold the products\/quantities. Stock leaves the source\non send and arrives at the destination on receive \u2014 both via the WarehouseStockService choke point."},{"name":"StockTransferLine","description":"One product\/quantity line of a {@see StockTransfer}, optionally pinned to a source\/destination location."},{"name":"Warehouse","description":"A physical (or logical) stock-holding site for a tenant. Existing single-bucket tenants get one default\nwarehouse (code MAIN) on back-fill; all current stock maps to it."},{"name":"WarehouseLocation","description":"A bin\/shelf\/zone within a warehouse. `parentLocationId` lets locations nest (zone \u2192 aisle \u2192 shelf \u2192 bin)."},{"name":"License","description":"Resource \u0027License\u0027 operations."},{"name":"Loan","description":"Money borrowed, and the terms that decide how it is repaid.\n\nBefore this existed an instalment\u0027s interest-vs-principal split was worked out by hand and typed into\na manual journal every month (BACKLOG J21). The split is arithmetic \u2014 the schedule is computed once\nfrom these terms and each instalment posts itself when its date arrives.\n\n**The three ledger accounts are the whole GL contract**, and none of them is guessed:\n\n - `liabilityLedgerAccountId` \u2014 what is owed. Credited by the drawdown, debited by each instalment\u0027s\n   principal, and at zero when the loan closes.\n - `interestLedgerAccountId` \u2014 the cost of borrowing. Debited by each instalment\u0027s interest.\n - `paymentLedgerAccountId` \u2014 the bank account the money moves through: debited by the drawdown,\n   credited by every instalment.\n\nA loan with any of them unset posts nothing, exactly as an asset with no category accounts does \u2014\nthe schedule stays scheduled and retries once the accounts are configured."},{"name":"LoanScheduleLine","description":"One instalment of a loan\u0027s amortisation schedule.\n\n`(owner_id, loan_id, period_number)` is the idempotency key \u2014 an instalment posts to the GL at most\nonce, the same guarantee `com_fa_depreciations` gives a depreciation period.\n\nThe stored figures are the whole point of the feature: `interestAmount` and `principalAmount` are the\nsplit that used to be worked out by hand every month. They are stored rather than recomputed on read\nbecause a POSTED instalment must keep saying what it posted \u2014 the journal entry cites this row, and\nrecomputing after a rate correction would leave the two disagreeing."},{"name":"Mailbox","description":"Resource \u0027Mailbox\u0027 operations."},{"name":"MailboxOut","description":"Resource \u0027MailboxOut\u0027 operations."},{"name":"Bom","description":"A versioned bill of materials for a finished-good product. Lines list the components consumed to produce\n`outputQuantity` of the finished good. Can be seeded from an existing ProductGroup kit."},{"name":"BomLine","description":"One component line of a {@see Bom}: `quantityPer` units of the component per BOM output, plus a scrap\nallowance."},{"name":"Routing","description":"The ordered sequence of operations that manufactures a product \u2014 attach it to a BOM\n(`Bom.routingId`) and releasing a work order copies its operations in as\n{@see WorkOrderOperation} rows, planned hours scaled to the order quantity."},{"name":"RoutingOperation","description":"One step of a {@see Routing}: what happens, where ({@see WorkCenter}), and how long it should\ntake. `standardHours` is PER BOM OUTPUT BATCH \u2014 releasing a work order scales it by the same\nplanned-quantity \u00f7 output-quantity factor the component explosion uses."},{"name":"WorkCenter","description":"A place where labour happens \u2014 an assembly bench, a paint booth, a CNC machine. Carries the two\nrates that turn logged hours into money (`costPerHour`, plus `overheadPct` applied ON TOP of the\nlabour cost) and the two applied-cost GL accounts those postings credit. Either account being\nunset graceful-skips its posting \u2014 hours still accumulate (tracking \u2260 journal), the same contract\nmaterial WIP has."},{"name":"WorkOrder","description":"An order to manufacture `plannedQuantity` of a finished good from a BOM. Releasing it explodes the BOM\ninto component requirements; consuming issues components (Dr WIP \/ Cr Stock); completing receives the\nfinished good (Dr Stock \/ Cr WIP). The WIP ledger account is chosen per work order (graceful-skip if unset)."},{"name":"WorkOrderComponent","description":"A component requirement of a {@see WorkOrder}, exploded from the BOM on release. `consumedQuantity`\ntracks issuance against `requiredQuantity`."},{"name":"WorkOrderOperation","description":"One operation of a {@see WorkOrder}, copied from the BOM\u0027s routing at release (planned hours\nscaled to the order quantity). `actualHours` accumulates as hours are logged; each logging posts\nthe labour (and overhead) application to WIP at the work center\u0027s rates."},{"name":"MetaDataApiSetup","description":"Resource \u0027MetaDataApiSetup\u0027 operations."},{"name":"OwnerBankAccount","description":"Resource \u0027OwnerBankAccount\u0027 operations."},{"name":"OwnerDeliveryTerm","description":"Resource \u0027OwnerDeliveryTerm\u0027 operations."},{"name":"OwnerDocumentDesign","description":"The LAYOUT half of a document design: where things sit on the page and how they look.\nONE row per tenant, shared by every {@see OwnerDocumentDesignConfig} config row.\n\nIt is the ONLY home for layout, and layout is ONE JSON column: the `template` blob\n(`base` + `baseStyle` + `page` + `grid` + `perType` + page setup). Config rows delegate to it;\nthey hold no layout copy of their own.\n\n**Every block\u0027s content lives on its PLACEMENT** (`grid.placements[].content`) \u2014 including the\nlogo image and the custom image. There are no side-columns for block content: the `logo` and\n`custom_block_image` columns were exactly that and were dropped in A21, along with the\n`blocks` \/ `blocksOrder` \/ `blockholders` seeds (`BLOCK_STYLE`, `BLOCKS_ORDER`, `BLOCK_HOLDERS`)\nand the v2\u2192v5 converters that existed only to heal rows those seeds produced.\n\nSee docs\/knowledgebase\/domain\/document-design-data-model.md."},{"name":"OwnerDocumentDesignConfig","description":"The CONFIG half of a document design: what a document of this TYPE, in this LANGUAGE, shows.\nOne row per type \u00d7 language.\n\nIt owns NO layout. Where things sit and how they look lives on {@see OwnerDocumentDesign}\n(one shared row per tenant), reached through `design`. Every `getTemplate*()` \/ logo\naccessor here is pure delegation to it \u2014 deliberately, so there is exactly one source of truth.\nUntil 2026-08-03 this row carried its own `template` and `logo` copies and every getter was a\n`layout ?? own copy` fallback chain; the factory wrote both halves and the editor read one while\nwriting the other. See docs\/knowledgebase\/domain\/document-design-data-model.md."},{"name":"OwnerDocumentTerm","description":"Resource \u0027OwnerDocumentTerm\u0027 operations."},{"name":"OwnerEmailDesign","description":"Resource \u0027OwnerEmailDesign\u0027 operations."},{"name":"OwnerEmailSender","description":"Resource \u0027OwnerEmailSender\u0027 operations."},{"name":"OwnerEmailServer","description":"Resource \u0027OwnerEmailServer\u0027 operations."},{"name":"OwnerEmailSetting","description":"Resource \u0027OwnerEmailSetting\u0027 operations."},{"name":"OwnerLog","description":"Resource \u0027OwnerLog\u0027 operations."},{"name":"OwnerPaymentTerm","description":"Resource \u0027OwnerPaymentTerm\u0027 operations."},{"name":"OwnerSalutation","description":"Resource \u0027OwnerSalutation\u0027 operations."},{"name":"OwnerSelectbox","description":"Resource \u0027OwnerSelectbox\u0027 operations."},{"name":"OwnerSequenceNumber","description":"Resource \u0027OwnerSequenceNumber\u0027 operations."},{"name":"OwnerSetting","description":"Resource \u0027OwnerSetting\u0027 operations."},{"name":"OwnerStatistics","description":"Resource \u0027OwnerStatistics\u0027 operations."},{"name":"OwnerTask","description":"Resource \u0027OwnerTask\u0027 operations."},{"name":"OwnerTaskComment","description":"Resource \u0027OwnerTaskComment\u0027 operations."},{"name":"OwnerTaskHistory","description":"Resource \u0027OwnerTaskHistory\u0027 operations."},{"name":"OwnerUnit","description":"Resource \u0027OwnerUnit\u0027 operations."},{"name":"OwnerWorkflowStatus","description":"Resource \u0027OwnerWorkflowStatus\u0027 operations."},{"name":"OwnerContactCalendarEvent","description":"Resource \u0027OwnerContactCalendarEvent\u0027 operations."},{"name":"OwnerContactDashboard","description":"Resource \u0027OwnerContactDashboard\u0027 operations."},{"name":"OwnerContactMessageOfTheDay","description":"Resource \u0027OwnerContactMessageOfTheDay\u0027 operations."},{"name":"OwnerContactNotification","description":"Resource \u0027OwnerContactNotification\u0027 operations."},{"name":"OwnerContactSearchFilter","description":"Resource \u0027OwnerContactSearchFilter\u0027 operations."},{"name":"OwnerContactSetting","description":"Resource \u0027OwnerContactSetting\u0027 operations."},{"name":"OwnerContactSettingMail","description":"Resource \u0027OwnerContactSettingMail\u0027 operations."},{"name":"OwnerContactSettingNotification","description":"Resource \u0027OwnerContactSettingNotification\u0027 operations."},{"name":"OwnerContactStatistics","description":"Resource \u0027OwnerContactStatistics\u0027 operations."},{"name":"GoodsReceipt","description":"A receipt of goods against a purchase order. Receiving moves stock (via the Inventory choke point) at the\nreceipt \u2014 not at the supplier invoice \u2014 when the Procure-to-Pay module is on."},{"name":"GoodsReceiptLine","description":"One product line of a {@see GoodsReceipt}, linked back to the originating purchase-order line."},{"name":"ProductCatalog","description":"Resource \u0027ProductCatalog\u0027 operations."},{"name":"ProductCatalogLine","description":"Resource \u0027ProductCatalogLine\u0027 operations."},{"name":"ProductCategory","description":"Resource \u0027ProductCategory\u0027 operations."},{"name":"ProductGroup","description":"Resource \u0027ProductGroup\u0027 operations."},{"name":"ProductGroupLine","description":"Resource \u0027ProductGroupLine\u0027 operations."},{"name":"ProductHistory","description":"Resource \u0027ProductHistory\u0027 operations."},{"name":"ProductPriceList","description":"Resource \u0027ProductPriceList\u0027 operations."},{"name":"ProductPriceListLine","description":"Resource \u0027ProductPriceListLine\u0027 operations."},{"name":"ProductStockMutation","description":"Resource \u0027ProductStockMutation\u0027 operations."},{"name":"ProductTranslation","description":"Resource \u0027ProductTranslation\u0027 operations."},{"name":"ProductWorkflowHistory","description":"Resource \u0027ProductWorkflowHistory\u0027 operations."},{"name":"Project","description":"Resource \u0027Project\u0027 operations."},{"name":"ProjectApproval","description":"Resource \u0027ProjectApproval\u0027 operations."},{"name":"ProjectProjectTask","description":"Resource \u0027ProjectProjectTask\u0027 operations."},{"name":"ProjectTask","description":"Resource \u0027ProjectTask\u0027 operations."},{"name":"ProjectProjectMember","description":"Resource \u0027ProjectProjectMember\u0027 operations."},{"name":"ProjectTeam","description":"Resource \u0027ProjectTeam\u0027 operations."},{"name":"ProjectTeamMember","description":"Resource \u0027ProjectTeamMember\u0027 operations."},{"name":"ProjectTimesheet","description":"Resource \u0027ProjectTimesheet\u0027 operations."},{"name":"ProjectTimesheetToWorklog","description":"Resource \u0027ProjectTimesheetToWorklog\u0027 operations."},{"name":"Store","description":"Resource \u0027Store\u0027 operations."},{"name":"StoreCarousel","description":"Resource \u0027StoreCarousel\u0027 operations."},{"name":"StoreDeal","description":"Resource \u0027StoreDeal\u0027 operations."},{"name":"StoreImage","description":"Resource \u0027StoreImage\u0027 operations."},{"name":"StoreMenu","description":"Resource \u0027StoreMenu\u0027 operations."},{"name":"StoreMenuLine","description":"Resource \u0027StoreMenuLine\u0027 operations."},{"name":"StoreOrder","description":"Resource \u0027StoreOrder\u0027 operations."},{"name":"StoreOrderLine","description":"Resource \u0027StoreOrderLine\u0027 operations."},{"name":"StoreTemplate","description":"Resource \u0027StoreTemplate\u0027 operations."},{"name":"StoreText","description":"Resource \u0027StoreText\u0027 operations."}],"webhooks":[]}