@epilot/entity-client 1.31.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/definition.js +1 -1
- package/dist/openapi.d.ts +48 -162
- package/dist/openapi.json +108 -222
- package/package.json +1 -1
package/dist/definition.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){for(var i in t)e[i]=t[i];t.__esModule&&Object.defineProperty(e,"__esModule",{value:!0})}(exports,(()=>{"use strict";var e={914:function(e,t,i){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=n(i(279));t.default=a.default},279:e=>{e.exports=JSON.parse('{"openapi":"3.0.2","info":{"title":"Entity API","version":"1.0.0","description":"Core entity data layer API for [epilot SaaS](https://go.epilot.cloud).\\n\\nUse this API to configure and access domain entities like Contacts, Accounts, Products and Contracts.\\n\\nAll mutations to entities produce Entity Activity events to a EventBridge event bus. (to be documented)\\n"},"tags":[{"name":"Schemas","description":"Configure Entities"},{"name":"Entities","description":"CRUD Access for Entities"},{"name":"Activity","description":"Event System for Entities"},{"name":"Blueprints","description":"Blueprints for Schemas"}],"security":[{"EpilotAuth":[]},{"AsOrganization":[]}],"paths":{"/schemas":{"get":{"operationId":"listSchemas","summary":"listSchemas","tags":["Schemas"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/EntitySchemaItem"}}}}}}}}}},"/schemas/{slug}":{"get":{"operationId":"getSchema","summary":"getSchema","tags":["Schemas"],"parameters":[{"in":"path","name":"slug","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySchemaItem"}}}}}},"put":{"operationId":"putSchema","summary":"putSchema","tags":["Schemas"],"parameters":[{"in":"path","name":"slug","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySchema"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySchemaItem"}}}}}},"delete":{"operationId":"deleteSchema","summary":"deleteSchema","tags":["Schemas"],"parameters":[{"in":"path","name":"slug","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}}],"responses":{"204":{"description":"Success"}}}},"/entity:search":{"post":{"operationId":"searchEntities","summary":"searchEntities","description":"Search for entities. Supports ordering and pagination. Lucene query syntax supported for complex querying.\\n\\n## Relations\\n\\nWhen `hydrate=true`, relation attributes are replaced in-place with nested entity values.\\n\\nExample:\\n```json\\n{\\n \\"_id\\": \\"123\\",\\n \\"name\\": \\"parent\\",\\n \\"_tags\\": [\\"parent\\"],\\n \\"contacts\\": {\\n \\"$relation\\": [\\n { \\"entity_id\\": \\"456\\", \\"_tags\\": [\\"primary\\"] },\\n { \\"entity_id\\": \\"789\\", \\"_tags\\": [\\"secondary\\"] },\\n ]\\n }\\n}\\n```\\n\\nBecomes:\\n```json\\n{\\n \\"_id\\": \\"123\\",\\n \\"name\\": \\"parent\\",\\n \\"_tags\\": [\\"parent\\"],\\n \\"contacts\\": [\\n {\\n \\"$relation\\": { \\"entity_id\\": \\"456\\", \\"_tags\\": [\\"primary\\"] },\\n \\"_id\\": \\"456\\",\\n \\"name\\": \\"child 1\\",\\n \\"_tags\\": [\\"child\\"]\\n },\\n {\\n \\"$relation\\": { \\"entity_id\\": \\"789\\", \\"_tags\\": [\\"secondary\\"] },\\n \\"_id\\": \\"789\\",\\n \\"name\\": \\"child 2\\",\\n \\"_tags\\": [\\"child\\"]\\n }\\n ]\\n}\\n```\\n","tags":["Entities"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySearchParams"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySearchResults"}}}}}}},"/entity:autocomplete":{"get":{"operationId":"autocomplete","summary":"autocomplete","description":"Autocomplete entity attributes\\n","tags":["Entities"],"parameters":[{"name":"input","in":"query","description":"Input to autocomplete","schema":{"type":"string"}},{"name":"attribute","in":"query","description":"Autocomplete attribute","schema":{"type":"string","example":"_tags"},"required":true},{"name":"slug","in":"query","description":"Limit results to entity schema","schema":{"$ref":"#/components/schemas/EntitySlug"}},{"name":"size","in":"query","description":"Maximum number of results to return","schema":{"type":"integer","default":10,"minimum":1,"maximum":250}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"hits":{"type":"number","example":1},"results":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"boolean"},{"type":"object","additionalProperties":true}]},"example":["value"]}}}}}}}}},"/entity/{slug}":{"post":{"operationId":"createEntity","summary":"createEntity","description":"Creates a new entity using a key.\\n\\n## Activity\\n\\nIf no `activity_id` query parameter is provided, implicitly creates Activity of type `EntityCreated`\\n\\n## Relations\\n\\nTo create a relation, store a property object that defines a `$relation` array.\\n\\nExample:\\n\\n```json\\n{\\n \\"contacts\\": {\\n \\"$relation\\": [\\n { \\"entity_id\\": \\"3fa85f64-5717-4562-b3fc-2c963f66afa6\\" }\\n ]\\n }\\n}\\n```\\n\\nThe items in `$relation` support two properties:\\n- `entity_id` - The ID of the entity to link\\n- `_tags` - Tags or labels for the relation (optional)\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Schema","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"query","name":"activity_id","description":"Activity to include in event feed","required":false,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entity"},"examples":{"contact":{"$ref":"#/components/examples/ContactEntity"},"account":{"$ref":"#/components/examples/AccountEntity"},"product":{"$ref":"#/components/examples/ProductEntity"},"price":{"$ref":"#/components/examples/PriceEntity"},"tax":{"$ref":"#/components/examples/TaxEntity"},"order":{"$ref":"#/components/examples/OrderEntity"},"opportunity":{"$ref":"#/components/examples/OpportunityEntity"},"email template":{"$ref":"#/components/examples/EmailTemplateEntity"},"file":{"$ref":"#/components/examples/FileEntity"},"workflow step":{"$ref":"#/components/examples/WorkflowStepEntity"},"submission":{"$ref":"#/components/examples/SubmissionEntity"}}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityItem"}}}}}}},"/entity/{slug}:upsert":{"patch":{"operationId":"upsertEntity","summary":"upsertEntity","description":"Create or update an entity using `unique_key`\\n\\n- If no entities are matched, a new entity is created.\\n- If exactly one entity is matched, a `PATCH`-style update is applied to the existing entity.\\n- If more than one entity is matched a `409` Error is returned\\n\\n## Activity\\n\\nIf no `activity_id` query parameter is provided, implicitly creates Activity of type `EntityCreated` or `EntityUpdated`\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Schema","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"query","name":"activity_id","description":"Activity to include in event feed","required":false,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"unique_key":{"type":"array","items":{"type":"string","example":"email.0.email"},"example":["_id"]},"entity":{"$ref":"#/components/schemas/Entity"}},"required":["unique_key","entity"]}}}},"responses":{"200":{"description":"Entity was updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityItem"}}}},"201":{"description":"Entity was created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityItem"}}}},"409":{"description":"Conflict: multiple entities were matched with `unique_key`"}}}},"/entity/{slug}/{id}":{"get":{"operationId":"getEntity","summary":"getEntity","description":"Gets Entity and relations by id.\\n\\n## Relations\\n\\nWhen `hydrate=true`, relation attributes are replaced in-place with nested entity values.\\n\\nExample:\\n```json\\n{\\n \\"_id\\": \\"123\\",\\n \\"name\\": \\"parent\\",\\n \\"_tags\\": [\\"parent\\"],\\n \\"contacts\\": {\\n \\"$relation\\": [\\n { \\"entity_id\\": \\"456\\", \\"_tags\\": [\\"primary\\"] },\\n { \\"entity_id\\": \\"789\\", \\"_tags\\": [\\"secondary\\"] },\\n ]\\n }\\n}\\n```\\n\\nBecomes:\\n```json\\n{\\n \\"_id\\": \\"123\\",\\n \\"name\\": \\"parent\\",\\n \\"_tags\\": [\\"parent\\"],\\n \\"contacts\\": [\\n {\\n \\"$relation\\": { \\"entity_id\\": \\"456\\", \\"_tags\\": [\\"primary\\"] },\\n \\"_id\\": \\"456\\",\\n \\"name\\": \\"child 1\\",\\n \\"_tags\\": [\\"child\\"]\\n },\\n {\\n \\"$relation\\": { \\"entity_id\\": \\"789\\", \\"_tags\\": [\\"secondary\\"] },\\n \\"_id\\": \\"789\\",\\n \\"name\\": \\"child 2\\",\\n \\"_tags\\": [\\"child\\"]\\n }\\n ]\\n}\\n```\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Type","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"path","name":"id","description":"Entity id","required":true,"schema":{"$ref":"#/components/schemas/EntityId"}},{"in":"query","name":"hydrate","description":"When true, enables entity hydration to resolve nested $relation references in-place.","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"entity":{"$ref":"#/components/schemas/EntityItem"},"relations":{"type":"array","items":{"$ref":"#/components/schemas/EntityItem"}}}}}}}}},"put":{"operationId":"updateEntity","summary":"updateEntity","description":"Updates an Entity\\n\\n## Activity\\n\\nIf no `activity_id` query parameter is provided, implicitly creates Activity of type `EntityUpdated`\\n\\n## Relations\\n\\nTo create a relation, store a property that defines a `$relation` array.\\n\\nExample:\\n\\n```json\\n{\\n \\"contacts\\": {\\n \\"$relation\\": [\\n { \\"entity_id\\": \\"3fa85f64-5717-4562-b3fc-2c963f66afa6\\" }\\n ]\\n }\\n}\\n```\\n\\nThe items in `$relation` support two properties:\\n- `entity_id` - The ID of the entity to link\\n- `_tags` - Tags or labels for the relation (optional)\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Type","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"path","name":"id","description":"Entity id","required":true,"schema":{"$ref":"#/components/schemas/EntityId"}},{"in":"query","name":"activity_id","description":"Activity to include in event feed","required":false,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entity"},"example":{}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityItem"}}}}}},"delete":{"operationId":"deleteEntity","summary":"deleteEntity","description":"Deletes an Entity\\n\\n## Activity\\n\\nIf no `activity_id` query parameter is provided, implicitly creates Activity of type `EntityDeleted`\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Type","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/EntityId"}},{"in":"query","name":"activity_id","description":"Activity to include in event feed","required":false,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"responses":{"200":{"description":"Success"}}}},"/activity":{"post":{"operationId":"createActivity","summary":"createActivity","description":"Create an activity that can be displayed in activity feeds.\\n\\n- All activites are published as events on the event bus\\n- Entity mutations are always part of an activity\\n","tags":["Activity"],"parameters":[{"in":"query","name":"entities","description":"Comma-separated list of entities which the activity primarily concerns","style":"form","explode":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityId"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Activity"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityItem"}}}}}}},"/activity/{id}":{"get":{"operationId":"getActivity","summary":"getActivity","description":"Get activity by id","tags":["Activity"],"parameters":[{"in":"path","name":"id","description":"Activity Id","required":true,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityItem"}}}}}}},"/activity/{id}:attach":{"post":{"operationId":"attachActivity","summary":"attachActivity","description":"Attach existing activity to entity activity feeds","tags":["Activity"],"parameters":[{"in":"path","name":"id","description":"Activity Id","required":true,"schema":{"$ref":"#/components/schemas/ActivityId"}},{"in":"query","name":"entities","description":"Comma-separated list of entities which the activity primarily concerns","style":"form","explode":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityId"}}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityItem"}}}}}}},"/entity/{slug}/{id}/activity":{"get":{"operationId":"getEntityActivityFeed","summary":"getEntityActivityFeed","description":"Get activity feed for an entity\\n","tags":["Activity"],"parameters":[{"in":"path","name":"slug","description":"Entity Type","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"path","name":"id","description":"Entity id","required":true,"schema":{"$ref":"#/components/schemas/EntityId"}},{"in":"query","name":"after","description":"Get activities after this timestamp","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"before","description":"get activities before this timestamp","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"from","description":"start from page","schema":{"type":"integer","minimum":0,"default":0}},{"in":"query","name":"size","description":"max number of results to return","schema":{"type":"integer","minimum":1,"default":25}},{"in":"query","name":"type","description":"Activity type","schema":{"type":"string","example":"SyncActivity"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","example":1},"results":{"type":"array","items":{"$ref":"#/components/schemas/ActivityItem"}}}}}}}}}},"/blueprints":{"get":{"operationId":"searchAvailableBlueprints","summary":"searchAvailableBlueprints","tags":["Blueprints"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Blueprint"}}}}}}}}}},"/blueprints/{id}":{"get":{"operationId":"getBlueprint","summary":"getBlueprint","tags":["Blueprints"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/BlueprintId"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blueprint"}}}}}}}},"components":{"securitySchemes":{"EpilotAuth":{"type":"http","scheme":"bearer","description":"Epilot OAuth2 Token"},"AsOrganization":{"type":"apiKey","in":"header","name":"x-ivy-org-id","description":"Set organization id when using internal auth"}},"schemas":{"SchemaId":{"description":"Generated uuid for schema","type":"string","format":"uuid"},"EntitySchema":{"description":"The \\"type\\" of an Entity. Describes the shape. Includes Entity Attributes, Relations and Capabilities.","type":"object","properties":{"slug":{"$ref":"#/components/schemas/EntitySlug"},"blueprint":{"$ref":"#/components/schemas/BlueprintEntityId"},"feature_flag":{"type":"string","example":"FF_MY_FEATURE_FLAG","description":"This schema should only be active when the feature flag is enabled"},"enable_setting":{"description":"This schema should only be active when one of the organization settings is enabled","type":"array","items":{"type":"string","example":"ecommerce_preview"}},"name":{"description":"User-friendly identifier for the entity schema","type":"string","example":"Contact"},"plural":{"type":"string","example":"Contacts"},"icon":{"type":"string","example":"person"},"title_template":{"type":"string","description":"Template for rendering the title field. Uses handlebars","example":"{{first_name}} {{last_name}}"},"ui_config":{"type":"object","properties":{"table_view":{"$ref":"#/components/schemas/EntityViewConfig"},"create_view":{"$ref":"#/components/schemas/EntityViewConfig"},"edit_view":{"$ref":"#/components/schemas/EntityViewConfig"},"list_item":{"type":"object","properties":{"summary_attributes":{"type":"array","items":{"type":"string","description":"List of attributes to show in list item","example":"email"}}}}}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/EntityCapability"}},"group_settings":{"type":"object","description":"A dictionary of Group Titles and associated settings if present.","additionalProperties":{"type":"object","properties":{"expanded":{"type":"boolean"}}},"example":{"Order Info":{"expanded":true},"Contact Details":{"expanded":false}}},"layout_settings":{"type":"object","description":"Custom grid definitions for the layout","additionalProperties":{"type":"object","properties":{"grid_gap":{"type":"string"},"grid_template_columns":{"type":"string"}}}},"attributes":{"description":"An ordered list of attributes the entity contains","type":"array","items":{"$ref":"#/components/schemas/Attribute"},"example":[{"name":"email","type":"email","label":"Email","required":true},{"name":"first_name","type":"string","label":"First Name"},{"name":"last_name","type":"string","label":"Last Name"},{"name":"birthdate","type":"date","label":"Birthdate"},{"name":"salutation","type":"select","label":"Salutation","options":["Mr.","Ms. / Mrs.","Other"]},{"name":"marketing_permission","type":"boolean","label":"Marketing permission"},{"name":"image","type":"file","label":"Image"}]}},"required":["slug","name","plural","attributes","capabilities","views"]},"EntitySchemaItem":{"allOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SchemaId"}}},{"$ref":"#/components/schemas/EntitySchema"}]},"Attribute":{"oneOf":[{"$ref":"#/components/schemas/TextAttribute"},{"$ref":"#/components/schemas/LinkAttribute"},{"$ref":"#/components/schemas/DateAttribute"},{"$ref":"#/components/schemas/CountryAttribute"},{"$ref":"#/components/schemas/BooleanAttribute"},{"$ref":"#/components/schemas/SelectAttribute"},{"$ref":"#/components/schemas/RelationAttribute"},{"$ref":"#/components/schemas/UserRelationAttribute"},{"$ref":"#/components/schemas/TaxRelationAttribute"},{"$ref":"#/components/schemas/CurrencyAttribute"},{"$ref":"#/components/schemas/RepeatableAttribute"},{"$ref":"#/components/schemas/TagsAttribute"},{"$ref":"#/components/schemas/NumberAttribute"},{"$ref":"#/components/schemas/ConsentAttribute"},{"$ref":"#/components/schemas/InternalAttribute"},{"$ref":"#/components/schemas/OrderedListAttribute"},{"$ref":"#/components/schemas/FileAttribute"}]},"BaseAttribute":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"placeholder":{"type":"string"},"hidden":{"description":"Do not render attribute in entity views","type":"boolean","default":false},"show_in_table":{"description":"Render as a column in table views. When defined, overrides `hidden`","type":"boolean"},"required":{"type":"boolean","default":false},"readonly":{"type":"boolean","default":false},"deprecated":{"type":"boolean","default":false},"default_value":{"oneOf":[{"type":"string"},{"type":"object","additionalProperties":true},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"array"}]},"group":{"type":"string"},"layout":{"type":"string"},"hide_label":{"type":"boolean","description":"When set to true, will hide the label of the field."},"icon":{"type":"string","description":"Code name of the icon to used to represent this attribute.\\nThe value must be a valid @epilot/base-elements Icon name\\n"},"render_condition":{"type":"string","description":"Defines the conditional rendering expression for showing this field.\\nWhen a valid expression is parsed, their evaluation defines the visibility of this attribute.\\nNote: Empty or invalid expression have no effect on the field visibility.\\n"},"constraints":{"type":"object","description":"A set of constraints applicable to the attribute.\\nThese constraints should and will be enforced by the attribute renderer.\\n","example":{"disablePast":true}},"feature_flag":{"type":"string","example":"FF_MY_FEATURE_FLAG","description":"This attribute should only be active when the feature flag is enabled"}},"required":["name","label"]},"TextAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Textarea or text input","properties":{"type":{"type":"string","enum":["string"]},"multiline":{"type":"boolean"}}}]},"LinkAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Link with title and href","properties":{"type":{"type":"string","enum":["link"]}}}]},"InternalAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"No UI representation","properties":{"type":{"type":"string","enum":["internal"]}}}]},"BooleanAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Yes / No Toggle","properties":{"type":{"type":"string","enum":["boolean"]}}}]},"DateAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Date or Datetime picker","properties":{"type":{"type":"string","enum":["date","datetime"]}}}]},"CountryAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Country picker","properties":{"type":{"type":"string","enum":["country"]}}}]},"SelectAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Dropdown select","properties":{"type":{"type":"string","enum":["select","radio"]},"options":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"value":{"type":"string"},"title":{"type":"string"}},"required":["value"]}]}}}}]},"FileAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"File or Image Attachment","properties":{"type":{"type":"string","enum":["image","file"]},"multiple":{"type":"boolean"},"allowed_types":{"description":"List of unique content type specifiers (mime-types / extension)","type":"array","items":{"type":"string","example":"image/*"}},"default_access_control":{"type":"string","enum":["public-read","private"]}},"required":["type","attachments"]}]},"CurrencyAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Currency input","properties":{"type":{"type":"string","enum":["currency"]},"currency":{"description":"An array of currency configurations with a country code (ISO-4217)","type":"array","items":{"anyOf":[{"type":"object","description":"A currency configuration","properties":{"code":{"type":"string"},"description":{"type":"string"},"symbol":{"type":"string"},"flag":{"type":"string"}},"required":["code","description","symbol"],"example":{"code":"EUR","description":"Euro","symbol":"€","flag":"🇪🇺"}}]}}},"required":["type","currency"]}]},"SummaryField":{"type":"object","description":"Summary Fields are displayed inside list view as a resume of the relation entity.","properties":{"field":{"type":"string","description":"The field from the entity attributes to display"},"display_as":{"type":"string","description":"An hint on how to display the summary field"}}},"RelationAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Entity Relationship","properties":{"type":{"type":"string","enum":["relation"]},"relation_type":{"type":"string","enum":["belongs_to","has_many"]},"delete_mode":{"type":"string","enum":["cascade"]},"relation_affinity_mode":{"type":"string","enum":["weak","strong"]},"edit_mode":{"type":"string","enum":["list-view"]},"drawer_size":{"type":"string","enum":["small","medium","large"]},"icon":{"type":"string"},"summary_fields":{"type":"array","items":{"anyOf":[{"type":"string","description":"The field name from the entity attributes to display"},{"$ref":"#/components/schemas/SummaryField"}]}},"allowedSchemas":{"type":"array","items":{"$ref":"#/components/schemas/EntitySlug"}}}}]},"UserRelationAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"User Relationship","properties":{"type":{"type":"string","enum":["relation_user"]},"multiple":{"type":"boolean","default":false}}}]},"TaxRelationAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Tax Relationship","properties":{"type":{"type":"string","enum":["relation_tax"]},"multiple":{"type":"boolean","default":true}}}]},"RepeatableAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Repeatable (add N number of fields)","properties":{"repeatable":{"type":"boolean"},"relation_affinity_mode":{"type":"string","enum":["weak","strong"]},"type":{"type":"string","enum":["string","phone","email","address","relation"]}}}]},"TagsAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Tags","properties":{"type":{"type":"string","enum":["tags"]},"options":{"type":"array","items":{"type":"string"}},"suggestions":{"type":"array","items":{"type":"string"}}}}]},"NumberAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Numeric input","properties":{"type":{"type":"string","enum":["number"]},"format":{"type":"string"}}}]},"ConsentAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Consent Management","properties":{"type":{"type":"string","enum":["consent"]},"topic":{"type":"string"},"identifiers":{"type":"array","items":{"type":"string"}}},"required":["type","topic"]}]},"OrderedListAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Type of attribute to render N number of ordered fields","properties":{"type":{"type":"string","enum":["ordered_list"]}}}]},"Attachment":{"type":"object","deprecated":true,"properties":{"key":{"type":"string"},"mime":{"type":"string"},"name":{"type":"string"},"size":{"type":"number"},"image_url":{"type":"string"},"download_url":{"type":"string"},"alt_text":{"type":"string"}},"required":["key","mime","name","size","image_url","download_url"]},"EntitySlug":{"description":"URL-friendly identifier for the entity schema","type":"string","example":"contact"},"EntityCapability":{"description":"Capabilities the Entity has. Turn features on/off for entities.","type":"object","properties":{"name":{"type":"string","description":"Unique name for the capability","example":"customer_messaging"},"title":{"type":"string","description":"Human readable title of the capability","example":"Messaging"},"attributes":{"type":"array","items":{"$ref":"#/components/schemas/Attribute"}},"ui_hooks":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"hook":{"type":"string","description":"name of the hook to use","example":"EntityDetailsV2:Tab"},"order":{"type":"integer","description":"render order (ascending)","example":10},"title":{"type":"string","example":"Notes"},"group_expanded":{"type":"boolean","description":"Sets the group expand/collapse default state"},"import":{"type":"string","description":"package to be imported","example":"@epilot360/notes"},"component":{"type":"string","description":"the component to be dynamically loaded","example":"PricingItems"},"route":{"type":"string","description":"route for specified capability","example":"notes"},"icon":{"type":"string","description":"Preview icon name(As in Base elements) for the capability","example":"email"},"disabled":{"type":"boolean","description":"Whether capability should be disabled"},"header":{"type":"boolean","description":"Specific to Activity pilot"}},"required":["hook"]}},"feature_flag":{"type":"string","example":"FF_MY_FEATURE_FLAG","description":"This capability should only be active when the feature flag is enabled"},"legacy":{"type":"boolean","description":"Only show capability for legacy tenants (ivy)"}},"required":["name"]},"EntityViewConfig":{"anyOf":[{"$ref":"#/components/schemas/EntityDefaultCreate"},{"$ref":"#/components/schemas/EntityDefaultEdit"},{"$ref":"#/components/schemas/EntityDefaultOverview"},{"$ref":"#/components/schemas/RedirectEntityView"},{"$ref":"#/components/schemas/EntityParcelView"},{"$ref":"#/components/schemas/EntityViewDisabled"}]},"EntityViewDisabled":{"type":"object","properties":{"view_type":{"type":"string","enum":["disabled"]}}},"EntityDefaultOverview":{"type":"object","properties":{"view_type":{"type":"string","enum":["default"]},"dropdown_items":{"type":"array","items":{"allOf":[{"type":"object","properties":{"feature_flag":{"type":"string","example":"FF_MY_FEATURE_FLAG","description":"This dropdown item should only be active when the feature flag is enabled"},"legacy":{"type":"boolean","description":"Only show item for legacy tenants (ivy)"}}},{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["entity"]},"entity":{"$ref":"#/components/schemas/EntitySlug"}}},{"type":"object","properties":{"type":{"type":"string","enum":["link"]},"title":{"type":"string","example":"Opportunities"},"uri":{"type":"string","format":"uri"}}}]}]}},"row_actions":{"type":"array","items":{"type":"string"}},"classic_view":{"type":"string","format":"uri"}}},"EntityDefaultCreate":{"type":"object","properties":{"view_type":{"type":"string","enum":["default"]}}},"EntityDefaultEdit":{"type":"object","properties":{"view_type":{"type":"string","enum":["default"]}}},"RedirectEntityView":{"type":"object","properties":{"view_type":{"type":"string","enum":["redirect"]},"route":{"type":"string","example":"/app/pricing-hub/product/:entityId"}},"example":{"type":"redirect","route":"/app/pricing-hub/product/:entityId"}},"EntityParcelView":{"type":"object","properties":{"view_type":{"type":"string","enum":["parcel"]},"import":{"type":"string","example":"@epilot360/pricing-hub-app"}},"example":{"type":"redirect","route":"/app/pricing-hub/product/:entityId"}},"EntityId":{"type":"string","format":"uuid"},"BaseEntity":{"type":"object","properties":{"_id":{"$ref":"#/components/schemas/EntityId"},"_title":{"type":"string","description":"Title of entity"},"_org":{"type":"string","description":"Organization Id the entity belongs to"},"_schema":{"$ref":"#/components/schemas/EntitySlug"},"_tags":{"type":"array","items":{"type":"string"}},"_created_at":{"type":"string","format":"date-time"},"_updated_at":{"type":"string","format":"date-time"}},"required":["_id","_title","_org","_schema","_created_at","_updated_at"],"example":{"_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","_org":"123","_schema":"contact","_tags":["example","mock"],"_created_at":"2021-02-09T12:41:43.662Z","_updated_at":"2021-02-09T12:41:43.662Z"}},"Entity":{"type":"object","properties":{},"additionalProperties":true},"HydratedEntity":{"type":"object","description":"Entity with relation data resolved into the attribute values","properties":{},"additionalProperties":true,"example":{"status":"active","customer_number":"abc123","email":[{"label":"work","email":"user@example.com"}],"phone":[{"label":"work","phone":"+49123456789"}],"first_name":"First Name","middle_name":"Middle Name","last_name":"Last Name","date_of_birth":"2019-08-24","title":"Mr.","account":[{"status":"active","name":"Company name","company_email":[{"label":"Company email","email":"company@example.com"}],"company_phone":[{"label":"Support phone","phone":"+49123456789"}],"company_website":"https://example.com","tax_id":"DE123456789","tax_exemption":"2019-08-24","contacts":{"$relation":[{"_tags":["CEO"],"entity_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}]}}]}},"EntityItem":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"$ref":"#/components/schemas/Entity"}]},"HydratedEntityItem":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"$ref":"#/components/schemas/HydratedEntity"}]},"EntitySearchParams":{"type":"object","properties":{"q":{"description":"Lucene queries supported with ElasticSearch","type":"string","example":"_schema:contact AND status:active"},"sort":{"type":"string","example":"_created_at:desc"},"from":{"type":"integer","minimum":0,"default":0},"size":{"type":"integer","minimum":1,"default":10},"hydrate":{"type":"boolean","description":"When true, enables entity hydration to resolve nested $relation references in-place.","default":false},"fields":{"type":"array","description":"List of entity fields to include in search results","items":{"type":"string"},"example":["_id","_title","first_name"]},"expand":{"deprecated":true,"type":"array","description":"Deprecated. Use hydrate=true instead","items":{"type":"string"}}}},"EntitySearchResults":{"type":"object","properties":{"hits":{"type":"number","example":1},"results":{"type":"array","items":{"$ref":"#/components/schemas/EntityItem"}}}},"ActivityId":{"type":"string","format":"ulid","description":"See https://github.com/ulid/spec","example":"01F130Q52Q6MWSNS8N2AVXV4JN"},"ActivityCallerContext":{"type":"object","additionalProperties":true,"properties":{"EpilotAuth":{"type":"object","properties":{"token":{"type":"object","properties":{"sub":{"type":"string","example":"476e9b48-42f4-4234-a2b0-4668b34626ce"},"email":{"type":"string","example":"example@epilot.cloud"},"cognito:username":{"type":"string","example":"example@epilot.cloud"},"custom:ivy_user_id":{"type":"string","example":"10006129"}},"example":{"sub":"476e9b48-42f4-4234-a2b0-4668b34626ce","cognito:groups":["Administrator"],"cognito:preferred_role":"arn:aws:iam::912468240823:role/base-administrator-role","iss":"https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_6lZSgmU6D","custom:ivy_org_id":"739224","cognito:username":"n.ahmad@epilot.cloud","custom:ivy_user_id":"10006129","cognito:roles":["arn:aws:iam::912468240823:role/base-administrator-role"],"aud":"6e0jbdnger7nmoktaaflarue1l","event_id":"cd5f5583-d90c-4db5-8e99-5f5dd29a4d75","token_use":"id","auth_time":1614333023,"exp":1614336623,"iat":1614333023,"email":"n.ahmad@epilot.cloud"}}}}}},"Activity":{"type":"object","properties":{"type":{"type":"string","example":"MyCustomActivity"},"title":{"type":"string","description":"Title for activity. Supports handlebars syntax.","example":"My custom activity"},"message":{"type":"string","description":"Message for activity. Supports handlebars syntax.","example":"{{caller}} did something with {{entity payload.entity.id}}."},"payload":{"type":"object","properties":{},"additionalProperties":true,"example":{"entity":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","schema":"contact"}}}},"required":["type","title","message"]},"EntityOperation":{"type":"object","properties":{"entity":{"$ref":"#/components/schemas/EntityId"},"operation":{"type":"string","example":"updateEntity"},"params":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EntityId"},"slug":{"$ref":"#/components/schemas/EntitySlug"}},"example":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","slug":"contact"}},"payload":{"allOf":[{"$ref":"#/components/schemas/Entity"},{"example":{"_schema":"contact","_org":"123","status":"Inactive"}}]}},"required":["entity","name"]},"ActivityItem":{"allOf":[{"type":"object","properties":{"_id":{"$ref":"#/components/schemas/ActivityId"},"timestamp":{"type":"string","format":"date-time"}}},{"$ref":"#/components/schemas/Activity"},{"type":"object","properties":{"caller":{"$ref":"#/components/schemas/ActivityCallerContext"}}},{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/components/schemas/EntityOperation"}}}}]},"BlueprintId":{"type":"string","format":"uuid"},"Blueprint":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/BlueprintId"},"name":{"type":"string","example":"Power & Gas Utilities"},"schemas":{"type":"array","items":{"$ref":"#/components/schemas/EntitySchema"}}}},"BlueprintEntityId":{"type":"string","format":"uuid"}},"examples":{"TaxEntity":{"description":"Example of a Tax Rate entity","value":{"active":true,"type":"VAT","region":"Germany","region_label":"All Regions","rate":19,"behavior":"Exclusive","description":"MwSt. 19%"}},"ContactEntity":{"description":"Example of a contact entity","value":{"status":"Active","customer_number":"abc123","first_name":"First","middle_name":"Middle","last_name":"Last","title":"Herr Prof. Dr.","email":[{"email":"user@example.com","_tags":["work"]}],"phone":[{"phone":"+49123456789","_tags":["personal","mobile"]}],"address":[{"country":"Germany","city":"Koln","postal_code":81475,"street":"Melatengürtel","street_number":71,"additional_info":"5. Etage","_tags":["billing","delivery"]}],"birthdate":"2019-08-24","account":{"$relation":[{"entity_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","_tags":["company"]}]},"consent_email_marketing":{"status":"OPTED_IN","events":[{"type":"OPT_IN","organization_id":"123","created_at":"2021-07-05T09:12:29.352Z","topic":"EMAIL_MARKETING","identifier":"user@example.com","source":"https://consent.sls.epilot.io/optin?token=abc123","meta":{"ip_address":"1.1.1.1","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"}},{"type":"DOUBLE_OPT_IN_REQUEST","organization_id":"123","created_at":"2021-07-05T08:12:29.352Z","topic":"EMAIL_MARKETING","identifier":"user@example.com","source":"consent-api","meta":{"token":"abc123"}},{"type":"OPT_IN","organization_id":"123","created_at":"2021-07-04T09:12:29.352Z","topic":"EMAIL_MARKETING","identifier":"user@example.com","source":"https://frontend.epilot.cloud","meta":{"ip_address":"1.1.1.1","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"}}]}}},"AccountEntity":{"description":"Example of an account entity","value":{"status":"Active","name":"Example Company","tax_id":"DE123456789","email":[{"email":"user@example.com","_tags":["work"]}],"phone":[{"phone":"+49123456789","_tags":["personal","mobile"]}],"address":[{"country":"Germany","city":"Koln","postal_code":81475,"street":"Melatengürtel","street_number":71,"additional_info":"5. Etage","_tags":["billing","delivery"]}],"website":"http://company.com","tax_exemption":"2021-02-23T09:08:57.320Z","registry_court":"Amtsgericht Köln","registry_number":"HRB 95505","company_size":"50-99","industry":["ecommerce","tech"],"annual_revenue":"5000000","contact":{"$relation":[{"entity_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","_tags":["CEO"]}]}}},"ProductEntity":{"description":"Example of a product entity","value":{"code":"SunrockSolar375","type":"Product","name":"Sunrock Solar Panel","description":"Sunrock Solar Panel, provide high capacity power generation even at night.","shippable":"true,","_files":{"type":"file","attachments":[{"key":"f001-32123-asdasd-23213","mime":"application/pdf","name":"wallbox-premium.pdf","size":6933430,"image_url":"https://s3-bucket.epilot.cloud/uid/f001-32123-asdasd-23213","download_url":"https://s3-bucket.epilot.cloud/uid/f001-32123-asdasd-23213"}]},"_images":{"type":"image","attachments":[{"key":"i001-32123-asdasd-23213","mime":"application/pdf","name":"wallbox-premium.pdf","size":6933430,"image_url":"https://s3-bucket.epilot.cloud/uid/f001-32123-asdasd-23213","download_url":"https://s3-bucket.epilot.cloud/uid/f001-32123-asdasd-23213"}]},"prices":{"$relation":[{"entity_id":"a38cca03-18a2-4e9c-8516-0918d81e7830","_tags":["price"]},{"entity_id":"3d10c912-c419-42d7-9270-02b7d05294e5","_tags":["price"]}]}}},"PriceEntity":{"description":"Example of a price entity","value":{"code":"MODEL_375KW_PREMIUM","type":"One Time","description":"Solar Panel 375 kWp Premium","billing_scheme":"per_unit","unit_amount":"€ 28500","tiers_mode":"Standard"}},"OrderEntity":{"description":"Example of a Order entity","value":{"amount_subtotal":23045,"amount_total":27424,"billing_address":[{"additional_info":"","city":"City","country":"DE","postal_code":"123","street":"Street 1","street_number":"2","_tags":[]}],"billing_company_name":"Epilot","billing_contact":{"$relation":[{"entity_id":"0691f503-5a3c-4e9e-b036-ffb21ea1d284","relationText":"Daniel Test","_schema":"contact","_tags":[]}]},"billing_email":"x@email.xyz","billing_first_name":"Paulo","billing_last_name":"Henriques","billing_phone":"00351912611099","billing_vat":"123456789","currency":"EUR","delivery_address":[{"additional_info":"","city":"City","country":"DE","postal_code":"123","street":"Street 1","street_number":"2","_tags":[]}],"footer_notes":"Footer","line_items":[{"amount_subtotal":23045,"amount_total":27424,"currency":"EUR","description":"Basic Model - No Wifi","price_id":"efe9ff76-865c-4287-8de9-422cfc741ff9","product_id":"beefa9f1-29a8-448e-94d5-ebf1963428f8","quantity":1,"taxes":[{"amount":4379,"rate":"standard"}],"unit_amount":23045,"_price":{"active":false,"billing_duration_amount":"2","billing_duration_unit":"years","billing_period":"monthly","description":"Basic Model - No Wifi","notice_time_amount":"1","notice_time_unit":"months","price_display_in_journeys":"show_price","renewal_duration_amount":"1","renewal_duration_unit":"years","sales_tax":"standard","tax_behavior":"exclusive","termination_time_amount":"1","termination_time_unit":"months","type":"recurring","unit_amount":23045,"unit_amount_currency":"EUR","unit_amount_decimal":"230.4524","_created_at":"2021-12-15T12:34:59.579Z","_id":"efe9ff76-865c-4287-8de9-422cfc741ff9","_org":"739224","_schema":"price","_tags":["basic-model","wifi"],"_title":"Basic Model - No Wifi","_updated_at":"2021-12-31T13:07:51.392Z"},"_product":{"active":true,"code":"PWB","feature":[{"_tags":[],"feature":"Pure Energon Fueled"},{"_tags":[],"feature":"Mobile App Available"}],"name":"Pinho Walls in a Box","price_options":{"$relation":[{"entity_id":"efe9ff76-865c-4287-8de9-422cfc741ff9"}]},"type":"product","_created_at":"2021-12-15T12:35:08.438Z","_id":"beefa9f1-29a8-448e-94d5-ebf1963428f8","_org":"739224","_schema":"product","_tags":["energon","eco-friendly","wallbox"],"_title":"Pinho Walls in a Box","_updated_at":"2022-01-03T17:14:41.042Z"}}],"memo":"Memo","status":"Paid","total_details":{"amount_tax":4379,"breakdown":{"recurrences":[{"amount_subtotal":23045,"amount_tax":4379,"amount_total":27424,"billing_period":"monthly","type":"recurring"}],"taxes":[{"amount":4379,"rate":"standard"}]}}}},"OpportunityEntity":{"description":"Example of an Opportunity entity","value":{"amount_subtotal":23045,"amount_total":27424,"assignees":{"$relation":[{"entity_id":"66a1a6a3-38ee-4ffe-b68d-ee90e3bb1a77","relationText":"Claudius Iohannis","_schema":"contact","_tags":[]}]},"billing_address":[{"additional_info":"","city":"City","country":"DE","postal_code":"123","street":"Street 1","street_number":"2","_tags":[]}],"billing_company_name":"Epilot","billing_contact":{"$relation":[{"entity_id":"0691f503-5a3c-4e9e-b036-ffb21ea1d284","relationText":"Daniel Test","_schema":"contact","_tags":[]}]},"billing_email":"customer@email.xyz","billing_first_name":"Customer First Name","billing_last_name":"Customer Last Name","billing_phone":"00351912611098","billing_vat":"123456789","currency":"EUR","delivery_address":[{"additional_info":"","city":"City","country":"DE","postal_code":"123","street":"Street 1","street_number":"2","_tags":[]}],"line_items":[{"amount_subtotal":23045,"amount_total":27424,"currency":"EUR","description":"Basic Model - No Wifi","price_id":"efe9ff76-865c-4287-8de9-422cfc741ff9","product_id":"beefa9f1-29a8-448e-94d5-ebf1963428f8","quantity":1,"taxes":[{"amount":4379,"rate":"standard"}],"unit_amount":23045,"_price":{"active":false,"billing_duration_amount":"2","billing_duration_unit":"years","billing_period":"monthly","description":"Basic Model - No Wifi","notice_time_amount":"1","notice_time_unit":"months","price_display_in_journeys":"show_price","renewal_duration_amount":"1","renewal_duration_unit":"years","sales_tax":"standard","tax_behavior":"exclusive","termination_time_amount":"1","termination_time_unit":"months","type":"recurring","unit_amount":23045,"unit_amount_currency":"EUR","unit_amount_decimal":"230.4524","_created_at":"2021-12-15T12:34:59.579Z","_id":"efe9ff76-865c-4287-8de9-422cfc741ff9","_org":"739224","_schema":"price","_tags":["basic-model","wifi"],"_title":"Basic Model - No Wifi","_updated_at":"2021-12-31T13:07:51.392Z"},"_product":{"active":true,"code":"PWB","feature":[{"_tags":[],"feature":"Pure Energon Fueled"},{"_tags":[],"feature":"Mobile App Available"}],"name":"Pinho Walls in a Box","price_options":{"$relation":[{"entity_id":"efe9ff76-865c-4287-8de9-422cfc741ff9"}]},"type":"product","_created_at":"2021-12-15T12:35:08.438Z","_id":"beefa9f1-29a8-448e-94d5-ebf1963428f8","_org":"739224","_schema":"product","_tags":["energon","eco-friendly","wallbox"],"_title":"Pinho Walls in a Box","_updated_at":"2022-01-03T17:14:41.042Z"}}],"opportunity_number":"20220105-768854819","participants":{"$relation":[{"entity_id":"9bbfdaa9-22b2-4100-a256-67600202e3f4","relationText":"Alex Marques","_schema":"contact","_tags":[]}]},"status":"Lead","total_details":{"amount_tax":4379,"breakdown":{"recurrences":[{"amount_subtotal":23045,"amount_tax":4379,"amount_total":27424,"billing_period":"monthly","type":"recurring"}],"taxes":[{"amount":4379,"rate":"standard"}]}}}},"EmailTemplateEntity":{"description":"Example of an email template entity","value":{"attachments":[],"body":"<p fr-original-style=\\"caret-color: rgb(65, 65, 65); color: rgb(65, 65, 65); font-family: sans-serif;\\" id=\\"isPasted\\" style=\\"caret-color: rgb(65, 65, 65); color: rgb(65, 65, 65); font-family: sans-serif; box-sizing: inherit; border-color: rgba(229, 231, 235, var(--tw-border-opacity));\\"><span fr-original-style=\\"font-weight: 700;\\" style=\\"font-weight: 700; box-sizing: inherit; border-color: rgba(229, 231, 235, var(--tw-border-opacity));\\">Variablen - Kontakt</span></p>","brand_id":7066103,"from":{"name":"Name","email":"admin@email.xyz"},"name":"PH Test","subject":"Example Subject","system_template":false,"to":[{"id":"1","name":"Contact Name","email":"Contact email"}],"_tags":["Bestellung"]}},"FileEntity":{"description":"Example of a file template entity","value":{"access_control":"private","filename":"solar_panel_ph.jpeg","s3ref":{"bucket":"epilot-staging-user-content","key":"728/temp/6d450fd1-2d63-435f-b598-c605dfb89cbc/solar_panel_ph.jpeg"}}},"WorkflowStepEntity":{"description":"Example of a workflow step template entity","value":{"name":"Name","assigned_to\\"":["10000563"],"status":"Unassigned","order":123,"tags":["tag1"]}},"SubmissionEntity":{"description":"Example of a submission step template entity","value":{"mapped_entities":{"$relation":[{"entity_id":"4ffb071c-2821-4505-86d0-09b801ffd97a","relationText":"4ffb071c-2821-4505-86d0-09b801ffd97a","_schema":"price","_tags":[]}]}}}}}}')}},t={};return function i(n){if(t[n])return t[n].exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,i),a.exports}(914)})());
|
|
1
|
+
!function(e,t){for(var i in t)e[i]=t[i];t.__esModule&&Object.defineProperty(e,"__esModule",{value:!0})}(exports,(()=>{"use strict";var e={914:function(e,t,i){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=n(i(279));t.default=a.default},279:e=>{e.exports=JSON.parse('{"openapi":"3.0.2","info":{"title":"Entity API","version":"1.0.0","description":"Flexible data layer for epilot Entities.\\n\\nUse this API configure and access your business objects like Contacts, Opportunities and Products.\\n\\n[Feature Documentation](https://docs.epilot.io/docs/entities/flexible-entities)\\n"},"tags":[{"name":"Schemas","description":"Model Entities"},{"name":"Entities","description":"CRUD Access for Entities"},{"name":"Activity","description":"Entity Events"}],"security":[{"EpilotAuth":[]}],"paths":{"/v1/entity/schemas":{"get":{"operationId":"listSchemas","summary":"listSchemas","tags":["Schemas"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/EntitySchemaItem"}}}}}}}}}},"/v1/entity/schemas/{slug}":{"get":{"operationId":"getSchema","summary":"getSchema","tags":["Schemas"],"parameters":[{"in":"path","name":"slug","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySchemaItem"}}}}}},"put":{"operationId":"putSchema","summary":"putSchema","tags":["Schemas"],"parameters":[{"in":"path","name":"slug","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySchema"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySchemaItem"}}}}}},"delete":{"operationId":"deleteSchema","summary":"deleteSchema","tags":["Schemas"],"parameters":[{"in":"path","name":"slug","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}}],"responses":{"204":{"description":"Success"}}}},"/v1/entity:search":{"post":{"operationId":"searchEntities","summary":"searchEntities","description":"Search for entities. Supports ordering and pagination. Lucene query syntax supported for complex querying.\\n\\n## Relations\\n\\nWhen `hydrate=true`, relation attributes are replaced in-place with nested entity values.\\n\\nExample:\\n```json\\n{\\n \\"_id\\": \\"123\\",\\n \\"name\\": \\"parent\\",\\n \\"_tags\\": [\\"parent\\"],\\n \\"contacts\\": {\\n \\"$relation\\": [\\n { \\"entity_id\\": \\"456\\", \\"_tags\\": [\\"primary\\"] },\\n { \\"entity_id\\": \\"789\\", \\"_tags\\": [\\"secondary\\"] },\\n ]\\n }\\n}\\n```\\n\\nBecomes:\\n```json\\n{\\n \\"_id\\": \\"123\\",\\n \\"name\\": \\"parent\\",\\n \\"_tags\\": [\\"parent\\"],\\n \\"contacts\\": [\\n {\\n \\"$relation\\": { \\"entity_id\\": \\"456\\", \\"_tags\\": [\\"primary\\"] },\\n \\"_id\\": \\"456\\",\\n \\"name\\": \\"child 1\\",\\n \\"_tags\\": [\\"child\\"]\\n },\\n {\\n \\"$relation\\": { \\"entity_id\\": \\"789\\", \\"_tags\\": [\\"secondary\\"] },\\n \\"_id\\": \\"789\\",\\n \\"name\\": \\"child 2\\",\\n \\"_tags\\": [\\"child\\"]\\n }\\n ]\\n}\\n```\\n","tags":["Entities"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySearchParams"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySearchResults"}}}}}}},"/v1/entity/{slug}":{"post":{"operationId":"createEntity","summary":"createEntity","description":"Creates a new entity using a key.\\n\\n## Activity\\n\\nIf no `activity_id` query parameter is provided, implicitly creates Activity of type `EntityCreated`\\n\\n## Relations\\n\\nTo create a relation, store a property object that defines a `$relation` array.\\n\\nExample:\\n\\n```json\\n{\\n \\"contacts\\": {\\n \\"$relation\\": [\\n { \\"entity_id\\": \\"3fa85f64-5717-4562-b3fc-2c963f66afa6\\" }\\n ]\\n }\\n}\\n```\\n\\nThe items in `$relation` support two properties:\\n- `entity_id` - The ID of the entity to link\\n- `_tags` - Tags or labels for the relation (optional)\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Schema","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"query","name":"activity_id","description":"Activity to include in event feed","required":false,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entity"},"examples":{"contact":{"$ref":"#/components/examples/ContactEntity"},"account":{"$ref":"#/components/examples/AccountEntity"},"product":{"$ref":"#/components/examples/ProductEntity"},"price":{"$ref":"#/components/examples/PriceEntity"},"tax":{"$ref":"#/components/examples/TaxEntity"},"order":{"$ref":"#/components/examples/OrderEntity"},"opportunity":{"$ref":"#/components/examples/OpportunityEntity"},"email template":{"$ref":"#/components/examples/EmailTemplateEntity"},"file":{"$ref":"#/components/examples/FileEntity"},"workflow step":{"$ref":"#/components/examples/WorkflowStepEntity"},"submission":{"$ref":"#/components/examples/SubmissionEntity"}}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityItem"}}}}}}},"/v1/entity/{slug}:upsert":{"patch":{"operationId":"upsertEntity","summary":"upsertEntity","description":"Create or update an entity using `unique_key`\\n\\n- If no entities are matched, a new entity is created.\\n- If exactly one entity is matched, a `PATCH`-style update is applied to the existing entity.\\n- If more than one entity is matched a `409` Error is returned\\n\\n## Activity\\n\\nIf no `activity_id` query parameter is provided, implicitly creates Activity of type `EntityCreated` or `EntityUpdated`\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Schema","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"query","name":"activity_id","description":"Activity to include in event feed","required":false,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"unique_key":{"type":"array","items":{"type":"string","example":"email.0.email"},"example":["_id"]},"entity":{"$ref":"#/components/schemas/Entity"}},"required":["unique_key","entity"]}}}},"responses":{"200":{"description":"Entity was updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityItem"}}}},"201":{"description":"Entity was created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityItem"}}}},"409":{"description":"Conflict: multiple entities were matched with `unique_key`"}}}},"/v1/entity/{slug}/{id}":{"get":{"operationId":"getEntity","summary":"getEntity","description":"Gets Entity and relations by id.\\n\\n## Relations\\n\\nWhen `hydrate=true`, relation attributes are replaced in-place with nested entity values.\\n\\nExample:\\n```json\\n{\\n \\"_id\\": \\"123\\",\\n \\"name\\": \\"parent\\",\\n \\"_tags\\": [\\"parent\\"],\\n \\"contacts\\": {\\n \\"$relation\\": [\\n { \\"entity_id\\": \\"456\\", \\"_tags\\": [\\"primary\\"] },\\n { \\"entity_id\\": \\"789\\", \\"_tags\\": [\\"secondary\\"] },\\n ]\\n }\\n}\\n```\\n\\nBecomes:\\n```json\\n{\\n \\"_id\\": \\"123\\",\\n \\"name\\": \\"parent\\",\\n \\"_tags\\": [\\"parent\\"],\\n \\"contacts\\": [\\n {\\n \\"$relation\\": { \\"entity_id\\": \\"456\\", \\"_tags\\": [\\"primary\\"] },\\n \\"_id\\": \\"456\\",\\n \\"name\\": \\"child 1\\",\\n \\"_tags\\": [\\"child\\"]\\n },\\n {\\n \\"$relation\\": { \\"entity_id\\": \\"789\\", \\"_tags\\": [\\"secondary\\"] },\\n \\"_id\\": \\"789\\",\\n \\"name\\": \\"child 2\\",\\n \\"_tags\\": [\\"child\\"]\\n }\\n ]\\n}\\n```\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Type","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"path","name":"id","description":"Entity id","required":true,"schema":{"$ref":"#/components/schemas/EntityId"}},{"in":"query","name":"hydrate","description":"When true, enables entity hydration to resolve nested $relation references in-place.","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"entity":{"$ref":"#/components/schemas/EntityItem"},"relations":{"type":"array","items":{"$ref":"#/components/schemas/EntityItem"}}}}}}}}},"put":{"operationId":"updateEntity","summary":"updateEntity","description":"Updates an Entity\\n\\n## Activity\\n\\nIf no `activity_id` query parameter is provided, implicitly creates Activity of type `EntityUpdated`\\n\\n## Relations\\n\\nTo create a relation, store a property that defines a `$relation` array.\\n\\nExample:\\n\\n```json\\n{\\n \\"contacts\\": {\\n \\"$relation\\": [\\n { \\"entity_id\\": \\"3fa85f64-5717-4562-b3fc-2c963f66afa6\\" }\\n ]\\n }\\n}\\n```\\n\\nThe items in `$relation` support two properties:\\n- `entity_id` - The ID of the entity to link\\n- `_tags` - Tags or labels for the relation (optional)\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Type","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"path","name":"id","description":"Entity id","required":true,"schema":{"$ref":"#/components/schemas/EntityId"}},{"in":"query","name":"activity_id","description":"Activity to include in event feed","required":false,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entity"},"example":{}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityItem"}}}}}},"delete":{"operationId":"deleteEntity","summary":"deleteEntity","description":"Deletes an Entity\\n\\n## Activity\\n\\nIf no `activity_id` query parameter is provided, implicitly creates Activity of type `EntityDeleted`\\n","tags":["Entities"],"parameters":[{"in":"path","name":"slug","description":"Entity Type","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/EntityId"}},{"in":"query","name":"activity_id","description":"Activity to include in event feed","required":false,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"responses":{"200":{"description":"Success"}}}},"/v1/entity:autocomplete":{"get":{"operationId":"autocomplete","summary":"autocomplete","description":"Autocomplete entity attributes\\n","tags":["Entities"],"parameters":[{"name":"input","in":"query","description":"Input to autocomplete","schema":{"type":"string"}},{"name":"attribute","in":"query","description":"Autocomplete attribute","schema":{"type":"string","example":"_tags"},"required":true},{"name":"slug","in":"query","description":"Limit results to entity schema","schema":{"$ref":"#/components/schemas/EntitySlug"}},{"name":"size","in":"query","description":"Maximum number of results to return","schema":{"type":"integer","default":10,"minimum":1,"maximum":250}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"hits":{"type":"number","example":1},"results":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"boolean"},{"type":"object","additionalProperties":true}]},"example":["value"]}}}}}}}}},"/v1/entity/activity":{"post":{"operationId":"createActivity","summary":"createActivity","description":"Create an activity that can be displayed in activity feeds.\\n\\n- All activites are published as events on the event bus\\n- Entity mutations are always part of an activity\\n","tags":["Activity"],"parameters":[{"in":"query","name":"entities","description":"Comma-separated list of entities which the activity primarily concerns","style":"form","explode":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityId"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Activity"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityItem"}}}}}}},"/v1/entity/activity/{id}":{"get":{"operationId":"getActivity","summary":"getActivity","description":"Get activity by id","tags":["Activity"],"parameters":[{"in":"path","name":"id","description":"Activity Id","required":true,"schema":{"$ref":"#/components/schemas/ActivityId"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityItem"}}}}}}},"/v1/entity/activity/{id}:attach":{"post":{"operationId":"attachActivity","summary":"attachActivity","description":"Attach existing activity to entity activity feeds","tags":["Activity"],"parameters":[{"in":"path","name":"id","description":"Activity Id","required":true,"schema":{"$ref":"#/components/schemas/ActivityId"}},{"in":"query","name":"entities","description":"Comma-separated list of entities which the activity primarily concerns","style":"form","explode":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/EntityId"}}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityItem"}}}}}}},"/v1/entity/{slug}/{id}/activity":{"get":{"operationId":"getEntityActivityFeed","summary":"getEntityActivityFeed","description":"Get activity feed for an entity\\n","tags":["Activity"],"parameters":[{"in":"path","name":"slug","description":"Entity Type","required":true,"schema":{"$ref":"#/components/schemas/EntitySlug"}},{"in":"path","name":"id","description":"Entity id","required":true,"schema":{"$ref":"#/components/schemas/EntityId"}},{"in":"query","name":"after","description":"Get activities after this timestamp","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"before","description":"get activities before this timestamp","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"from","description":"start from page","schema":{"type":"integer","minimum":0,"default":0}},{"in":"query","name":"size","description":"max number of results to return","schema":{"type":"integer","minimum":1,"default":25}},{"in":"query","name":"type","description":"Activity type","schema":{"type":"string","example":"SyncActivity"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","example":1},"results":{"type":"array","items":{"$ref":"#/components/schemas/ActivityItem"}}}}}}}}}}},"components":{"securitySchemes":{"EpilotAuth":{"type":"http","scheme":"bearer","description":"Authorization header with epilot OAuth2 bearer token","bearerFormat":"JWT"}},"schemas":{"SchemaId":{"description":"Generated uuid for schema","type":"string","format":"uuid"},"EntitySchema":{"description":"The \\"type\\" of an Entity. Describes the shape. Includes Entity Attributes, Relations and Capabilities.","type":"object","properties":{"slug":{"$ref":"#/components/schemas/EntitySlug"},"blueprint":{"$ref":"#/components/schemas/BlueprintEntityId"},"feature_flag":{"type":"string","example":"FF_MY_FEATURE_FLAG","description":"This schema should only be active when the feature flag is enabled"},"enable_setting":{"description":"This schema should only be active when one of the organization settings is enabled","type":"array","items":{"type":"string","example":"ecommerce_preview"}},"name":{"description":"User-friendly identifier for the entity schema","type":"string","example":"Contact"},"plural":{"type":"string","example":"Contacts"},"icon":{"type":"string","example":"person"},"title_template":{"type":"string","description":"Template for rendering the title field. Uses handlebars","example":"{{first_name}} {{last_name}}"},"ui_config":{"type":"object","properties":{"table_view":{"$ref":"#/components/schemas/EntityViewConfig"},"create_view":{"$ref":"#/components/schemas/EntityViewConfig"},"edit_view":{"$ref":"#/components/schemas/EntityViewConfig"},"list_item":{"type":"object","properties":{"summary_attributes":{"type":"array","items":{"type":"string","description":"List of attributes to show in list item","example":"email"}}}}}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/EntityCapability"}},"group_settings":{"type":"object","description":"A dictionary of Group Titles and associated settings if present.","additionalProperties":{"type":"object","properties":{"expanded":{"type":"boolean"},"order":{"description":"Render order of the group","type":"integer","default":0}}},"example":{"Order Info":{"expanded":true},"Contact Details":{"expanded":false}}},"layout_settings":{"type":"object","description":"Custom grid definitions for the layout","additionalProperties":{"type":"object","properties":{"grid_gap":{"type":"string"},"grid_template_columns":{"type":"string"}}}},"attributes":{"description":"An ordered list of attributes the entity contains","type":"array","items":{"$ref":"#/components/schemas/Attribute"},"example":[{"name":"email","type":"email","label":"Email","required":true},{"name":"first_name","type":"string","label":"First Name"},{"name":"last_name","type":"string","label":"Last Name"},{"name":"birthdate","type":"date","label":"Birthdate"},{"name":"salutation","type":"select","label":"Salutation","options":["Mr.","Ms. / Mrs.","Other"]},{"name":"marketing_permission","type":"boolean","label":"Marketing permission"},{"name":"image","type":"file","label":"Image"}]}},"required":["slug","name","plural","attributes","capabilities","views"]},"EntitySchemaItem":{"allOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/SchemaId"}}},{"$ref":"#/components/schemas/EntitySchema"}]},"Attribute":{"oneOf":[{"$ref":"#/components/schemas/TextAttribute"},{"$ref":"#/components/schemas/LinkAttribute"},{"$ref":"#/components/schemas/DateAttribute"},{"$ref":"#/components/schemas/CountryAttribute"},{"$ref":"#/components/schemas/BooleanAttribute"},{"$ref":"#/components/schemas/SelectAttribute"},{"$ref":"#/components/schemas/RelationAttribute"},{"$ref":"#/components/schemas/UserRelationAttribute"},{"$ref":"#/components/schemas/CurrencyAttribute"},{"$ref":"#/components/schemas/RepeatableAttribute"},{"$ref":"#/components/schemas/TagsAttribute"},{"$ref":"#/components/schemas/NumberAttribute"},{"$ref":"#/components/schemas/ConsentAttribute"},{"$ref":"#/components/schemas/InternalAttribute"},{"$ref":"#/components/schemas/OrderedListAttribute"},{"$ref":"#/components/schemas/FileAttribute"}]},"BaseAttribute":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"placeholder":{"type":"string"},"hidden":{"description":"Do not render attribute in entity views","type":"boolean","default":false},"show_in_table":{"description":"Render as a column in table views. When defined, overrides `hidden`","type":"boolean"},"required":{"type":"boolean","default":false},"readonly":{"type":"boolean","default":false},"deprecated":{"type":"boolean","default":false},"default_value":{"oneOf":[{"type":"string"},{"type":"object","additionalProperties":true},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"array"}]},"group":{"type":"string"},"layout":{"type":"string"},"hide_label":{"type":"boolean","description":"When set to true, will hide the label of the field."},"icon":{"type":"string","description":"Code name of the icon to used to represent this attribute.\\nThe value must be a valid @epilot/base-elements Icon name\\n"},"render_condition":{"type":"string","description":"Defines the conditional rendering expression for showing this field.\\nWhen a valid expression is parsed, their evaluation defines the visibility of this attribute.\\nNote: Empty or invalid expression have no effect on the field visibility.\\n"},"constraints":{"type":"object","description":"A set of constraints applicable to the attribute.\\nThese constraints should and will be enforced by the attribute renderer.\\n","example":{"disablePast":true}},"feature_flag":{"type":"string","example":"FF_MY_FEATURE_FLAG","description":"This attribute should only be active when the feature flag is enabled"}},"required":["name","label"]},"TextAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Textarea or text input","properties":{"type":{"type":"string","enum":["string"]},"multiline":{"type":"boolean"}}}]},"LinkAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Link with title and href","properties":{"type":{"type":"string","enum":["link"]}}}]},"InternalAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"No UI representation","properties":{"type":{"type":"string","enum":["internal"]}}}]},"BooleanAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Yes / No Toggle","properties":{"type":{"type":"string","enum":["boolean"]}}}]},"DateAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Date or Datetime picker","properties":{"type":{"type":"string","enum":["date","datetime"]}}}]},"CountryAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Country picker","properties":{"type":{"type":"string","enum":["country"]}}}]},"SelectAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Dropdown select","properties":{"type":{"type":"string","enum":["select","radio"]},"options":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"value":{"type":"string"},"title":{"type":"string"}},"required":["value"]}]}}}}]},"FileAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"File or Image Attachment","properties":{"type":{"type":"string","enum":["image","file"]},"multiple":{"type":"boolean"},"allowed_types":{"description":"List of unique content type specifiers (mime-types / extension)","type":"array","items":{"type":"string","example":"image/*"}},"default_access_control":{"type":"string","enum":["public-read","private"]}},"required":["type","attachments"]}]},"CurrencyAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Currency input","properties":{"type":{"type":"string","enum":["currency"]},"currency":{"description":"An array of currency configurations with a country code (ISO-4217)","type":"array","items":{"anyOf":[{"type":"object","description":"A currency configuration","properties":{"code":{"type":"string"},"description":{"type":"string"},"symbol":{"type":"string"},"flag":{"type":"string"}},"required":["code","description","symbol"],"example":{"code":"EUR","description":"Euro","symbol":"€","flag":"🇪🇺"}}]}}},"required":["type","currency"]}]},"SummaryField":{"type":"object","description":"Summary Fields are displayed inside list view as a resume of the relation entity.","properties":{"field":{"type":"string","description":"The field from the entity attributes to display"},"display_as":{"type":"string","description":"An hint on how to display the summary field"}}},"RelationAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Entity Relationship","properties":{"type":{"type":"string","enum":["relation"]},"relation_type":{"type":"string","enum":["belongs_to","has_many"]},"delete_mode":{"type":"string","enum":["cascade"]},"relation_affinity_mode":{"type":"string","enum":["weak","strong"]},"edit_mode":{"type":"string","enum":["list-view"]},"drawer_size":{"type":"string","enum":["small","medium","large"]},"icon":{"type":"string"},"summary_fields":{"type":"array","items":{"anyOf":[{"type":"string","description":"The field name from the entity attributes to display"},{"$ref":"#/components/schemas/SummaryField"}]}},"allowedSchemas":{"type":"array","items":{"$ref":"#/components/schemas/EntitySlug"}}}}]},"UserRelationAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"User Relationship","properties":{"type":{"type":"string","enum":["relation_user"]},"multiple":{"type":"boolean","default":false}}}]},"RepeatableAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Repeatable (add N number of fields)","properties":{"repeatable":{"type":"boolean"},"relation_affinity_mode":{"type":"string","enum":["weak","strong"]},"type":{"type":"string","enum":["string","phone","email","address","relation"]}}}]},"TagsAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Tags","properties":{"type":{"type":"string","enum":["tags"]},"options":{"type":"array","items":{"type":"string"}},"suggestions":{"type":"array","items":{"type":"string"}}}}]},"NumberAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Numeric input","properties":{"type":{"type":"string","enum":["number"]},"format":{"type":"string"}}}]},"ConsentAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Consent Management","properties":{"type":{"type":"string","enum":["consent"]},"topic":{"type":"string"},"identifiers":{"type":"array","items":{"type":"string"}}},"required":["type","topic"]}]},"OrderedListAttribute":{"allOf":[{"$ref":"#/components/schemas/BaseAttribute"},{"type":"object","description":"Type of attribute to render N number of ordered fields","properties":{"type":{"type":"string","enum":["ordered_list"]}}}]},"Attachment":{"type":"object","deprecated":true,"properties":{"key":{"type":"string"},"mime":{"type":"string"},"name":{"type":"string"},"size":{"type":"number"},"image_url":{"type":"string"},"download_url":{"type":"string"},"alt_text":{"type":"string"}},"required":["key","mime","name","size","image_url","download_url"]},"EntitySlug":{"description":"URL-friendly identifier for the entity schema","type":"string","example":"contact"},"EntityCapability":{"description":"Capabilities the Entity has. Turn features on/off for entities.","type":"object","properties":{"name":{"type":"string","description":"Unique name for the capability","example":"customer_messaging"},"title":{"type":"string","description":"Human readable title of the capability","example":"Messaging"},"attributes":{"type":"array","items":{"$ref":"#/components/schemas/Attribute"}},"ui_hooks":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"hook":{"type":"string","description":"name of the hook to use","example":"EntityDetailsV2:Tab"},"order":{"type":"integer","description":"render order (ascending)","example":10},"title":{"type":"string","example":"Notes"},"group_expanded":{"type":"boolean","description":"Sets the group expand/collapse default state"},"import":{"type":"string","description":"package to be imported","example":"@epilot360/notes"},"component":{"type":"string","description":"the component to be dynamically loaded","example":"PricingItems"},"route":{"type":"string","description":"route for specified capability","example":"notes"},"icon":{"type":"string","description":"Preview icon name(As in Base elements) for the capability","example":"email"},"disabled":{"type":"boolean","description":"Whether capability should be disabled"},"header":{"type":"boolean","description":"Specific to Activity pilot"}},"required":["hook"]}},"feature_flag":{"type":"string","example":"FF_MY_FEATURE_FLAG","description":"This capability should only be active when the feature flag is enabled"},"legacy":{"type":"boolean","description":"Only show capability for legacy tenants (ivy)"}},"required":["name"]},"EntityViewConfig":{"anyOf":[{"$ref":"#/components/schemas/EntityDefaultCreate"},{"$ref":"#/components/schemas/EntityDefaultEdit"},{"$ref":"#/components/schemas/EntityDefaultOverview"},{"$ref":"#/components/schemas/RedirectEntityView"},{"$ref":"#/components/schemas/EntityParcelView"},{"$ref":"#/components/schemas/EntityViewDisabled"}]},"EntityViewDisabled":{"type":"object","properties":{"view_type":{"type":"string","enum":["disabled"]}}},"EntityDefaultOverview":{"type":"object","properties":{"view_type":{"type":"string","enum":["default"]},"dropdown_items":{"type":"array","items":{"allOf":[{"type":"object","properties":{"feature_flag":{"type":"string","example":"FF_MY_FEATURE_FLAG","description":"This dropdown item should only be active when the feature flag is enabled"},"legacy":{"type":"boolean","description":"Only show item for legacy tenants (ivy)"}}},{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["entity"]},"entity":{"$ref":"#/components/schemas/EntitySlug"}}},{"type":"object","properties":{"type":{"type":"string","enum":["link"]},"title":{"type":"string","example":"Opportunities"},"uri":{"type":"string","format":"uri"}}}]}]}},"row_actions":{"type":"array","items":{"type":"string"}},"classic_view":{"type":"string","format":"uri"}}},"EntityDefaultCreate":{"type":"object","properties":{"view_type":{"type":"string","enum":["default"]}}},"EntityDefaultEdit":{"type":"object","properties":{"view_type":{"type":"string","enum":["default"]}}},"RedirectEntityView":{"type":"object","properties":{"view_type":{"type":"string","enum":["redirect"]},"route":{"type":"string","example":"/app/pricing-hub/product/:entityId"}},"example":{"type":"redirect","route":"/app/pricing-hub/product/:entityId"}},"EntityParcelView":{"type":"object","properties":{"view_type":{"type":"string","enum":["parcel"]},"import":{"type":"string","example":"@epilot360/pricing-hub-app"}},"example":{"type":"redirect","route":"/app/pricing-hub/product/:entityId"}},"EntityId":{"type":"string","format":"uuid"},"BaseEntity":{"type":"object","properties":{"_id":{"$ref":"#/components/schemas/EntityId"},"_title":{"type":"string","description":"Title of entity"},"_org":{"type":"string","description":"Organization Id the entity belongs to"},"_schema":{"$ref":"#/components/schemas/EntitySlug"},"_tags":{"type":"array","items":{"type":"string"}},"_created_at":{"type":"string","format":"date-time"},"_updated_at":{"type":"string","format":"date-time"}},"required":["_id","_title","_org","_schema","_created_at","_updated_at"],"example":{"_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","_org":"123","_schema":"contact","_tags":["example","mock"],"_created_at":"2021-02-09T12:41:43.662Z","_updated_at":"2021-02-09T12:41:43.662Z"}},"Entity":{"type":"object","properties":{},"additionalProperties":true},"HydratedEntity":{"type":"object","description":"Entity with relation data resolved into the attribute values","properties":{},"additionalProperties":true,"example":{"status":"active","customer_number":"abc123","email":[{"label":"work","email":"user@example.com"}],"phone":[{"label":"work","phone":"+49123456789"}],"first_name":"First Name","middle_name":"Middle Name","last_name":"Last Name","date_of_birth":"2019-08-24","title":"Mr.","account":[{"status":"active","name":"Company name","company_email":[{"label":"Company email","email":"company@example.com"}],"company_phone":[{"label":"Support phone","phone":"+49123456789"}],"company_website":"https://example.com","tax_id":"DE123456789","tax_exemption":"2019-08-24","contacts":{"$relation":[{"_tags":["CEO"],"entity_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}]}}]}},"EntityItem":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"$ref":"#/components/schemas/Entity"}]},"HydratedEntityItem":{"allOf":[{"$ref":"#/components/schemas/BaseEntity"},{"$ref":"#/components/schemas/HydratedEntity"}]},"EntitySearchParams":{"type":"object","properties":{"q":{"description":"Lucene queries supported with ElasticSearch","type":"string","example":"_schema:contact AND status:active"},"sort":{"type":"string","example":"_created_at:desc"},"from":{"type":"integer","minimum":0,"default":0},"size":{"type":"integer","minimum":1,"default":10},"hydrate":{"type":"boolean","description":"When true, enables entity hydration to resolve nested $relation references in-place.","default":false},"fields":{"type":"array","description":"List of entity fields to include in search results","items":{"type":"string"},"example":["_id","_title","first_name"]},"expand":{"deprecated":true,"type":"array","description":"Deprecated. Use hydrate=true instead","items":{"type":"string"}}}},"EntitySearchResults":{"type":"object","properties":{"hits":{"type":"number","example":1},"results":{"type":"array","items":{"$ref":"#/components/schemas/EntityItem"}}}},"ActivityId":{"type":"string","format":"ulid","description":"See https://github.com/ulid/spec","example":"01F130Q52Q6MWSNS8N2AVXV4JN"},"ActivityCallerContext":{"type":"object","additionalProperties":true,"properties":{"EpilotAuth":{"type":"object","properties":{"token":{"type":"object","properties":{"sub":{"type":"string","example":"476e9b48-42f4-4234-a2b0-4668b34626ce"},"email":{"type":"string","example":"example@epilot.cloud"},"cognito:username":{"type":"string","example":"example@epilot.cloud"},"custom:ivy_user_id":{"type":"string","example":"10006129"}},"example":{"sub":"476e9b48-42f4-4234-a2b0-4668b34626ce","cognito:groups":["Administrator"],"cognito:preferred_role":"arn:aws:iam::912468240823:role/base-administrator-role","iss":"https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_6lZSgmU6D","custom:ivy_org_id":"739224","cognito:username":"n.ahmad@epilot.cloud","custom:ivy_user_id":"10006129","cognito:roles":["arn:aws:iam::912468240823:role/base-administrator-role"],"aud":"6e0jbdnger7nmoktaaflarue1l","event_id":"cd5f5583-d90c-4db5-8e99-5f5dd29a4d75","token_use":"id","auth_time":1614333023,"exp":1614336623,"iat":1614333023,"email":"n.ahmad@epilot.cloud"}}}}}},"Activity":{"type":"object","properties":{"type":{"type":"string","example":"MyCustomActivity"},"title":{"type":"string","description":"Title for activity. Supports handlebars syntax.","example":"My custom activity"},"message":{"type":"string","description":"Message for activity. Supports handlebars syntax.","example":"{{caller}} did something with {{entity payload.entity.id}}."},"payload":{"type":"object","properties":{},"additionalProperties":true,"example":{"entity":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","schema":"contact"}}}},"required":["type","title","message"]},"EntityOperation":{"type":"object","properties":{"entity":{"$ref":"#/components/schemas/EntityId"},"operation":{"type":"string","example":"updateEntity"},"params":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EntityId"},"slug":{"$ref":"#/components/schemas/EntitySlug"}},"example":{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","slug":"contact"}},"payload":{"allOf":[{"$ref":"#/components/schemas/Entity"},{"example":{"_schema":"contact","_org":"123","status":"Inactive"}}]}},"required":["entity","name"]},"ActivityItem":{"allOf":[{"type":"object","properties":{"_id":{"$ref":"#/components/schemas/ActivityId"},"timestamp":{"type":"string","format":"date-time"}}},{"$ref":"#/components/schemas/Activity"},{"type":"object","properties":{"caller":{"$ref":"#/components/schemas/ActivityCallerContext"}}},{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/components/schemas/EntityOperation"}}}}]},"BlueprintEntityId":{"description":"Reference to blueprint","type":"string","format":"uuid"}},"examples":{"TaxEntity":{"description":"Example of a Tax Rate entity","value":{"active":true,"type":"VAT","region":"Germany","region_label":"All Regions","rate":19,"behavior":"Exclusive","description":"MwSt. 19%"}},"ContactEntity":{"description":"Example of a contact entity","value":{"status":"Active","customer_number":"abc123","first_name":"First","middle_name":"Middle","last_name":"Last","title":"Herr Prof. Dr.","email":[{"email":"user@example.com","_tags":["work"]}],"phone":[{"phone":"+49123456789","_tags":["personal","mobile"]}],"address":[{"country":"Germany","city":"Koln","postal_code":81475,"street":"Melatengürtel","street_number":71,"additional_info":"5. Etage","_tags":["billing","delivery"]}],"birthdate":"2019-08-24","account":{"$relation":[{"entity_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","_tags":["company"]}]},"consent_email_marketing":{"status":"OPTED_IN","events":[{"type":"OPT_IN","organization_id":"123","created_at":"2021-07-05T09:12:29.352Z","topic":"EMAIL_MARKETING","identifier":"user@example.com","source":"https://consent.sls.epilot.io/optin?token=abc123","meta":{"ip_address":"1.1.1.1","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"}},{"type":"DOUBLE_OPT_IN_REQUEST","organization_id":"123","created_at":"2021-07-05T08:12:29.352Z","topic":"EMAIL_MARKETING","identifier":"user@example.com","source":"consent-api","meta":{"token":"abc123"}},{"type":"OPT_IN","organization_id":"123","created_at":"2021-07-04T09:12:29.352Z","topic":"EMAIL_MARKETING","identifier":"user@example.com","source":"https://frontend.epilot.cloud","meta":{"ip_address":"1.1.1.1","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"}}]}}},"AccountEntity":{"description":"Example of an account entity","value":{"status":"Active","name":"Example Company","tax_id":"DE123456789","email":[{"email":"user@example.com","_tags":["work"]}],"phone":[{"phone":"+49123456789","_tags":["personal","mobile"]}],"address":[{"country":"Germany","city":"Koln","postal_code":81475,"street":"Melatengürtel","street_number":71,"additional_info":"5. Etage","_tags":["billing","delivery"]}],"website":"http://company.com","tax_exemption":"2021-02-23T09:08:57.320Z","registry_court":"Amtsgericht Köln","registry_number":"HRB 95505","company_size":"50-99","industry":["ecommerce","tech"],"annual_revenue":"5000000","contact":{"$relation":[{"entity_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","_tags":["CEO"]}]}}},"ProductEntity":{"description":"Example of a product entity","value":{"code":"SunrockSolar375","type":"Product","name":"Sunrock Solar Panel","description":"Sunrock Solar Panel, provide high capacity power generation even at night.","shippable":"true,","_files":{"type":"file","attachments":[{"key":"f001-32123-asdasd-23213","mime":"application/pdf","name":"wallbox-premium.pdf","size":6933430,"image_url":"https://s3-bucket.epilot.cloud/uid/f001-32123-asdasd-23213","download_url":"https://s3-bucket.epilot.cloud/uid/f001-32123-asdasd-23213"}]},"_images":{"type":"image","attachments":[{"key":"i001-32123-asdasd-23213","mime":"application/pdf","name":"wallbox-premium.pdf","size":6933430,"image_url":"https://s3-bucket.epilot.cloud/uid/f001-32123-asdasd-23213","download_url":"https://s3-bucket.epilot.cloud/uid/f001-32123-asdasd-23213"}]},"prices":{"$relation":[{"entity_id":"a38cca03-18a2-4e9c-8516-0918d81e7830","_tags":["price"]},{"entity_id":"3d10c912-c419-42d7-9270-02b7d05294e5","_tags":["price"]}]}}},"PriceEntity":{"description":"Example of a price entity","value":{"code":"MODEL_375KW_PREMIUM","type":"One Time","description":"Solar Panel 375 kWp Premium","billing_scheme":"per_unit","unit_amount":"€ 28500","tiers_mode":"Standard"}},"OrderEntity":{"description":"Example of a Order entity","value":{"amount_subtotal":23045,"amount_total":27424,"billing_address":[{"additional_info":"","city":"City","country":"DE","postal_code":"123","street":"Street 1","street_number":"2","_tags":[]}],"billing_company_name":"Epilot","billing_contact":{"$relation":[{"entity_id":"0691f503-5a3c-4e9e-b036-ffb21ea1d284","relationText":"Daniel Test","_schema":"contact","_tags":[]}]},"billing_email":"x@email.xyz","billing_first_name":"Paulo","billing_last_name":"Henriques","billing_phone":"00351912611099","billing_vat":"123456789","currency":"EUR","delivery_address":[{"additional_info":"","city":"City","country":"DE","postal_code":"123","street":"Street 1","street_number":"2","_tags":[]}],"footer_notes":"Footer","line_items":[{"amount_subtotal":23045,"amount_total":27424,"currency":"EUR","description":"Basic Model - No Wifi","price_id":"efe9ff76-865c-4287-8de9-422cfc741ff9","product_id":"beefa9f1-29a8-448e-94d5-ebf1963428f8","quantity":1,"taxes":[{"amount":4379,"rate":"standard"}],"unit_amount":23045,"_price":{"active":false,"billing_duration_amount":"2","billing_duration_unit":"years","billing_period":"monthly","description":"Basic Model - No Wifi","notice_time_amount":"1","notice_time_unit":"months","price_display_in_journeys":"show_price","renewal_duration_amount":"1","renewal_duration_unit":"years","sales_tax":"standard","tax_behavior":"exclusive","termination_time_amount":"1","termination_time_unit":"months","type":"recurring","unit_amount":23045,"unit_amount_currency":"EUR","unit_amount_decimal":"230.4524","_created_at":"2021-12-15T12:34:59.579Z","_id":"efe9ff76-865c-4287-8de9-422cfc741ff9","_org":"739224","_schema":"price","_tags":["basic-model","wifi"],"_title":"Basic Model - No Wifi","_updated_at":"2021-12-31T13:07:51.392Z"},"_product":{"active":true,"code":"PWB","feature":[{"_tags":[],"feature":"Pure Energon Fueled"},{"_tags":[],"feature":"Mobile App Available"}],"name":"Pinho Walls in a Box","price_options":{"$relation":[{"entity_id":"efe9ff76-865c-4287-8de9-422cfc741ff9"}]},"type":"product","_created_at":"2021-12-15T12:35:08.438Z","_id":"beefa9f1-29a8-448e-94d5-ebf1963428f8","_org":"739224","_schema":"product","_tags":["energon","eco-friendly","wallbox"],"_title":"Pinho Walls in a Box","_updated_at":"2022-01-03T17:14:41.042Z"}}],"memo":"Memo","status":"Paid","total_details":{"amount_tax":4379,"breakdown":{"recurrences":[{"amount_subtotal":23045,"amount_tax":4379,"amount_total":27424,"billing_period":"monthly","type":"recurring"}],"taxes":[{"amount":4379,"rate":"standard"}]}}}},"OpportunityEntity":{"description":"Example of an Opportunity entity","value":{"amount_subtotal":23045,"amount_total":27424,"assignees":{"$relation":[{"entity_id":"66a1a6a3-38ee-4ffe-b68d-ee90e3bb1a77","relationText":"Claudius Iohannis","_schema":"contact","_tags":[]}]},"billing_address":[{"additional_info":"","city":"City","country":"DE","postal_code":"123","street":"Street 1","street_number":"2","_tags":[]}],"billing_company_name":"Epilot","billing_contact":{"$relation":[{"entity_id":"0691f503-5a3c-4e9e-b036-ffb21ea1d284","relationText":"Daniel Test","_schema":"contact","_tags":[]}]},"billing_email":"customer@email.xyz","billing_first_name":"Customer First Name","billing_last_name":"Customer Last Name","billing_phone":"00351912611098","billing_vat":"123456789","currency":"EUR","delivery_address":[{"additional_info":"","city":"City","country":"DE","postal_code":"123","street":"Street 1","street_number":"2","_tags":[]}],"line_items":[{"amount_subtotal":23045,"amount_total":27424,"currency":"EUR","description":"Basic Model - No Wifi","price_id":"efe9ff76-865c-4287-8de9-422cfc741ff9","product_id":"beefa9f1-29a8-448e-94d5-ebf1963428f8","quantity":1,"taxes":[{"amount":4379,"rate":"standard"}],"unit_amount":23045,"_price":{"active":false,"billing_duration_amount":"2","billing_duration_unit":"years","billing_period":"monthly","description":"Basic Model - No Wifi","notice_time_amount":"1","notice_time_unit":"months","price_display_in_journeys":"show_price","renewal_duration_amount":"1","renewal_duration_unit":"years","sales_tax":"standard","tax_behavior":"exclusive","termination_time_amount":"1","termination_time_unit":"months","type":"recurring","unit_amount":23045,"unit_amount_currency":"EUR","unit_amount_decimal":"230.4524","_created_at":"2021-12-15T12:34:59.579Z","_id":"efe9ff76-865c-4287-8de9-422cfc741ff9","_org":"739224","_schema":"price","_tags":["basic-model","wifi"],"_title":"Basic Model - No Wifi","_updated_at":"2021-12-31T13:07:51.392Z"},"_product":{"active":true,"code":"PWB","feature":[{"_tags":[],"feature":"Pure Energon Fueled"},{"_tags":[],"feature":"Mobile App Available"}],"name":"Pinho Walls in a Box","price_options":{"$relation":[{"entity_id":"efe9ff76-865c-4287-8de9-422cfc741ff9"}]},"type":"product","_created_at":"2021-12-15T12:35:08.438Z","_id":"beefa9f1-29a8-448e-94d5-ebf1963428f8","_org":"739224","_schema":"product","_tags":["energon","eco-friendly","wallbox"],"_title":"Pinho Walls in a Box","_updated_at":"2022-01-03T17:14:41.042Z"}}],"opportunity_number":"20220105-768854819","participants":{"$relation":[{"entity_id":"9bbfdaa9-22b2-4100-a256-67600202e3f4","relationText":"Alex Marques","_schema":"contact","_tags":[]}]},"status":"Lead","total_details":{"amount_tax":4379,"breakdown":{"recurrences":[{"amount_subtotal":23045,"amount_tax":4379,"amount_total":27424,"billing_period":"monthly","type":"recurring"}],"taxes":[{"amount":4379,"rate":"standard"}]}}}},"EmailTemplateEntity":{"description":"Example of an email template entity","value":{"attachments":[],"body":"<p fr-original-style=\\"caret-color: rgb(65, 65, 65); color: rgb(65, 65, 65); font-family: sans-serif;\\" id=\\"isPasted\\" style=\\"caret-color: rgb(65, 65, 65); color: rgb(65, 65, 65); font-family: sans-serif; box-sizing: inherit; border-color: rgba(229, 231, 235, var(--tw-border-opacity));\\"><span fr-original-style=\\"font-weight: 700;\\" style=\\"font-weight: 700; box-sizing: inherit; border-color: rgba(229, 231, 235, var(--tw-border-opacity));\\">Variablen - Kontakt</span></p>","brand_id":7066103,"from":{"name":"Name","email":"admin@email.xyz"},"name":"PH Test","subject":"Example Subject","system_template":false,"to":[{"id":"1","name":"Contact Name","email":"Contact email"}],"_tags":["Bestellung"]}},"FileEntity":{"description":"Example of a file template entity","value":{"access_control":"private","filename":"solar_panel_ph.jpeg","s3ref":{"bucket":"epilot-staging-user-content","key":"728/temp/6d450fd1-2d63-435f-b598-c605dfb89cbc/solar_panel_ph.jpeg"}}},"WorkflowStepEntity":{"description":"Example of a workflow step template entity","value":{"name":"Name","assigned_to\\"":["10000563"],"status":"Unassigned","order":123,"tags":["tag1"]}},"SubmissionEntity":{"description":"Example of a submission step template entity","value":{"mapped_entities":{"$relation":[{"entity_id":"4ffb071c-2821-4505-86d0-09b801ffd97a","relationText":"4ffb071c-2821-4505-86d0-09b801ffd97a","_schema":"price","_tags":[]}]}}}}}}')}},t={};return function i(n){if(t[n])return t[n].exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,i),a.exports}(914)})());
|
package/dist/openapi.d.ts
CHANGED
|
@@ -146,7 +146,7 @@ declare namespace Components {
|
|
|
146
146
|
download_url: string;
|
|
147
147
|
alt_text?: string;
|
|
148
148
|
}
|
|
149
|
-
export type Attribute = /* Textarea or text input */ TextAttribute | /* Link with title and href */ LinkAttribute | /* Date or Datetime picker */ DateAttribute | /* Country picker */ CountryAttribute | /* Yes / No Toggle */ BooleanAttribute | /* Dropdown select */ SelectAttribute | /* Entity Relationship */ RelationAttribute | /* User Relationship */ UserRelationAttribute | /*
|
|
149
|
+
export type Attribute = /* Textarea or text input */ TextAttribute | /* Link with title and href */ LinkAttribute | /* Date or Datetime picker */ DateAttribute | /* Country picker */ CountryAttribute | /* Yes / No Toggle */ BooleanAttribute | /* Dropdown select */ SelectAttribute | /* Entity Relationship */ RelationAttribute | /* User Relationship */ UserRelationAttribute | /* Currency input */ CurrencyAttribute | /* Repeatable (add N number of fields) */ RepeatableAttribute | /* Tags */ TagsAttribute | /* Numeric input */ NumberAttribute | /* Consent Management */ ConsentAttribute | /* No UI representation */ InternalAttribute | /* Type of attribute to render N number of ordered fields */ OrderedListAttribute | /* File or Image Attachment */ FileAttribute;
|
|
150
150
|
export interface BaseAttribute {
|
|
151
151
|
name: string;
|
|
152
152
|
label: string;
|
|
@@ -237,17 +237,10 @@ declare namespace Components {
|
|
|
237
237
|
_created_at: string; // date-time
|
|
238
238
|
_updated_at: string; // date-time
|
|
239
239
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
* example:
|
|
244
|
-
* Power & Gas Utilities
|
|
245
|
-
*/
|
|
246
|
-
name?: string;
|
|
247
|
-
schemas?: /* The "type" of an Entity. Describes the shape. Includes Entity Attributes, Relations and Capabilities. */ EntitySchema[];
|
|
248
|
-
}
|
|
240
|
+
/**
|
|
241
|
+
* Reference to blueprint
|
|
242
|
+
*/
|
|
249
243
|
export type BlueprintEntityId = string; // uuid
|
|
250
|
-
export type BlueprintId = string; // uuid
|
|
251
244
|
/**
|
|
252
245
|
* Yes / No Toggle
|
|
253
246
|
*/
|
|
@@ -790,7 +783,7 @@ declare namespace Components {
|
|
|
790
783
|
* contact
|
|
791
784
|
*/
|
|
792
785
|
EntitySlug;
|
|
793
|
-
blueprint?: BlueprintEntityId /* uuid */;
|
|
786
|
+
blueprint?: /* Reference to blueprint */ BlueprintEntityId /* uuid */;
|
|
794
787
|
/**
|
|
795
788
|
* This schema should only be active when the feature flag is enabled
|
|
796
789
|
* example:
|
|
@@ -847,6 +840,10 @@ declare namespace Components {
|
|
|
847
840
|
group_settings?: {
|
|
848
841
|
[name: string]: {
|
|
849
842
|
expanded?: boolean;
|
|
843
|
+
/**
|
|
844
|
+
* Render order of the group
|
|
845
|
+
*/
|
|
846
|
+
order?: number;
|
|
850
847
|
};
|
|
851
848
|
};
|
|
852
849
|
/**
|
|
@@ -918,7 +915,7 @@ declare namespace Components {
|
|
|
918
915
|
* contact
|
|
919
916
|
*/
|
|
920
917
|
EntitySlug;
|
|
921
|
-
blueprint?: BlueprintEntityId /* uuid */;
|
|
918
|
+
blueprint?: /* Reference to blueprint */ BlueprintEntityId /* uuid */;
|
|
922
919
|
/**
|
|
923
920
|
* This schema should only be active when the feature flag is enabled
|
|
924
921
|
* example:
|
|
@@ -975,6 +972,10 @@ declare namespace Components {
|
|
|
975
972
|
group_settings?: {
|
|
976
973
|
[name: string]: {
|
|
977
974
|
expanded?: boolean;
|
|
975
|
+
/**
|
|
976
|
+
* Render order of the group
|
|
977
|
+
*/
|
|
978
|
+
order?: number;
|
|
978
979
|
};
|
|
979
980
|
};
|
|
980
981
|
/**
|
|
@@ -1858,67 +1859,6 @@ declare namespace Components {
|
|
|
1858
1859
|
options?: string[];
|
|
1859
1860
|
suggestions?: string[];
|
|
1860
1861
|
}
|
|
1861
|
-
/**
|
|
1862
|
-
* Tax Relationship
|
|
1863
|
-
*/
|
|
1864
|
-
export interface TaxRelationAttribute {
|
|
1865
|
-
name: string;
|
|
1866
|
-
label: string;
|
|
1867
|
-
placeholder?: string;
|
|
1868
|
-
/**
|
|
1869
|
-
* Do not render attribute in entity views
|
|
1870
|
-
*/
|
|
1871
|
-
hidden?: boolean;
|
|
1872
|
-
/**
|
|
1873
|
-
* Render as a column in table views. When defined, overrides `hidden`
|
|
1874
|
-
*/
|
|
1875
|
-
show_in_table?: boolean;
|
|
1876
|
-
required?: boolean;
|
|
1877
|
-
readonly?: boolean;
|
|
1878
|
-
deprecated?: boolean;
|
|
1879
|
-
default_value?: string | {
|
|
1880
|
-
[name: string]: any;
|
|
1881
|
-
} | number | number | boolean | any[];
|
|
1882
|
-
group?: string;
|
|
1883
|
-
layout?: string;
|
|
1884
|
-
/**
|
|
1885
|
-
* When set to true, will hide the label of the field.
|
|
1886
|
-
*/
|
|
1887
|
-
hide_label?: boolean;
|
|
1888
|
-
/**
|
|
1889
|
-
* Code name of the icon to used to represent this attribute.
|
|
1890
|
-
* The value must be a valid @epilot/base-elements Icon name
|
|
1891
|
-
*
|
|
1892
|
-
*/
|
|
1893
|
-
icon?: string;
|
|
1894
|
-
/**
|
|
1895
|
-
* Defines the conditional rendering expression for showing this field.
|
|
1896
|
-
* When a valid expression is parsed, their evaluation defines the visibility of this attribute.
|
|
1897
|
-
* Note: Empty or invalid expression have no effect on the field visibility.
|
|
1898
|
-
*
|
|
1899
|
-
*/
|
|
1900
|
-
render_condition?: string;
|
|
1901
|
-
/**
|
|
1902
|
-
* A set of constraints applicable to the attribute.
|
|
1903
|
-
* These constraints should and will be enforced by the attribute renderer.
|
|
1904
|
-
*
|
|
1905
|
-
* example:
|
|
1906
|
-
* {
|
|
1907
|
-
* "disablePast": true
|
|
1908
|
-
* }
|
|
1909
|
-
*/
|
|
1910
|
-
constraints?: {
|
|
1911
|
-
[key: string]: any;
|
|
1912
|
-
};
|
|
1913
|
-
/**
|
|
1914
|
-
* This attribute should only be active when the feature flag is enabled
|
|
1915
|
-
* example:
|
|
1916
|
-
* FF_MY_FEATURE_FLAG
|
|
1917
|
-
*/
|
|
1918
|
-
feature_flag?: string;
|
|
1919
|
-
type?: "relation_tax";
|
|
1920
|
-
multiple?: boolean;
|
|
1921
|
-
}
|
|
1922
1862
|
/**
|
|
1923
1863
|
* Textarea or text input
|
|
1924
1864
|
*/
|
|
@@ -2222,17 +2162,6 @@ declare namespace Paths {
|
|
|
2222
2162
|
export type $200 = Components.Schemas.ActivityItem;
|
|
2223
2163
|
}
|
|
2224
2164
|
}
|
|
2225
|
-
namespace GetBlueprint {
|
|
2226
|
-
namespace Parameters {
|
|
2227
|
-
export type Id = Components.Schemas.BlueprintId /* uuid */;
|
|
2228
|
-
}
|
|
2229
|
-
export interface PathParameters {
|
|
2230
|
-
id: Parameters.Id;
|
|
2231
|
-
}
|
|
2232
|
-
namespace Responses {
|
|
2233
|
-
export type $200 = Components.Schemas.Blueprint;
|
|
2234
|
-
}
|
|
2235
|
-
}
|
|
2236
2165
|
namespace GetEntity {
|
|
2237
2166
|
namespace Parameters {
|
|
2238
2167
|
export type Hydrate = boolean;
|
|
@@ -2371,13 +2300,6 @@ declare namespace Paths {
|
|
|
2371
2300
|
export type $200 = /* The "type" of an Entity. Describes the shape. Includes Entity Attributes, Relations and Capabilities. */ Components.Schemas.EntitySchemaItem;
|
|
2372
2301
|
}
|
|
2373
2302
|
}
|
|
2374
|
-
namespace SearchAvailableBlueprints {
|
|
2375
|
-
namespace Responses {
|
|
2376
|
-
export interface $200 {
|
|
2377
|
-
results?: Components.Schemas.Blueprint[];
|
|
2378
|
-
}
|
|
2379
|
-
}
|
|
2380
|
-
}
|
|
2381
2303
|
namespace SearchEntities {
|
|
2382
2304
|
export type RequestBody = Components.Schemas.EntitySearchParams;
|
|
2383
2305
|
namespace Responses {
|
|
@@ -2580,17 +2502,6 @@ export interface OperationMethods {
|
|
|
2580
2502
|
data?: Paths.SearchEntities.RequestBody,
|
|
2581
2503
|
config?: AxiosRequestConfig
|
|
2582
2504
|
): OperationResponse<Paths.SearchEntities.Responses.$200>
|
|
2583
|
-
/**
|
|
2584
|
-
* autocomplete - autocomplete
|
|
2585
|
-
*
|
|
2586
|
-
* Autocomplete entity attributes
|
|
2587
|
-
*
|
|
2588
|
-
*/
|
|
2589
|
-
'autocomplete'(
|
|
2590
|
-
parameters?: Parameters<Paths.Autocomplete.QueryParameters> | null,
|
|
2591
|
-
data?: any,
|
|
2592
|
-
config?: AxiosRequestConfig
|
|
2593
|
-
): OperationResponse<Paths.Autocomplete.Responses.$200>
|
|
2594
2505
|
/**
|
|
2595
2506
|
* createEntity - createEntity
|
|
2596
2507
|
*
|
|
@@ -2748,6 +2659,17 @@ export interface OperationMethods {
|
|
|
2748
2659
|
data?: any,
|
|
2749
2660
|
config?: AxiosRequestConfig
|
|
2750
2661
|
): OperationResponse<Paths.DeleteEntity.Responses.$200>
|
|
2662
|
+
/**
|
|
2663
|
+
* autocomplete - autocomplete
|
|
2664
|
+
*
|
|
2665
|
+
* Autocomplete entity attributes
|
|
2666
|
+
*
|
|
2667
|
+
*/
|
|
2668
|
+
'autocomplete'(
|
|
2669
|
+
parameters?: Parameters<Paths.Autocomplete.QueryParameters> | null,
|
|
2670
|
+
data?: any,
|
|
2671
|
+
config?: AxiosRequestConfig
|
|
2672
|
+
): OperationResponse<Paths.Autocomplete.Responses.$200>
|
|
2751
2673
|
/**
|
|
2752
2674
|
* createActivity - createActivity
|
|
2753
2675
|
*
|
|
@@ -2793,26 +2715,10 @@ export interface OperationMethods {
|
|
|
2793
2715
|
data?: any,
|
|
2794
2716
|
config?: AxiosRequestConfig
|
|
2795
2717
|
): OperationResponse<Paths.GetEntityActivityFeed.Responses.$200>
|
|
2796
|
-
/**
|
|
2797
|
-
* searchAvailableBlueprints - searchAvailableBlueprints
|
|
2798
|
-
*/
|
|
2799
|
-
'searchAvailableBlueprints'(
|
|
2800
|
-
parameters?: Parameters<UnknownParamsObject> | null,
|
|
2801
|
-
data?: any,
|
|
2802
|
-
config?: AxiosRequestConfig
|
|
2803
|
-
): OperationResponse<Paths.SearchAvailableBlueprints.Responses.$200>
|
|
2804
|
-
/**
|
|
2805
|
-
* getBlueprint - getBlueprint
|
|
2806
|
-
*/
|
|
2807
|
-
'getBlueprint'(
|
|
2808
|
-
parameters?: Parameters<Paths.GetBlueprint.PathParameters> | null,
|
|
2809
|
-
data?: any,
|
|
2810
|
-
config?: AxiosRequestConfig
|
|
2811
|
-
): OperationResponse<Paths.GetBlueprint.Responses.$200>
|
|
2812
2718
|
}
|
|
2813
2719
|
|
|
2814
2720
|
export interface PathsDictionary {
|
|
2815
|
-
['/schemas']: {
|
|
2721
|
+
['/v1/entity/schemas']: {
|
|
2816
2722
|
/**
|
|
2817
2723
|
* listSchemas - listSchemas
|
|
2818
2724
|
*/
|
|
@@ -2822,7 +2728,7 @@ export interface PathsDictionary {
|
|
|
2822
2728
|
config?: AxiosRequestConfig
|
|
2823
2729
|
): OperationResponse<Paths.ListSchemas.Responses.$200>
|
|
2824
2730
|
}
|
|
2825
|
-
['/schemas/{slug}']: {
|
|
2731
|
+
['/v1/entity/schemas/{slug}']: {
|
|
2826
2732
|
/**
|
|
2827
2733
|
* getSchema - getSchema
|
|
2828
2734
|
*/
|
|
@@ -2848,7 +2754,7 @@ export interface PathsDictionary {
|
|
|
2848
2754
|
config?: AxiosRequestConfig
|
|
2849
2755
|
): OperationResponse<Paths.DeleteSchema.Responses.$204>
|
|
2850
2756
|
}
|
|
2851
|
-
['/entity:search']: {
|
|
2757
|
+
['/v1/entity:search']: {
|
|
2852
2758
|
/**
|
|
2853
2759
|
* searchEntities - searchEntities
|
|
2854
2760
|
*
|
|
@@ -2903,20 +2809,7 @@ export interface PathsDictionary {
|
|
|
2903
2809
|
config?: AxiosRequestConfig
|
|
2904
2810
|
): OperationResponse<Paths.SearchEntities.Responses.$200>
|
|
2905
2811
|
}
|
|
2906
|
-
['/entity
|
|
2907
|
-
/**
|
|
2908
|
-
* autocomplete - autocomplete
|
|
2909
|
-
*
|
|
2910
|
-
* Autocomplete entity attributes
|
|
2911
|
-
*
|
|
2912
|
-
*/
|
|
2913
|
-
'get'(
|
|
2914
|
-
parameters?: Parameters<Paths.Autocomplete.QueryParameters> | null,
|
|
2915
|
-
data?: any,
|
|
2916
|
-
config?: AxiosRequestConfig
|
|
2917
|
-
): OperationResponse<Paths.Autocomplete.Responses.$200>
|
|
2918
|
-
}
|
|
2919
|
-
['/entity/{slug}']: {
|
|
2812
|
+
['/v1/entity/{slug}']: {
|
|
2920
2813
|
/**
|
|
2921
2814
|
* createEntity - createEntity
|
|
2922
2815
|
*
|
|
@@ -2953,7 +2846,7 @@ export interface PathsDictionary {
|
|
|
2953
2846
|
config?: AxiosRequestConfig
|
|
2954
2847
|
): OperationResponse<Paths.CreateEntity.Responses.$201>
|
|
2955
2848
|
}
|
|
2956
|
-
['/entity/{slug}:upsert']: {
|
|
2849
|
+
['/v1/entity/{slug}:upsert']: {
|
|
2957
2850
|
/**
|
|
2958
2851
|
* upsertEntity - upsertEntity
|
|
2959
2852
|
*
|
|
@@ -2974,7 +2867,7 @@ export interface PathsDictionary {
|
|
|
2974
2867
|
config?: AxiosRequestConfig
|
|
2975
2868
|
): OperationResponse<Paths.UpsertEntity.Responses.$200 | Paths.UpsertEntity.Responses.$201>
|
|
2976
2869
|
}
|
|
2977
|
-
['/entity/{slug}/{id}']: {
|
|
2870
|
+
['/v1/entity/{slug}/{id}']: {
|
|
2978
2871
|
/**
|
|
2979
2872
|
* getEntity - getEntity
|
|
2980
2873
|
*
|
|
@@ -3079,7 +2972,20 @@ export interface PathsDictionary {
|
|
|
3079
2972
|
config?: AxiosRequestConfig
|
|
3080
2973
|
): OperationResponse<Paths.DeleteEntity.Responses.$200>
|
|
3081
2974
|
}
|
|
3082
|
-
['/
|
|
2975
|
+
['/v1/entity:autocomplete']: {
|
|
2976
|
+
/**
|
|
2977
|
+
* autocomplete - autocomplete
|
|
2978
|
+
*
|
|
2979
|
+
* Autocomplete entity attributes
|
|
2980
|
+
*
|
|
2981
|
+
*/
|
|
2982
|
+
'get'(
|
|
2983
|
+
parameters?: Parameters<Paths.Autocomplete.QueryParameters> | null,
|
|
2984
|
+
data?: any,
|
|
2985
|
+
config?: AxiosRequestConfig
|
|
2986
|
+
): OperationResponse<Paths.Autocomplete.Responses.$200>
|
|
2987
|
+
}
|
|
2988
|
+
['/v1/entity/activity']: {
|
|
3083
2989
|
/**
|
|
3084
2990
|
* createActivity - createActivity
|
|
3085
2991
|
*
|
|
@@ -3095,7 +3001,7 @@ export interface PathsDictionary {
|
|
|
3095
3001
|
config?: AxiosRequestConfig
|
|
3096
3002
|
): OperationResponse<Paths.CreateActivity.Responses.$200>
|
|
3097
3003
|
}
|
|
3098
|
-
['/activity/{id}']: {
|
|
3004
|
+
['/v1/entity/activity/{id}']: {
|
|
3099
3005
|
/**
|
|
3100
3006
|
* getActivity - getActivity
|
|
3101
3007
|
*
|
|
@@ -3107,7 +3013,7 @@ export interface PathsDictionary {
|
|
|
3107
3013
|
config?: AxiosRequestConfig
|
|
3108
3014
|
): OperationResponse<Paths.GetActivity.Responses.$200>
|
|
3109
3015
|
}
|
|
3110
|
-
['/activity/{id}:attach']: {
|
|
3016
|
+
['/v1/entity/activity/{id}:attach']: {
|
|
3111
3017
|
/**
|
|
3112
3018
|
* attachActivity - attachActivity
|
|
3113
3019
|
*
|
|
@@ -3119,7 +3025,7 @@ export interface PathsDictionary {
|
|
|
3119
3025
|
config?: AxiosRequestConfig
|
|
3120
3026
|
): OperationResponse<Paths.AttachActivity.Responses.$200>
|
|
3121
3027
|
}
|
|
3122
|
-
['/entity/{slug}/{id}/activity']: {
|
|
3028
|
+
['/v1/entity/{slug}/{id}/activity']: {
|
|
3123
3029
|
/**
|
|
3124
3030
|
* getEntityActivityFeed - getEntityActivityFeed
|
|
3125
3031
|
*
|
|
@@ -3132,26 +3038,6 @@ export interface PathsDictionary {
|
|
|
3132
3038
|
config?: AxiosRequestConfig
|
|
3133
3039
|
): OperationResponse<Paths.GetEntityActivityFeed.Responses.$200>
|
|
3134
3040
|
}
|
|
3135
|
-
['/blueprints']: {
|
|
3136
|
-
/**
|
|
3137
|
-
* searchAvailableBlueprints - searchAvailableBlueprints
|
|
3138
|
-
*/
|
|
3139
|
-
'get'(
|
|
3140
|
-
parameters?: Parameters<UnknownParamsObject> | null,
|
|
3141
|
-
data?: any,
|
|
3142
|
-
config?: AxiosRequestConfig
|
|
3143
|
-
): OperationResponse<Paths.SearchAvailableBlueprints.Responses.$200>
|
|
3144
|
-
}
|
|
3145
|
-
['/blueprints/{id}']: {
|
|
3146
|
-
/**
|
|
3147
|
-
* getBlueprint - getBlueprint
|
|
3148
|
-
*/
|
|
3149
|
-
'get'(
|
|
3150
|
-
parameters?: Parameters<Paths.GetBlueprint.PathParameters> | null,
|
|
3151
|
-
data?: any,
|
|
3152
|
-
config?: AxiosRequestConfig
|
|
3153
|
-
): OperationResponse<Paths.GetBlueprint.Responses.$200>
|
|
3154
|
-
}
|
|
3155
3041
|
}
|
|
3156
3042
|
|
|
3157
3043
|
export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
|
package/dist/openapi.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Entity API",
|
|
5
5
|
"version": "1.0.0",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "Flexible data layer for epilot Entities.\n\nUse this API configure and access your business objects like Contacts, Opportunities and Products.\n\n[Feature Documentation](https://docs.epilot.io/docs/entities/flexible-entities)\n"
|
|
7
7
|
},
|
|
8
8
|
"tags": [
|
|
9
9
|
{
|
|
10
10
|
"name": "Schemas",
|
|
11
|
-
"description": "
|
|
11
|
+
"description": "Model Entities"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"name": "Entities",
|
|
@@ -16,23 +16,16 @@
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"name": "Activity",
|
|
19
|
-
"description": "
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"name": "Blueprints",
|
|
23
|
-
"description": "Blueprints for Schemas"
|
|
19
|
+
"description": "Entity Events"
|
|
24
20
|
}
|
|
25
21
|
],
|
|
26
22
|
"security": [
|
|
27
23
|
{
|
|
28
24
|
"EpilotAuth": []
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"AsOrganization": []
|
|
32
25
|
}
|
|
33
26
|
],
|
|
34
27
|
"paths": {
|
|
35
|
-
"/schemas": {
|
|
28
|
+
"/v1/entity/schemas": {
|
|
36
29
|
"get": {
|
|
37
30
|
"operationId": "listSchemas",
|
|
38
31
|
"summary": "listSchemas",
|
|
@@ -61,7 +54,7 @@
|
|
|
61
54
|
}
|
|
62
55
|
}
|
|
63
56
|
},
|
|
64
|
-
"/schemas/{slug}": {
|
|
57
|
+
"/v1/entity/schemas/{slug}": {
|
|
65
58
|
"get": {
|
|
66
59
|
"operationId": "getSchema",
|
|
67
60
|
"summary": "getSchema",
|
|
@@ -152,7 +145,7 @@
|
|
|
152
145
|
}
|
|
153
146
|
}
|
|
154
147
|
},
|
|
155
|
-
"/entity:search": {
|
|
148
|
+
"/v1/entity:search": {
|
|
156
149
|
"post": {
|
|
157
150
|
"operationId": "searchEntities",
|
|
158
151
|
"summary": "searchEntities",
|
|
@@ -183,94 +176,7 @@
|
|
|
183
176
|
}
|
|
184
177
|
}
|
|
185
178
|
},
|
|
186
|
-
"/entity
|
|
187
|
-
"get": {
|
|
188
|
-
"operationId": "autocomplete",
|
|
189
|
-
"summary": "autocomplete",
|
|
190
|
-
"description": "Autocomplete entity attributes\n",
|
|
191
|
-
"tags": [
|
|
192
|
-
"Entities"
|
|
193
|
-
],
|
|
194
|
-
"parameters": [
|
|
195
|
-
{
|
|
196
|
-
"name": "input",
|
|
197
|
-
"in": "query",
|
|
198
|
-
"description": "Input to autocomplete",
|
|
199
|
-
"schema": {
|
|
200
|
-
"type": "string"
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
"name": "attribute",
|
|
205
|
-
"in": "query",
|
|
206
|
-
"description": "Autocomplete attribute",
|
|
207
|
-
"schema": {
|
|
208
|
-
"type": "string",
|
|
209
|
-
"example": "_tags"
|
|
210
|
-
},
|
|
211
|
-
"required": true
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
"name": "slug",
|
|
215
|
-
"in": "query",
|
|
216
|
-
"description": "Limit results to entity schema",
|
|
217
|
-
"schema": {
|
|
218
|
-
"$ref": "#/components/schemas/EntitySlug"
|
|
219
|
-
}
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
"name": "size",
|
|
223
|
-
"in": "query",
|
|
224
|
-
"description": "Maximum number of results to return",
|
|
225
|
-
"schema": {
|
|
226
|
-
"type": "integer",
|
|
227
|
-
"default": 10,
|
|
228
|
-
"minimum": 1,
|
|
229
|
-
"maximum": 250
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
],
|
|
233
|
-
"responses": {
|
|
234
|
-
"200": {
|
|
235
|
-
"description": "Success",
|
|
236
|
-
"content": {
|
|
237
|
-
"application/json": {
|
|
238
|
-
"schema": {
|
|
239
|
-
"type": "object",
|
|
240
|
-
"properties": {
|
|
241
|
-
"hits": {
|
|
242
|
-
"type": "number",
|
|
243
|
-
"example": 1
|
|
244
|
-
},
|
|
245
|
-
"results": {
|
|
246
|
-
"type": "array",
|
|
247
|
-
"items": {
|
|
248
|
-
"anyOf": [
|
|
249
|
-
{
|
|
250
|
-
"type": "string"
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
"type": "boolean"
|
|
254
|
-
},
|
|
255
|
-
{
|
|
256
|
-
"type": "object",
|
|
257
|
-
"additionalProperties": true
|
|
258
|
-
}
|
|
259
|
-
]
|
|
260
|
-
},
|
|
261
|
-
"example": [
|
|
262
|
-
"value"
|
|
263
|
-
]
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
},
|
|
273
|
-
"/entity/{slug}": {
|
|
179
|
+
"/v1/entity/{slug}": {
|
|
274
180
|
"post": {
|
|
275
181
|
"operationId": "createEntity",
|
|
276
182
|
"summary": "createEntity",
|
|
@@ -356,7 +262,7 @@
|
|
|
356
262
|
}
|
|
357
263
|
}
|
|
358
264
|
},
|
|
359
|
-
"/entity/{slug}:upsert": {
|
|
265
|
+
"/v1/entity/{slug}:upsert": {
|
|
360
266
|
"patch": {
|
|
361
267
|
"operationId": "upsertEntity",
|
|
362
268
|
"summary": "upsertEntity",
|
|
@@ -439,7 +345,7 @@
|
|
|
439
345
|
}
|
|
440
346
|
}
|
|
441
347
|
},
|
|
442
|
-
"/entity/{slug}/{id}": {
|
|
348
|
+
"/v1/entity/{slug}/{id}": {
|
|
443
349
|
"get": {
|
|
444
350
|
"operationId": "getEntity",
|
|
445
351
|
"summary": "getEntity",
|
|
@@ -601,7 +507,94 @@
|
|
|
601
507
|
}
|
|
602
508
|
}
|
|
603
509
|
},
|
|
604
|
-
"/
|
|
510
|
+
"/v1/entity:autocomplete": {
|
|
511
|
+
"get": {
|
|
512
|
+
"operationId": "autocomplete",
|
|
513
|
+
"summary": "autocomplete",
|
|
514
|
+
"description": "Autocomplete entity attributes\n",
|
|
515
|
+
"tags": [
|
|
516
|
+
"Entities"
|
|
517
|
+
],
|
|
518
|
+
"parameters": [
|
|
519
|
+
{
|
|
520
|
+
"name": "input",
|
|
521
|
+
"in": "query",
|
|
522
|
+
"description": "Input to autocomplete",
|
|
523
|
+
"schema": {
|
|
524
|
+
"type": "string"
|
|
525
|
+
}
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"name": "attribute",
|
|
529
|
+
"in": "query",
|
|
530
|
+
"description": "Autocomplete attribute",
|
|
531
|
+
"schema": {
|
|
532
|
+
"type": "string",
|
|
533
|
+
"example": "_tags"
|
|
534
|
+
},
|
|
535
|
+
"required": true
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"name": "slug",
|
|
539
|
+
"in": "query",
|
|
540
|
+
"description": "Limit results to entity schema",
|
|
541
|
+
"schema": {
|
|
542
|
+
"$ref": "#/components/schemas/EntitySlug"
|
|
543
|
+
}
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
"name": "size",
|
|
547
|
+
"in": "query",
|
|
548
|
+
"description": "Maximum number of results to return",
|
|
549
|
+
"schema": {
|
|
550
|
+
"type": "integer",
|
|
551
|
+
"default": 10,
|
|
552
|
+
"minimum": 1,
|
|
553
|
+
"maximum": 250
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
],
|
|
557
|
+
"responses": {
|
|
558
|
+
"200": {
|
|
559
|
+
"description": "Success",
|
|
560
|
+
"content": {
|
|
561
|
+
"application/json": {
|
|
562
|
+
"schema": {
|
|
563
|
+
"type": "object",
|
|
564
|
+
"properties": {
|
|
565
|
+
"hits": {
|
|
566
|
+
"type": "number",
|
|
567
|
+
"example": 1
|
|
568
|
+
},
|
|
569
|
+
"results": {
|
|
570
|
+
"type": "array",
|
|
571
|
+
"items": {
|
|
572
|
+
"anyOf": [
|
|
573
|
+
{
|
|
574
|
+
"type": "string"
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"type": "boolean"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"type": "object",
|
|
581
|
+
"additionalProperties": true
|
|
582
|
+
}
|
|
583
|
+
]
|
|
584
|
+
},
|
|
585
|
+
"example": [
|
|
586
|
+
"value"
|
|
587
|
+
]
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
},
|
|
597
|
+
"/v1/entity/activity": {
|
|
605
598
|
"post": {
|
|
606
599
|
"operationId": "createActivity",
|
|
607
600
|
"summary": "createActivity",
|
|
@@ -647,7 +640,7 @@
|
|
|
647
640
|
}
|
|
648
641
|
}
|
|
649
642
|
},
|
|
650
|
-
"/activity/{id}": {
|
|
643
|
+
"/v1/entity/activity/{id}": {
|
|
651
644
|
"get": {
|
|
652
645
|
"operationId": "getActivity",
|
|
653
646
|
"summary": "getActivity",
|
|
@@ -680,7 +673,7 @@
|
|
|
680
673
|
}
|
|
681
674
|
}
|
|
682
675
|
},
|
|
683
|
-
"/activity/{id}:attach": {
|
|
676
|
+
"/v1/entity/activity/{id}:attach": {
|
|
684
677
|
"post": {
|
|
685
678
|
"operationId": "attachActivity",
|
|
686
679
|
"summary": "attachActivity",
|
|
@@ -726,7 +719,7 @@
|
|
|
726
719
|
}
|
|
727
720
|
}
|
|
728
721
|
},
|
|
729
|
-
"/entity/{slug}/{id}/activity": {
|
|
722
|
+
"/v1/entity/{slug}/{id}/activity": {
|
|
730
723
|
"get": {
|
|
731
724
|
"operationId": "getEntityActivityFeed",
|
|
732
725
|
"summary": "getEntityActivityFeed",
|
|
@@ -826,66 +819,6 @@
|
|
|
826
819
|
}
|
|
827
820
|
}
|
|
828
821
|
}
|
|
829
|
-
},
|
|
830
|
-
"/blueprints": {
|
|
831
|
-
"get": {
|
|
832
|
-
"operationId": "searchAvailableBlueprints",
|
|
833
|
-
"summary": "searchAvailableBlueprints",
|
|
834
|
-
"tags": [
|
|
835
|
-
"Blueprints"
|
|
836
|
-
],
|
|
837
|
-
"responses": {
|
|
838
|
-
"200": {
|
|
839
|
-
"description": "Success",
|
|
840
|
-
"content": {
|
|
841
|
-
"application/json": {
|
|
842
|
-
"schema": {
|
|
843
|
-
"type": "object",
|
|
844
|
-
"properties": {
|
|
845
|
-
"results": {
|
|
846
|
-
"type": "array",
|
|
847
|
-
"items": {
|
|
848
|
-
"$ref": "#/components/schemas/Blueprint"
|
|
849
|
-
}
|
|
850
|
-
}
|
|
851
|
-
}
|
|
852
|
-
}
|
|
853
|
-
}
|
|
854
|
-
}
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
}
|
|
858
|
-
},
|
|
859
|
-
"/blueprints/{id}": {
|
|
860
|
-
"get": {
|
|
861
|
-
"operationId": "getBlueprint",
|
|
862
|
-
"summary": "getBlueprint",
|
|
863
|
-
"tags": [
|
|
864
|
-
"Blueprints"
|
|
865
|
-
],
|
|
866
|
-
"parameters": [
|
|
867
|
-
{
|
|
868
|
-
"in": "path",
|
|
869
|
-
"name": "id",
|
|
870
|
-
"required": true,
|
|
871
|
-
"schema": {
|
|
872
|
-
"$ref": "#/components/schemas/BlueprintId"
|
|
873
|
-
}
|
|
874
|
-
}
|
|
875
|
-
],
|
|
876
|
-
"responses": {
|
|
877
|
-
"200": {
|
|
878
|
-
"description": "Success",
|
|
879
|
-
"content": {
|
|
880
|
-
"application/json": {
|
|
881
|
-
"schema": {
|
|
882
|
-
"$ref": "#/components/schemas/Blueprint"
|
|
883
|
-
}
|
|
884
|
-
}
|
|
885
|
-
}
|
|
886
|
-
}
|
|
887
|
-
}
|
|
888
|
-
}
|
|
889
822
|
}
|
|
890
823
|
},
|
|
891
824
|
"components": {
|
|
@@ -893,13 +826,8 @@
|
|
|
893
826
|
"EpilotAuth": {
|
|
894
827
|
"type": "http",
|
|
895
828
|
"scheme": "bearer",
|
|
896
|
-
"description": "
|
|
897
|
-
|
|
898
|
-
"AsOrganization": {
|
|
899
|
-
"type": "apiKey",
|
|
900
|
-
"in": "header",
|
|
901
|
-
"name": "x-ivy-org-id",
|
|
902
|
-
"description": "Set organization id when using internal auth"
|
|
829
|
+
"description": "Authorization header with epilot OAuth2 bearer token",
|
|
830
|
+
"bearerFormat": "JWT"
|
|
903
831
|
}
|
|
904
832
|
},
|
|
905
833
|
"schemas": {
|
|
@@ -990,6 +918,11 @@
|
|
|
990
918
|
"properties": {
|
|
991
919
|
"expanded": {
|
|
992
920
|
"type": "boolean"
|
|
921
|
+
},
|
|
922
|
+
"order": {
|
|
923
|
+
"description": "Render order of the group",
|
|
924
|
+
"type": "integer",
|
|
925
|
+
"default": 0
|
|
993
926
|
}
|
|
994
927
|
}
|
|
995
928
|
},
|
|
@@ -1118,9 +1051,6 @@
|
|
|
1118
1051
|
{
|
|
1119
1052
|
"$ref": "#/components/schemas/UserRelationAttribute"
|
|
1120
1053
|
},
|
|
1121
|
-
{
|
|
1122
|
-
"$ref": "#/components/schemas/TaxRelationAttribute"
|
|
1123
|
-
},
|
|
1124
1054
|
{
|
|
1125
1055
|
"$ref": "#/components/schemas/CurrencyAttribute"
|
|
1126
1056
|
},
|
|
@@ -1616,29 +1546,6 @@
|
|
|
1616
1546
|
}
|
|
1617
1547
|
]
|
|
1618
1548
|
},
|
|
1619
|
-
"TaxRelationAttribute": {
|
|
1620
|
-
"allOf": [
|
|
1621
|
-
{
|
|
1622
|
-
"$ref": "#/components/schemas/BaseAttribute"
|
|
1623
|
-
},
|
|
1624
|
-
{
|
|
1625
|
-
"type": "object",
|
|
1626
|
-
"description": "Tax Relationship",
|
|
1627
|
-
"properties": {
|
|
1628
|
-
"type": {
|
|
1629
|
-
"type": "string",
|
|
1630
|
-
"enum": [
|
|
1631
|
-
"relation_tax"
|
|
1632
|
-
]
|
|
1633
|
-
},
|
|
1634
|
-
"multiple": {
|
|
1635
|
-
"type": "boolean",
|
|
1636
|
-
"default": true
|
|
1637
|
-
}
|
|
1638
|
-
}
|
|
1639
|
-
}
|
|
1640
|
-
]
|
|
1641
|
-
},
|
|
1642
1549
|
"RepeatableAttribute": {
|
|
1643
1550
|
"allOf": [
|
|
1644
1551
|
{
|
|
@@ -2460,29 +2367,8 @@
|
|
|
2460
2367
|
}
|
|
2461
2368
|
]
|
|
2462
2369
|
},
|
|
2463
|
-
"BlueprintId": {
|
|
2464
|
-
"type": "string",
|
|
2465
|
-
"format": "uuid"
|
|
2466
|
-
},
|
|
2467
|
-
"Blueprint": {
|
|
2468
|
-
"type": "object",
|
|
2469
|
-
"properties": {
|
|
2470
|
-
"id": {
|
|
2471
|
-
"$ref": "#/components/schemas/BlueprintId"
|
|
2472
|
-
},
|
|
2473
|
-
"name": {
|
|
2474
|
-
"type": "string",
|
|
2475
|
-
"example": "Power & Gas Utilities"
|
|
2476
|
-
},
|
|
2477
|
-
"schemas": {
|
|
2478
|
-
"type": "array",
|
|
2479
|
-
"items": {
|
|
2480
|
-
"$ref": "#/components/schemas/EntitySchema"
|
|
2481
|
-
}
|
|
2482
|
-
}
|
|
2483
|
-
}
|
|
2484
|
-
},
|
|
2485
2370
|
"BlueprintEntityId": {
|
|
2371
|
+
"description": "Reference to blueprint",
|
|
2486
2372
|
"type": "string",
|
|
2487
2373
|
"format": "uuid"
|
|
2488
2374
|
}
|